[PATCH] D24661: More processors support under AARch64 state for auto detection.

Suprateeka R Hegde via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 21 09:37:45 PDT 2016


James,

Thanks a lot for the assertions. A setup issue in my environment masked 
this error. There was a local DNS issue (re-registrations) and my ssh 
sessions were landing on my ARM Juno Board! Did not even get a clue that 
this is happening. After the initial detection code, I was using 
-mcpu=native (assuming I am testing on xgene1) and CRC test passed.

And since the test passed, I also asserted with confidence :-)
Absolutely sorry for that. I have fixed this now.

(And in addition to xgene1, since I also added cortex-a57 and cortex-a72 
in my code, the -mcpu=native was as good as explicit -mcpu=cortex-a72. 
All of these added to the test passing)

Thanks a lot for the catch.

--
Supra

On 21-Sep-2016 08:19 PM, James Greenhalgh wrote:
> On Wed, Sep 21, 2016 at 07:52:36PM +0530, Suprateeka R Hegde wrote:
>> On 20-Sep-2016 09:44 PM, James Greenhalgh wrote:
>>> jgreenhalgh added a subscriber: jgreenhalgh.
>>>
>>> ================ Comment at: lib/Target/AArch64/AArch64.td:259 @@
>>> +258,3 @@ +                                   "AppliedMicro (APM)
>>> X-Gene-1 processors", [ + FeatureCRC, + FeatureFPARMv8,
>>> ---------------- This disagrees with the GCC implementation of
>>> -mcpu=xgene1 and the xgene-1 processors available in the GCC compile
>>> farm (gcc113.osuosl.org is an APM X-Gene Mustang board). Are you
>>> sure that the CRC feature should be enabled?
>>
>> Yes. I am sure. Only the crypto (optional as per ARMv8-A specs) is
>> missing on the first version of X-Gene (xgene1).
>>
>> Are you talking about making it default? In that case I am OK with
>> wither -mcpu=xgene1+crc (explicitly mention) or -mcpu=xgene1 (implicit;y
>> enable CRC).
>>
>> BTW, this need not match with GCC. Its all about documentation later on.
>
> The X-Gene-1 machines I have access to do not have the CRC feature (also
> optional as per ARMv8-A specs). I believe X-Gene 2 is the first generation
> of X-Gene processors to support the CRC extension.
>
> If you look at /proc/cpuinfo on any of the GCC compile farm X-Gene 1 machines
> you'll find that the features string does not contain crc32:
>
>   Features	: fp asimd evtstrm
>
> The compile farm machines are APM Mustang boards, but the Moonshot I have
> access to also shows no CRC extension in features. For contrast, this is what
> /proc/cpuinfo shows on a Cortex-A57 platform I have access to:
>
>   Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32
>
> This shows the optional Cryptography extensions (aes, pmull, sha1, sha2)
> and the optional CRC extensions (crc32) as supported for this implementation
> of Cortex-A57.
>
> The implementations in GCC and the GNU assembler reflect this. -mcpu=xgene1
> will not enable the CRC extension as the configurations of X-Gene 1 that
> we have access to do not support the CRC extension.
>
> I would find it surprising if passing -mcpu=xgene1 to Clang enabled
> generation of instructions from the CRC extension, as these would cause a
> SIGILL on my (and as far as I am aware, all) X-Gene 1 machines.
>
> Thanks,
> James
>


More information about the llvm-commits mailing list