summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-05-13 19:56:20 +0000
committerChris Lattner <sabre@nondot.org>2008-05-13 19:56:20 +0000
commit03ce206143c56e18f3c087bb259625b770b91985 (patch)
treecab05b15576b43b6df6bddec49c2d1466fb811aa /llvm/lib/Target
parentf8ab712fa940874ef6cd4b045532d0eeb49d99c8 (diff)
downloadbcm5719-llvm-03ce206143c56e18f3c087bb259625b770b91985.tar.gz
bcm5719-llvm-03ce206143c56e18f3c087bb259625b770b91985.zip
add a note
llvm-svn: 51062
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/README-SSE.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README-SSE.txt b/llvm/lib/Target/X86/README-SSE.txt
index 5f114a855f0..61649726e38 100644
--- a/llvm/lib/Target/X86/README-SSE.txt
+++ b/llvm/lib/Target/X86/README-SSE.txt
@@ -787,5 +787,23 @@ _foo2:
In sse4 mode, we could use insertps to make both better.
+Here's another testcase that could use insertps [mem]:
+
+#include <xmmintrin.h>
+extern float x2, x3;
+__m128 foo1 (float x1, float x4) {
+ return _mm_set_ps (x2, x1, x3, x4);
+}
+
+gcc mainline compiles it to:
+
+foo1:
+ insertps $0x10, x2(%rip), %xmm0
+ insertps $0x10, x3(%rip), %xmm1
+ movaps %xmm1, %xmm2
+ movlhps %xmm0, %xmm2
+ movaps %xmm2, %xmm0
+ ret
+
//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud