[PATCH] D76296: [ARM,CDE] Implement GPR CDE intrinsics

Mikhail Maltsev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 17 10:11:06 PDT 2020


miyuki created this revision.
miyuki added reviewers: simon_tatham, MarkMurrayARM, dmgreen, ostannard.
Herald added subscribers: cfe-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: clang.
miyuki added a parent revision: D76298: [ARM,CDE] Implement CDE S and D-register intrinsics.
miyuki removed a parent revision: D76298: [ARM,CDE] Implement CDE S and D-register intrinsics.
miyuki added a child revision: D76298: [ARM,CDE] Implement CDE S and D-register intrinsics.

This change implements ACLE CDE intrinsics that translate to
instructions working with general-purpose registers.

The specification is available at
https://static.docs.arm.com/101028/0010/ACLE_2019Q4_release-0010.pdf

Each ACLE intrinsic gets a corresponding LLVM IR intrinsic (because
they have distinct function prototypes). Dual-register operands are
represented as pairs of i32 values. Because of this the instruction
selection for these intrinsics cannot be represented as TableGen
patterns and requires custom C++ code.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76296

Files:
  clang/include/clang/Basic/arm_cde.td
  clang/test/CodeGen/arm-cde-gpr.c
  clang/test/Sema/arm-cde-immediates.c
  llvm/include/llvm/IR/IntrinsicsARM.td
  llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
  llvm/lib/Target/ARM/ARMInstrCDE.td
  llvm/test/CodeGen/Thumb2/cde-gpr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76296.250807.patch
Type: text/x-patch
Size: 26640 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200317/fcbee9b5/attachment-0001.bin>


More information about the cfe-commits mailing list