This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME] Fix v8.6a bf16 NEON instruction predication
ClosedPublic

Authored by c-rhodes on Aug 18 2021, 1:41 AM.

Details

Summary

In streaming mode on SME targets only the scalar BFCVT armv8.6-a
instruction is legal, predicate the illegal instructions on NEON to
disable them in streaming mode (see D107902). BFCVT is predicated on
HasNEONorStreamingSVE.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06/SIMD-FP-Instructions

Diff Detail

Event Timeline

c-rhodes created this revision.Aug 18 2021, 1:41 AM
c-rhodes requested review of this revision.Aug 18 2021, 1:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 18 2021, 1:41 AM
paulwalker-arm accepted this revision.Aug 18 2021, 5:06 AM
paulwalker-arm added inline comments.
llvm/test/MC/AArch64/SME/streaming-mode-neon-negative.s
2

Do you need another RUN line here? Given this file is all about verifying +neon isn't implicitly enabled, I would have assumed a single RUN line with all feature flags is sufficient.

This revision is now accepted and ready to land.Aug 18 2021, 5:06 AM
c-rhodes added inline comments.Aug 18 2021, 5:15 AM
llvm/test/MC/AArch64/SME/streaming-mode-neon-negative.s
2

Do you need another RUN line here? Given this file is all about verifying +neon isn't implicitly enabled, I would have assumed a single RUN line with all feature flags is sufficient.

I suppose not, I'll remove it and and bf16 to the existing line before landing, cheers

Matt added a subscriber: Matt.Aug 23 2021, 10:45 AM
This revision was landed with ongoing or failed builds.Aug 24 2021, 1:37 AM
This revision was automatically updated to reflect the committed changes.