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