This is an archive of the discontinued LLVM Phabricator instance.

[ARM][MVE][Intrinsics] Add MVE VABD intrinsics.
ClosedPublic

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

Diff Detail

Event Timeline

MarkMurrayARM created this revision.Nov 21 2019, 10:02 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptNov 21 2019, 10:02 AM
dmgreen added inline comments.Nov 25 2019, 2:44 AM
clang/include/clang/Basic/arm_mve.td
33

Can this and vadbqf below be combined into one using T.Usual?

I believe the differences only usually come from "fadd" being different to "add". If they are both intrinsics (which sounds good to me for abd), then they can more happily live together.

clang/test/CodeGen/arm-mve-intrinsics/vabdq.c
14

More tests please.

Merge all VABD intrinis types under T.Usual instead of doing the floats
separately.

Add more tests.

MarkMurrayARM marked 2 inline comments as done.Nov 25 2019, 8:52 AM

Rebase and reupload patches.

This mostly LGTM: only a handful of nits.

clang/include/clang/Basic/arm_mve.td
45

Can you wrap this line to 80 columns, please? I've been trying to fit the rest of the file in that width.

llvm/lib/Target/ARM/ARMInstrMVE.td
1671

This new template parameter iname seems to be redundant, since I can't see anywhere you set it to anything other than "vabd".

2959

Similarly here: iname is an unnecessary extra template parameter.

MarkMurrayARM marked 3 inline comments as done.Nov 26 2019, 5:27 AM

Respond to review comments.

simon_tatham accepted this revision.Nov 26 2019, 5:44 AM
This revision is now accepted and ready to land.Nov 26 2019, 5:44 AM
This revision was automatically updated to reflect the committed changes.