This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Add remaining SVE2 intrinsics for widening DSP operations
ClosedPublic

Authored by kmclaughlin on Feb 3 2020, 9:03 AM.

Details

Summary

Implements the following intrinsics:

  • llvm.aarch64.sve.[s|u]mullb_lane
  • llvm.aarch64.sve.[s|u]mullt_lane
  • llvm.aarch64.sve.sqdmullb_lane
  • llvm.aarch64.sve.sqdmullt_lane
  • llvm.aarch64.sve.[s|u]addwb
  • llvm.aarch64.sve.[s|u]addwt
  • llvm.aarch64.sve.[s|u]shllb
  • llvm.aarch64.sve.[s|u]shllt
  • llvm.aarch64.sve.[s|u]subwb
  • llvm.aarch64.sve.[s|u]subwt

Diff Detail

Event Timeline

kmclaughlin created this revision.Feb 3 2020, 9:03 AM
Herald added a project: Restricted Project. · View Herald Transcript
sdesmalen added inline comments.Feb 5 2020, 5:51 AM
llvm/include/llvm/IR/IntrinsicsAArch64.td
1927

nit: why are you moving these?

kmclaughlin marked an inline comment as done.Feb 5 2020, 9:38 AM
kmclaughlin added inline comments.
llvm/include/llvm/IR/IntrinsicsAArch64.td
1927

I thought it made sense for them to be in the same category as the SVE2 mul & mul_lane intrinsics above as they are also "widening DSP operations". I'm happy to leave these where they are though.

  • Rebased & moved new intrinsics under the existing headers in IntrinsicsAArch64.td
sdesmalen accepted this revision.Feb 18 2020, 2:02 AM

LGTM!

llvm/include/llvm/IR/IntrinsicsAArch64.td
1113

nit: unnecessary change

This revision is now accepted and ready to land.Feb 18 2020, 2:02 AM
This revision was automatically updated to reflect the committed changes.