This is an archive of the discontinued LLVM Phabricator instance.

[ARM][MVE][Intrinsics] Add MVE VAND/VORR/VORN/VEOR/VBIC intrinsics.
ClosedPublic

Authored by MarkMurrayARM on Nov 21 2019, 10:04 AM.

Event Timeline

MarkMurrayARM created this revision.Nov 21 2019, 10:04 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptNov 21 2019, 10:04 AM

Rebase and reupload patches.

simon_tatham added inline comments.Nov 26 2019, 3:32 AM
clang/include/clang/Basic/arm_mve.td
68

I think it's worth adding a comment here explaining why this bitcasting isn't overcomplicating the IR in the integer case. (Because Vector and UVector may be different vector types at the C level – vectors of signed/unsigned ints of the same size – but once they're lowered to IR, they're just vectors of i16 or i32 or whatever, with no sign at all, so the bitcasts will be automatically elided by IRBuilder.)

MarkMurrayARM marked an inline comment as done.Nov 26 2019, 5:35 AM

Respond to review comments.

simon_tatham accepted this revision.Nov 26 2019, 5:45 AM

LGTM, though I spotted a couple of even tinier last-minute nits.

clang/include/clang/Basic/arm_mve.td
68

Typos: "ame" and "igned" should be "same" and "signed".

72

Another long line.

This revision is now accepted and ready to land.Nov 26 2019, 5:45 AM
MarkMurrayARM marked 2 inline comments as done.Nov 26 2019, 5:48 AM
This revision was automatically updated to reflect the committed changes.