summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2009-08-08 18:07:59 +0000
committerEric Christopher <echristo@apple.com>2009-08-08 18:07:59 +0000
commit31cceaeb680cc53e76e1261bc53d60b0844d607e (patch)
tree44734ce6e135cb496311e70b11ba9619f38c793a
parent453878bed417b8174bda86814cc09226ff8c75f0 (diff)
downloadbcm5719-llvm-31cceaeb680cc53e76e1261bc53d60b0844d607e.tar.gz
bcm5719-llvm-31cceaeb680cc53e76e1261bc53d60b0844d607e.zip
Define intrinsics for crc instruction.
llvm-svn: 78482
-rw-r--r--llvm/include/llvm/IntrinsicsX86.td20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/include/llvm/IntrinsicsX86.td b/llvm/include/llvm/IntrinsicsX86.td
index 11cfe977ebc..cf36dd1820c 100644
--- a/llvm/include/llvm/IntrinsicsX86.td
+++ b/llvm/include/llvm/IntrinsicsX86.td
@@ -878,6 +878,26 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
}
//===----------------------------------------------------------------------===//
+// SSE4.2
+
+// Miscellaneous
+// CRC Instruction
+let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
+ def int_x86_sse42_crc32_8 : GCCBuiltin<"__builtin_ia32_crc32qi">,
+ Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
+ def int_x86_sse42_crc32_16 : GCCBuiltin<"__builtin_ia32_crc32hi">,
+ Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
+ def int_x86_sse42_crc32_32 : GCCBuiltin<"__builtin_ia32_crc32si">,
+ Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
+ def int_x86_sse42_crc32_64 : GCCBuiltin<"__builtin_ia32_crc32di">,
+ Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i8_ty],
+ [IntrNoMem]>;
+}
+
+//===----------------------------------------------------------------------===//
// MMX
// Empty MMX state op.
OpenPOWER on IntegriCloud