aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-24 00:04:52 +0000
committerChris Lattner <sabre@nondot.org>2006-03-24 00:04:52 +0000
commitcf87e97b4f503e04ee8de031282e92adb3f6766d (patch)
treef7c1372779b628574a30f48ab06a97c318dc243e
parentcbe3a78f4a8bdebf949a980753791434d7f78de2 (diff)
Add a couple simple intrinsics for intel. Fix the v2f64 definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27018 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Intrinsics.td20
1 files changed, 19 insertions, 1 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index af7973b9f8..cceabf70b4 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -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