This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Implement punpk[hi|lo] intrinsics
ClosedPublic

Authored by kmclaughlin on Sep 20 2019, 6:15 AM.

Details

Summary

Adds the following two intrinsics:

  • int_aarch64_sve_punpkhi
  • int_aarch64_sve_punpklo

This patch also contains a fix which allows LLVMHalfElementsVectorType
to forward reference overloadable arguments.

Diff Detail

Event Timeline

kmclaughlin created this revision.Sep 20 2019, 6:15 AM
Herald added a project: Restricted Project. · View Herald Transcript
sdesmalen accepted this revision.Sep 20 2019, 6:30 AM

LGTM. Looks like a straightforward fix and support for punpk(hi|lo) intrinsics.

llvm/lib/IR/Function.cpp
1213

Nice find!

llvm/test/CodeGen/AArch64/sve-intrinsics-pred-operations.ll
1

nit: You've added the file sve-intrinsics-pred-operations.ll. Is it worth putting these in a separate directory and separate out the tests per intrinsic, e.g. test/CodeGen/AArch64/SVE/sve-intrinsics-punpkhi.ll

This revision is now accepted and ready to land.Sep 20 2019, 6:30 AM
This revision was automatically updated to reflect the committed changes.