This is an archive of the discontinued LLVM Phabricator instance.

[ARM][MVE] Add complex vector intrinsics
ClosedPublic

Authored by miyuki on Dec 9 2019, 2:59 AM.

Details

Summary

This patch adds intrinsics for the following MVE instructions:

  • VCADD, VHCADD
  • VCMUL
  • VCMLA

Each of the above 3 groups has a corresponding new LLVM IR intrinsic.

Diff Detail

Event Timeline

miyuki created this revision.Dec 9 2019, 2:59 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptDec 9 2019, 2:59 AM

Build result: pass - 60621 tests passed, 0 failed and 726 were skipped.

Log files: console-log.txt, CMakeCache.txt

MarkMurrayARM accepted this revision.Dec 9 2019, 3:57 AM

LGTM

llvm/include/llvm/IR/IntrinsicsARM.td
932

I like this!!

This revision is now accepted and ready to land.Dec 9 2019, 3:57 AM
This revision was automatically updated to reflect the committed changes.
dmgreen added inline comments.Dec 9 2019, 5:04 AM
llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
2537

How come there is so much C++ code here, as opposed to using tablegen like all the other intrinsics?