This is an archive of the discontinued LLVM Phabricator instance.

[clang][SVE] Add support for arithmetic operators on SVE types
ClosedPublic

Authored by DavidTruby on Feb 22 2022, 6:44 AM.

Details

Summary

This patch implements support for the +, -, *, / and % operators on sizeless SVE
types. Support for these operators on svbool_t is excluded.

Diff Detail

Event Timeline

DavidTruby created this revision.Feb 22 2022, 6:44 AM
DavidTruby requested review of this revision.Feb 22 2022, 6:44 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 22 2022, 6:44 AM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Is there a corresponding ARM specification update for this?

Is there a corresponding ARM specification update for this?

We are planning on updating the specification in future for this but are waiting on some other changes first. What we're intending to do here is just match the behaviour of the NEON types, for which these operators are already supported, as closely as possible.
Since there is also nothing in the spec about operators on NEON types, we didn't think there was a need to hold up the implementation to wait for the spec.

bsmith added a comment.Mar 4 2022, 7:15 AM

This all looks reasonable to me, but I'll let @peterwaller-arm have the final say.

Herald added a project: Restricted Project. · View Herald TranscriptMar 4 2022, 7:15 AM
peterwaller-arm accepted this revision.Mar 7 2022, 2:49 AM
This revision is now accepted and ready to land.Mar 7 2022, 2:49 AM
DavidTruby updated this revision to Diff 413470.Mar 7 2022, 7:29 AM

Add tests for in-place operators