From cf87e97b4f503e04ee8de031282e92adb3f6766d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 24 Mar 2006 00:04:52 +0000 Subject: [PATCH] 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 --- include/llvm/Intrinsics.td | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index af7973b9f88..cceabf70b49 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