summaryrefslogtreecommitdiff
path: root/include/llvm/IR/IntrinsicsARM.td
diff options
context:
space:
mode:
authorJoey Gouly <joey.gouly@arm.com>2013-09-18 09:45:55 +0000
committerJoey Gouly <joey.gouly@arm.com>2013-09-18 09:45:55 +0000
commita4d46d7fc6431ec3576839f11cb61862b784cb3e (patch)
tree742469ac353bc138471824635ad9006ab0dee77d /include/llvm/IR/IntrinsicsARM.td
parent163df38bdf365ac743fa0e1067441dc7f0800bed (diff)
downloadllvm-a4d46d7fc6431ec3576839f11cb61862b784cb3e.tar.gz
llvm-a4d46d7fc6431ec3576839f11cb61862b784cb3e.tar.bz2
llvm-a4d46d7fc6431ec3576839f11cb61862b784cb3e.tar.xz
[ARMv8] Add CRC instructions.
Patch by Bradley Smith! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/IR/IntrinsicsARM.td')
-rw-r--r--include/llvm/IR/IntrinsicsARM.td16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/IR/IntrinsicsARM.td b/include/llvm/IR/IntrinsicsARM.td
index 80affe6bff..a2f062024b 100644
--- a/include/llvm/IR/IntrinsicsARM.td
+++ b/include/llvm/IR/IntrinsicsARM.td
@@ -97,6 +97,22 @@ def int_arm_mcrr2 : GCCBuiltin<"__builtin_arm_mcrr2">,
llvm_i32_ty, llvm_i32_ty], []>;
//===----------------------------------------------------------------------===//
+// CRC32
+
+def int_arm_crc32b : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem]>;
+def int_arm_crc32cb : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem]>;
+def int_arm_crc32h : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem]>;
+def int_arm_crc32ch : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem]>;
+def int_arm_crc32w : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem]>;
+def int_arm_crc32cw : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
+ [IntrNoMem]>;
+
+//===----------------------------------------------------------------------===//
// Advanced SIMD (NEON)
// The following classes do not correspond directly to GCC builtins.