[llvm-commits] CVS: llvm/include/llvm/IntrinsicsX86.td

Evan Cheng evan.cheng at apple.com
Fri Mar 31 13:28:59 PST 2006



Changes in directory llvm/include/llvm:

IntrinsicsX86.td updated: 1.7 -> 1.8
---
Log message:

Added haddp{s|d} and hsubp{s|d} intrinsics.


---
Diffs of the changes:  (+19 -0)

 IntrinsicsX86.td |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+)


Index: llvm/include/llvm/IntrinsicsX86.td
diff -u llvm/include/llvm/IntrinsicsX86.td:1.7 llvm/include/llvm/IntrinsicsX86.td:1.8
--- llvm/include/llvm/IntrinsicsX86.td:1.7	Thu Mar 30 00:21:22 2006
+++ llvm/include/llvm/IntrinsicsX86.td	Fri Mar 31 15:28:46 2006
@@ -199,3 +199,22 @@
   def int_x86_sse2_pmovmskb_128 : GCCBuiltin<"__builtin_ia32_pmovmskb128">,
               Intrinsic<[llvm_int_ty, llvm_v16i8_ty], [InstrNoMem]>;
 }
+
+//===----------------------------------------------------------------------===//
+// SSE3
+
+// Horizontal ops.
+let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
+  def int_x86_sse3_hadd_ps : GCCBuiltin<"__builtin_ia32_haddps">,
+              Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
+                         llvm_v4f32_ty], [InstrNoMem]>;
+  def int_x86_sse3_hadd_pd : GCCBuiltin<"__builtin_ia32_haddpd">,
+              Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
+                         llvm_v2f64_ty], [InstrNoMem]>;
+  def int_x86_sse3_hsub_ps : GCCBuiltin<"__builtin_ia32_hsubps">,
+              Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty,
+                         llvm_v4f32_ty], [InstrNoMem]>;
+  def int_x86_sse3_hsub_pd : GCCBuiltin<"__builtin_ia32_hsubpd">,
+              Intrinsic<[llvm_v2f64_ty, llvm_v2f64_ty,
+                         llvm_v2f64_ty], [InstrNoMem]>;
+}






More information about the llvm-commits mailing list