diff mbox series

[1/2] target/riscv: Tentatively remove Zhinx* from ISA extension string

Message ID cfda1d8da254f2e723e487f0c738c59d5891e492.1650777360.git.research_trasio@irq.a4lg.com
State New
Headers show
Series target/riscv: ISA string conversion fix and enhancement | expand

Commit Message

Tsukasa OI April 24, 2022, 5:22 a.m. UTC
This commit disables ISA string conversion for Zhinx and Zhinxmin
extensions for now.  Because extension category ordering of "H" is not
ratified, their ordering is likely invalid.

Once "H"-extension ordering is determined, we can add Zhinx* again.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
---
 target/riscv/cpu.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Alistair Francis April 27, 2022, 11:58 p.m. UTC | #1
On Sun, Apr 24, 2022 at 3:22 PM Tsukasa OI <research_trasio@irq.a4lg.com> wrote:
>
> This commit disables ISA string conversion for Zhinx and Zhinxmin
> extensions for now.  Because extension category ordering of "H" is not
> ratified, their ordering is likely invalid.
>
> Once "H"-extension ordering is determined, we can add Zhinx* again.
>
> Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>

Weiwei Li does this sound alright to you?

Alistair

> ---
>  target/riscv/cpu.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index 0c774056c5..c765f7ff00 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -954,8 +954,6 @@ static void riscv_isa_string_ext(RISCVCPU *cpu, char **isa_str, int max_str_len)
>          ISA_EDATA_ENTRY(zfh, ext_zfh),
>          ISA_EDATA_ENTRY(zfhmin, ext_zfhmin),
>          ISA_EDATA_ENTRY(zfinx, ext_zfinx),
> -        ISA_EDATA_ENTRY(zhinx, ext_zhinx),
> -        ISA_EDATA_ENTRY(zhinxmin, ext_zhinxmin),
>          ISA_EDATA_ENTRY(zdinx, ext_zdinx),
>          ISA_EDATA_ENTRY(zba, ext_zba),
>          ISA_EDATA_ENTRY(zbb, ext_zbb),
> --
> 2.32.0
>
Weiwei Li April 28, 2022, 2:39 a.m. UTC | #2
在 2022/4/28 上午7:58, Alistair Francis 写道:
> On Sun, Apr 24, 2022 at 3:22 PM Tsukasa OI <research_trasio@irq.a4lg.com> wrote:
>> This commit disables ISA string conversion for Zhinx and Zhinxmin
>> extensions for now.  Because extension category ordering of "H" is not
>> ratified, their ordering is likely invalid.
>>
>> Once "H"-extension ordering is determined, we can add Zhinx* again.
>>
>> Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
> Weiwei Li does this sound alright to you?
>
> Alistair

Even though the rule says: "The first letter following the 'Z' 
conventionally indicates the most closely

related alphabetical extension category, IMAFDQLCBKJTPVH", zhinx* is not 
related to 'H' extension actually.

I think the most closely related alphabetical extension is 'F' extension.

Regards,

Weiwei Li

>> ---
>>   target/riscv/cpu.c | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
>> index 0c774056c5..c765f7ff00 100644
>> --- a/target/riscv/cpu.c
>> +++ b/target/riscv/cpu.c
>> @@ -954,8 +954,6 @@ static void riscv_isa_string_ext(RISCVCPU *cpu, char **isa_str, int max_str_len)
>>           ISA_EDATA_ENTRY(zfh, ext_zfh),
>>           ISA_EDATA_ENTRY(zfhmin, ext_zfhmin),
>>           ISA_EDATA_ENTRY(zfinx, ext_zfinx),
>> -        ISA_EDATA_ENTRY(zhinx, ext_zhinx),
>> -        ISA_EDATA_ENTRY(zhinxmin, ext_zhinxmin),
>>           ISA_EDATA_ENTRY(zdinx, ext_zdinx),
>>           ISA_EDATA_ENTRY(zba, ext_zba),
>>           ISA_EDATA_ENTRY(zbb, ext_zbb),
>> --
>> 2.32.0
>>
Tsukasa OI May 10, 2022, 11:25 a.m. UTC | #3
On 2022/04/28 11:39, Weiwei Li wrote:
> 
> 在 2022/4/28 上午7:58, Alistair Francis 写道:
>> On Sun, Apr 24, 2022 at 3:22 PM Tsukasa OI <research_trasio@irq.a4lg.com> wrote:
>>> This commit disables ISA string conversion for Zhinx and Zhinxmin
>>> extensions for now.  Because extension category ordering of "H" is not
>>> ratified, their ordering is likely invalid.
>>>
>>> Once "H"-extension ordering is determined, we can add Zhinx* again.
>>>
>>> Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
>> Weiwei Li does this sound alright to you?
>>
>> Alistair
> 
> Even though the rule says: "The first letter following the 'Z' conventionally indicates the most closely
> 
> related alphabetical extension category, IMAFDQLCBKJTPVH", zhinx* is not related to 'H' extension actually.
> 
> I think the most closely related alphabetical extension is 'F' extension.
> 
> Regards,
> 
> Weiwei Li

I don't quite agree that.

Although Zhinx* extensions are **functionally** related to 'F' (rather than
'H'), that's not how canonical ordering of Z* extensions works, at least
this is not how canonical ordering is implemented in GNU/LLVM toolchains.

Both toolchains orders Z* multi-letter extensions by second "character"-
first manner.

My interpretation is, Z* multi-letter extensions should be ordered by
category character (the second one) first.  Yes, it should have reflected
the most closely related single-letter extension, but it didn't happend
on Zhinx* extensions.

Thanks,

Tsukasa

> 
>>> ---
>>>   target/riscv/cpu.c | 2 --
>>>   1 file changed, 2 deletions(-)
>>>
>>> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
>>> index 0c774056c5..c765f7ff00 100644
>>> --- a/target/riscv/cpu.c
>>> +++ b/target/riscv/cpu.c
>>> @@ -954,8 +954,6 @@ static void riscv_isa_string_ext(RISCVCPU *cpu, char **isa_str, int max_str_len)
>>>           ISA_EDATA_ENTRY(zfh, ext_zfh),
>>>           ISA_EDATA_ENTRY(zfhmin, ext_zfhmin),
>>>           ISA_EDATA_ENTRY(zfinx, ext_zfinx),
>>> -        ISA_EDATA_ENTRY(zhinx, ext_zhinx),
>>> -        ISA_EDATA_ENTRY(zhinxmin, ext_zhinxmin),
>>>           ISA_EDATA_ENTRY(zdinx, ext_zdinx),
>>>           ISA_EDATA_ENTRY(zba, ext_zba),
>>>           ISA_EDATA_ENTRY(zbb, ext_zbb),
>>> -- 
>>> 2.32.0
>>>
>
diff mbox series

Patch

diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index 0c774056c5..c765f7ff00 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -954,8 +954,6 @@  static void riscv_isa_string_ext(RISCVCPU *cpu, char **isa_str, int max_str_len)
         ISA_EDATA_ENTRY(zfh, ext_zfh),
         ISA_EDATA_ENTRY(zfhmin, ext_zfhmin),
         ISA_EDATA_ENTRY(zfinx, ext_zfinx),
-        ISA_EDATA_ENTRY(zhinx, ext_zhinx),
-        ISA_EDATA_ENTRY(zhinxmin, ext_zhinxmin),
         ISA_EDATA_ENTRY(zdinx, ext_zdinx),
         ISA_EDATA_ENTRY(zba, ext_zba),
         ISA_EDATA_ENTRY(zbb, ext_zbb),