On 30/04/2025 18:34, Heiko Eißfeldt wrote:
>> -      <li>FEAT_LRCPC2 (<code>+rcpc2</code>), enabled by default for
>> +      <li>FEAT_RCPC2 (<code>+rcpc2</code>), enabled by default for
>>
>> and
>>
>> -    FEAT_LRCPC3 instructions, when support for the instructions is
>> +    FEAT_RCPC3 instructions, when support for the instructions is
>>
>> These are incorrect.  The features really are FEAT_LRCPC2/3.
>>
>> Otherwise, I think these look generally like improvements.
>>
>> R.
> 
> 
> That is interesting. I did a grep on gcc trunk for 'FEAT_.*RCPC' and got this
> ./gcc/common/config/aarch64/cpuinfo.h:  FEAT_RCPC,
> ./gcc/common/config/aarch64/cpuinfo.h:  FEAT_RCPC2,
> ./gcc/common/config/aarch64/cpuinfo.h:  FEAT_RCPC3,
> ./libgcc/config/aarch64/cpuinfo.c:    setCPUFeature(FEAT_RCPC);
> ./libgcc/config/aarch64/cpuinfo.c:    setCPUFeature(FEAT_RCPC2);
> ./libgcc/config/aarch64/cpuinfo.c:    setCPUFeature(FEAT_RCPC3);
> 
> Substring "LRCPC" I see only in conjunction with hardware capabilities but 
> not features.
> 
> The documentation
> (https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gcc/AArch64-Options.html#aarch64-feature-modifiers)
> lists in chapter 3.20.1.1 "-march and -mcpu Feature Modifiers"
> 
> ‘rcpc’
> ‘rcpc2’
> ‘rcpc3’
> 
> Finally,  the substring LRCPC2 was not found in my repo at all.
> 
> H.

Yes, this is confusing.  I'd expect, though, that the FEAT_... names, 
especially in documents like this would be referring to the official name in 
the Arm ARM.  That only documents FEAT_LRCPC{,2,3}.  There's no mention at all 
of FEAT_RPCC.  I think this is why the text above references the GCC name 
(+rcpc[23]) as well.

I'll double check this tomorrow, but I think these two hunks should be removed 
if the other bits go in.  At least until we're sure what is the right text.

R.

Reply via email to