mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
X86 SSE1 SIMD load intrinsics (movhps, movlps, and movups).
llvm-svn: 27098
This commit is contained in:
parent
b58801303a
commit
35a181d293
@ -242,7 +242,7 @@ let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
|
|||||||
//
|
//
|
||||||
// SSE1
|
// SSE1
|
||||||
|
|
||||||
// Arithmetics
|
// Arithmetic ops
|
||||||
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
def int_x86_sse_addss : GCCBuiltin<"__builtin_ia32_addss">,
|
def int_x86_sse_addss : GCCBuiltin<"__builtin_ia32_addss">,
|
||||||
Intrinsic<[llvm_float_ty, llvm_float_ty,
|
Intrinsic<[llvm_float_ty, llvm_float_ty,
|
||||||
@ -351,7 +351,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
|||||||
llvm_v4f32_ty], [InstrNoMem]>;
|
llvm_v4f32_ty], [InstrNoMem]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Logical
|
// Logical ops
|
||||||
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
def int_x86_sse_andps : GCCBuiltin<"__builtin_ia32_andps">,
|
def int_x86_sse_andps : GCCBuiltin<"__builtin_ia32_andps">,
|
||||||
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
|
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
|
||||||
@ -376,7 +376,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
|||||||
llvm_v4f32_ty], [InstrNoMem]>;
|
llvm_v4f32_ty], [InstrNoMem]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comparison
|
// Comparison ops
|
||||||
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
def int_x86_sse_cmpeqss : GCCBuiltin<"__builtin_ia32_cmpeqss">,
|
def int_x86_sse_cmpeqss : GCCBuiltin<"__builtin_ia32_cmpeqss">,
|
||||||
Intrinsic<[llvm_float_ty, llvm_float_ty,
|
Intrinsic<[llvm_float_ty, llvm_float_ty,
|
||||||
@ -594,7 +594,7 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Conversion
|
// Conversion ops
|
||||||
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
def int_x86_sse_cvtss2si : GCCBuiltin<"__builtin_ia32_cvtss2si">,
|
def int_x86_sse_cvtss2si : GCCBuiltin<"__builtin_ia32_cvtss2si">,
|
||||||
Intrinsic<[llvm_int_ty, llvm_float_ty], [InstrNoMem]>;
|
Intrinsic<[llvm_int_ty, llvm_float_ty], [InstrNoMem]>;
|
||||||
@ -625,6 +625,23 @@ let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
|||||||
Intrinsic<[llvm_v4f32_ty, llvm_v2i32_ty], [InstrNoMem]>;
|
Intrinsic<[llvm_v4f32_ty, llvm_v2i32_ty], [InstrNoMem]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SIMD load ops
|
||||||
|
|
||||||
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
|
def int_x86_sse_loadhps : GCCBuiltin<"__builtin_ia32_loadhps">,
|
||||||
|
Intrinsic<[llvm_v4f32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
|
}
|
||||||
|
|
||||||
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
|
def int_x86_sse_loadlps : GCCBuiltin<"__builtin_ia32_loadlps">,
|
||||||
|
Intrinsic<[llvm_v4f32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
|
}
|
||||||
|
|
||||||
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
|
def int_x86_sse_loadups : GCCBuiltin<"__builtin_ia32_loadups">,
|
||||||
|
Intrinsic<[llvm_v4f32_ty, llvm_ptr_ty], [IntrReadMem]>;
|
||||||
|
}
|
||||||
|
|
||||||
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
|
||||||
def int_x86_sse_movmskps : GCCBuiltin<"__builtin_ia32_movmskps">,
|
def int_x86_sse_movmskps : GCCBuiltin<"__builtin_ia32_movmskps">,
|
||||||
Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [InstrNoMem]>;
|
Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [InstrNoMem]>;
|
||||||
|
Loading…
Reference in New Issue
Block a user