This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Disable __ARM_FEATURE_SVE without ACLE.
ClosedPublic

Authored by sdesmalen on Jul 29 2019, 9:59 AM.

Details

Summary

The Arm C Language Extensions for SVE document specifies that
__ARM_FEATURE_SVE should be set when the compiler supports SVE and
implements all the extensions described in the document.

This is currently not yet the case, so the feature should be disabled
until the compiler can provide all the extensions as described.

Diff Detail

Repository
rL LLVM

Event Timeline

sdesmalen created this revision.Jul 29 2019, 9:59 AM
chill edited reviewers, added: ktkachov; removed: chill.Jul 29 2019, 10:05 AM

I understand (and agree with) the reasoning of this patch, but wouldn't this also make it harder to test the current behaviour?

I mean, LLVM doesn't support officially SVE entirely, so there's no point in expecting anything to work for now. What is the coverage of the current ACLE implementation in Clang/LLVM?

If we already have the most used ones, how about adding a warning that SVE support is not complete, YMMV, etc. instead?

Thanks, I see your argument for having the feature enabled even when the ACLE is still partially supported. At the moment however, LLVM still only support the assembler/disassembler and inline asm.
We'll be working to add support for the ACLE soon, but for now having the flag enabled sets the wrong expectations.

rengolin accepted this revision.Jul 30 2019, 1:53 AM

I see, makes sense. LGTM, thanks!

This revision is now accepted and ready to land.Jul 30 2019, 1:53 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptJul 30 2019, 3:16 AM