[llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/vec_shuffle-5.ll

Evan Cheng evan.cheng at apple.com
Wed May 3 13:29:46 PDT 2006



Changes in directory llvm/test/Regression/CodeGen/X86:

vec_shuffle-5.ll added (r1.1)
---
Log message:

Use movsd to shuffle in the lowest two elements of a v4f32 / v4i32 vector when
movlps cannot be used (e.g. when load from m64 has multiple uses).


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

 vec_shuffle-5.ll |   11 +++++++++++
 1 files changed, 11 insertions(+)


Index: llvm/test/Regression/CodeGen/X86/vec_shuffle-5.ll
diff -c /dev/null llvm/test/Regression/CodeGen/X86/vec_shuffle-5.ll:1.1
*** /dev/null	Wed May  3 15:29:44 2006
--- llvm/test/Regression/CodeGen/X86/vec_shuffle-5.ll	Wed May  3 15:29:34 2006
***************
*** 0 ****
--- 1,11 ----
+ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movsd | wc -l | grep 1
+ 
+ void %test() {
+ 	%tmp1 = load <4 x float>* null
+ 	%tmp2 = shufflevector <4 x float> %tmp1, <4 x float> < float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00 >, <4 x uint> < uint 0, uint 1, uint 6, uint 7 >
+ 	%tmp3 = shufflevector <4 x float> %tmp1, <4 x float> zeroinitializer, <4 x uint> < uint 2, uint 3, uint 6, uint 7 >
+ 	%tmp4 = add <4 x float> %tmp2, %tmp3
+ 	store <4 x float> %tmp4, <4 x float>* null
+ 	ret void
+ }
+ 






More information about the llvm-commits mailing list