[llvm-commits] CVS: llvm/lib/Target/X86/README.txt
Evan Cheng
evan.cheng at apple.com
Mon May 8 23:54:18 PDT 2006
Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.103 -> 1.104
---
Log message:
Remove a completed entry.
---
Diffs of the changes: (+0 -42)
README.txt | 42 ------------------------------------------
1 files changed, 42 deletions(-)
Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.103 llvm/lib/Target/X86/README.txt:1.104
--- llvm/lib/Target/X86/README.txt:1.103 Mon May 8 16:39:45 2006
+++ llvm/lib/Target/X86/README.txt Tue May 9 01:54:05 2006
@@ -1126,48 +1126,6 @@
//===---------------------------------------------------------------------===//
-This testcase:
-
-%G1 = weak global <4 x float> zeroinitializer ; <<4 x float>*> [#uses=1]
-%G2 = weak global <4 x float> zeroinitializer ; <<4 x float>*> [#uses=1]
-%G3 = weak global <4 x float> zeroinitializer ; <<4 x float>*> [#uses=1]
-%G4 = weak global <4 x float> zeroinitializer ; <<4 x float>*> [#uses=1]
-
-implementation ; Functions:
-
-void %test() {
- %tmp = load <4 x float>* %G1 ; <<4 x float>> [#uses=2]
- %tmp2 = load <4 x float>* %G2 ; <<4 x float>> [#uses=2]
- %tmp135 = shufflevector <4 x float> %tmp, <4 x float> %tmp2, <4 x uint> < uint 0, uint 4, uint 1, uint 5 > ; <<4 x float>> [#uses=1]
- store <4 x float> %tmp135, <4 x float>* %G3
- %tmp293 = shufflevector <4 x float> %tmp, <4 x float> %tmp2, <4 x uint> < uint 1, uint undef, uint 3, uint 4 > ; <<4 x float>> [#uses=1]
- store <4 x float> %tmp293, <4 x float>* %G4
- ret void
-}
-
-Compiles (llc -march=x86 -mcpu=yonah -relocation-model=static) to:
-
-_test:
- movaps _G2, %xmm0
- movaps _G1, %xmm1
- movaps %xmm1, %xmm2
-2) shufps $3, %xmm0, %xmm2
- movaps %xmm1, %xmm3
-2) shufps $1, %xmm0, %xmm3
-1) unpcklps %xmm0, %xmm1
-2) shufps $128, %xmm2, %xmm3
-1) movaps %xmm1, _G3
- movaps %xmm3, _G4
- ret
-
-The 1) marked instructions could be scheduled better for reduced register
-pressure. The scheduling issue is more pronounced without -static.
-
-The 2) marked instructions are the lowered form of the 1,undef,3,4
-shufflevector. It seems that there should be a better way to do it :)
-
-//===---------------------------------------------------------------------===//
-
If shorter, we should use things like:
movzwl %ax, %eax
instead of:
More information about the llvm-commits
mailing list