[PATCH] D74620: [ARM,MVE] Add vector-scalar intrinsics

Mikhail Maltsev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 14 08:23:36 PST 2020


miyuki created this revision.
miyuki added reviewers: simon_tatham, dmgreen, MarkMurrayARM, ostannard.
Herald added subscribers: llvm-commits, cfe-commits, hiraditya, kristof.beyls.
Herald added projects: clang, LLVM.

This patch adds vector-scalar variants to the following families of
MVE intrinsics:

- vaddq
- vsubq
- vmulq
- vqaddq
- vqsubq
- vhaddq
- vhsubq
- vqdmulhq
- vqrdmulhq

The vector-scalar variants perform a splat operation on the scalar
operand and then perform the same operations as their vector-vector
counterparts. Code generation is done accordingly (using LLVM IR 'insert'
and 'shuffle' operations which are later converted into an ARMvdup
SDNode).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D74620

Files:
  clang/include/clang/Basic/arm_mve.td
  clang/include/clang/Basic/arm_mve_defs.td
  clang/test/CodeGen/arm-mve-intrinsics/vaddq.c
  clang/test/CodeGen/arm-mve-intrinsics/vhaddq.c
  clang/test/CodeGen/arm-mve-intrinsics/vhsubq.c
  clang/test/CodeGen/arm-mve-intrinsics/vmulq.c
  clang/test/CodeGen/arm-mve-intrinsics/vqaddq.c
  clang/test/CodeGen/arm-mve-intrinsics/vqdmulhq.c
  clang/test/CodeGen/arm-mve-intrinsics/vqrdmulhq.c
  clang/test/CodeGen/arm-mve-intrinsics/vqsubq.c
  clang/test/CodeGen/arm-mve-intrinsics/vsubq.c
  llvm/lib/Target/ARM/ARMInstrMVE.td
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vaddq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vhaddq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vhsubq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vmulq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vqaddq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vqdmulhq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vqrdmulhq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vqsubq.ll
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vsubq.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74620.244678.patch
Type: text/x-patch
Size: 130037 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200214/00771d3e/attachment-0001.bin>


More information about the cfe-commits mailing list