This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE2] Guard while intrinsics on scalar bfloat feature macro
ClosedPublic

Authored by c-rhodes on Jun 25 2020, 9:37 AM.

Details

Summary

svwhilerw_bf16 and svwhilewr_bf16 intrinsics use the scalar bfloat16_t
type which is predicated on __ARM_FEATURE_BF16_SCALAR_ARITHMETIC. This
patch changes the feature guard from __ARM_FEATURE_SVE_BF16 to the
scalar bfloat feature macro.

The verify tests for +bf16 are also removed in this patch. The purpose
of these checks was to match the SVE2 ACLE tests that look for an
implicit declaration warning if the feature isn't set. They worked when
the intrinsics were guarded on __ARM_FEATURE_SVE_BF16 as the bfloat16_t
was guarded on a different macro, but with both the type and intrinsic
guarded on the same macro an earlier error is triggered in the ACLE
regarding the type and we don't get a warning as we do for SVE2.

Diff Detail

Event Timeline

c-rhodes created this revision.Jun 25 2020, 9:37 AM
fpetrogalli accepted this revision.Jun 25 2020, 10:47 AM
This revision is now accepted and ready to land.Jun 25 2020, 10:47 AM
This revision was automatically updated to reflect the committed changes.