From 03ce206143c56e18f3c087bb259625b770b91985 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 13 May 2008 19:56:20 +0000 Subject: [PATCH] add a note llvm-svn: 51062 --- llvm/lib/Target/X86/README-SSE.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/llvm/lib/Target/X86/README-SSE.txt b/llvm/lib/Target/X86/README-SSE.txt index 5f114a855f09..61649726e381 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 +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 + //===---------------------------------------------------------------------===//