Define intrinsics for crc instruction.
authorEric Christopher <echristo@apple.com>
Sat, 8 Aug 2009 18:07:59 +0000 (18:07 +0000)
committerEric Christopher <echristo@apple.com>
Sat, 8 Aug 2009 18:07:59 +0000 (18:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78482 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IntrinsicsX86.td

index 11cfe977ebca7c67591d5d100a14d400b8c87151..cf36dd1820c871fabcd8670c951f68dd92025641 100644 (file)
@@ -877,6 +877,26 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
                     [IntrNoMem]>;
 }
 
+//===----------------------------------------------------------------------===//
+// 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