[llvm-commits] [llvm] r40772 - /llvm/trunk/lib/Target/X86/README.txt
Chris Lattner
sabre at nondot.org
Thu Aug 2 17:17:43 PDT 2007
Author: lattner
Date: Thu Aug 2 19:17:42 2007
New Revision: 40772
URL: http://llvm.org/viewvc/llvm-project?rev=40772&view=rev
Log:
add an observation
Modified:
llvm/trunk/lib/Target/X86/README.txt
Modified: llvm/trunk/lib/Target/X86/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/README.txt?rev=40772&r1=40771&r2=40772&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/README.txt (original)
+++ llvm/trunk/lib/Target/X86/README.txt Thu Aug 2 19:17:42 2007
@@ -1103,3 +1103,30 @@
movaps %xmm1, 192(%esp)
movaps %xmm1, 224(%esp)
movaps %xmm1, 176(%esp)
+
+//===---------------------------------------------------------------------===//
+
+This is a "commutable two-address" register coallescing deficiency:
+
+define <4 x float> @test1(<4 x float> %V) {
+entry:
+ %tmp8 = shufflevector <4 x float> %V, <4 x float> undef, <4 x i32> < i32 3, i32 2, i32 1, i32 0 > ; <<4 x float>> [#uses=1]
+ %add = add <4 x float> %tmp8, %V ; <<4 x float>> [#uses=1]
+ ret <4 x float> %add
+}
+
+this codegens to:
+
+_test1:
+ pshufd $27, %xmm0, %xmm1
+ addps %xmm0, %xmm1
+ movaps %xmm1, %xmm0
+ ret
+
+instead of:
+
+_test1:
+ pshufd $27, %xmm0, %xmm1
+ addps %xmm1, %xmm0
+ ret
+
More information about the llvm-commits
mailing list