[PATCH] D75444: [ARM,MVE] Add the `vsbciq` intrinsics.

Simon Tatham via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 2 03:54:06 PST 2020


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

These are exactly parallel to the existing `vadciq` intrinsics, which
we implemented last year as part of the original MVE intrinsics
framework setup.

Just like VADC/VADCI, the MVE VSBC/VSBCI instructions deliver two
outputs, both of which the intrinsic exposes: a modified vector
register and a carry flag. So they have to be instruction-selected in
C++ rather than Tablegen. However, in this case, that's trivial: the
same C++ isel routine we already have for VADC works unchanged, and
all we have to do is to pass it a different instruction id.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75444

Files:
  clang/include/clang/Basic/arm_mve.td
  clang/test/CodeGen/arm-mve-intrinsics/vadc.c
  llvm/include/llvm/IR/IntrinsicsARM.td
  llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
  llvm/test/CodeGen/Thumb2/mve-intrinsics/vadc.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75444.247589.patch
Type: text/x-patch
Size: 20372 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200302/c794d745/attachment.bin>


More information about the llvm-commits mailing list