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
This commit is contained in:
Chris Lattner 2006-03-24 00:04:52 +00:00
parent cbe3a78f4a
commit cf87e97b4f

View 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]>;
}