Add a couple simple intrinsics for intel. Fix the v2f64 definition.
authorChris Lattner <sabre@nondot.org>
Fri, 24 Mar 2006 00:04:52 +0000 (00:04 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 24 Mar 2006 00:04:52 +0000 (00:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27018 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Intrinsics.td

index af7973b9f8833dba942acd21576fff2d05e30106..cceabf70b4916d55ac6db5a0cd520a56d7850a0a 100644 (file)
@@ -77,7 +77,7 @@ def llvm_descriptor_ty : LLVMType<"Type::PointerTyID">;     // global*
 
 def llvm_v4i32_ty      : LLVMPackedType<4, llvm_int_ty>;    // 4 x int
 def llvm_v4f32_ty      : LLVMPackedType<4, llvm_float_ty>;  // 4 x float
-def llvm_v2f64_ty      : LLVMPackedType<4, llvm_double_ty>; // 2 x double
+def llvm_v2f64_ty      : LLVMPackedType<2, llvm_double_ty>; // 2 x double
 
 //===----------------------------------------------------------------------===//
 // Intrinsic Definitions.
@@ -230,3 +230,21 @@ let TargetPrefix = "ppc" in {  // All intrinsics start with "llvm.ppc.".
                         [InstrNoMem]>;
   
 }
+
+
+//===----------------------------------------------------------------------===//
+// X86 Intrinsics
+//
+
+// SSE1
+
+let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
+  def int_x86_sse_movmskps : GCCBuiltin<"__builtin_ia32_movmskps">,
+              Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [InstrNoMem]>;
+}
+
+// SSE2
+let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
+  def int_x86_sse2_movmskpd : GCCBuiltin<"__builtin_ia32_movmskpd">,
+              Intrinsic<[llvm_int_ty, llvm_v2f64_ty], [InstrNoMem]>;
+}
\ No newline at end of file