aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-03-25 01:58:54 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-03-25 01:58:54 +0000
commita30a316110626948eeae395152714482920654c2 (patch)
tree52b06885c0c1798a7df6c780ffa8a7afbef3adfd
parent9abc80f6b3e91dfeac63027919b9eb75b9ddb00d (diff)
X86 SSE1 SIMD load intrinsics (movhps, movlps, and movups).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27098 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Intrinsics.td25
1 files changed, 21 insertions, 4 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 0aeb10817e..f7ab7abb13 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -242,7 +242,7 @@ let TargetPrefix = "ppc" in { // All intrinsics start with "llvm.ppc.".
//
// SSE1
-// Arithmetics
+// Arithmetic ops
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse_addss : GCCBuiltin<"__builtin_ia32_addss">,
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]>;
}
-// Logical
+// Logical ops
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse_andps : GCCBuiltin<"__builtin_ia32_andps">,
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]>;
}
-// Comparison
+// Comparison ops
let TargetPrefix = "x86" in { // All intrinsics start with "llvm.x86.".
def int_x86_sse_cmpeqss : GCCBuiltin<"__builtin_ia32_cmpeqss">,
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.".
def int_x86_sse_cvtss2si : GCCBuiltin<"__builtin_ia32_cvtss2si">,
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]>;
}
+// 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.".
def int_x86_sse_movmskps : GCCBuiltin<"__builtin_ia32_movmskps">,
Intrinsic<[llvm_int_ty, llvm_v4f32_ty], [InstrNoMem]>;