diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2009-01-02 05:29:08 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2009-01-02 05:29:08 +0000 |
| commit | 1671a309fd407a59b684b708ad00128cf5806c65 (patch) | |
| tree | 80ef83313b381b465aba2a4206c69edac7ccb9f7 /llvm/test | |
| parent | a17dfcd58a130667b04df5175cea2f1c110f30d7 (diff) | |
| download | bcm5719-llvm-1671a309fd407a59b684b708ad00128cf5806c65.tar.gz bcm5719-llvm-1671a309fd407a59b684b708ad00128cf5806c65.zip | |
Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory.
llvm-svn: 61555
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_extract.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_insert-2.ll | 10 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_insert-3.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_insert.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_shuffle-12.ll | 8 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/vec_shuffle-28.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/widen_arith-1.ll | 2 |
7 files changed, 15 insertions, 15 deletions
diff --git a/llvm/test/CodeGen/X86/vec_extract.ll b/llvm/test/CodeGen/X86/vec_extract.ll index b45f9398e4f..f1f009ec814 100644 --- a/llvm/test/CodeGen/X86/vec_extract.ll +++ b/llvm/test/CodeGen/X86/vec_extract.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 -o %t -f +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 -o %t -f ; RUN: grep movss %t | count 3 ; RUN: grep movhlps %t | count 1 ; RUN: grep pshufd %t | count 1 diff --git a/llvm/test/CodeGen/X86/vec_insert-2.ll b/llvm/test/CodeGen/X86/vec_insert-2.ll index a6d4f014d29..8d0bcc4fbf3 100644 --- a/llvm/test/CodeGen/X86/vec_insert-2.ll +++ b/llvm/test/CodeGen/X86/vec_insert-2.ll @@ -1,8 +1,8 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep {\$36,} | count 2 -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep shufps | count 2 -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep pinsrw | count 1 -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movhpd | count 1 -; RUN: llvm-as < %s | llc -march=x86-64 -mattr=+sse2 | grep unpcklpd | count 1 +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 | grep {\$36,} | count 2 +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 | grep shufps | count 2 +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 | grep pinsrw | count 1 +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 | grep movhpd | count 1 +; RUN: llvm-as < %s | llc -march=x86-64 -mattr=+sse2,-sse41 | grep unpcklpd | count 1 define <4 x float> @t1(float %s, <4 x float> %tmp) nounwind { %tmp1 = insertelement <4 x float> %tmp, float %s, i32 3 diff --git a/llvm/test/CodeGen/X86/vec_insert-3.ll b/llvm/test/CodeGen/X86/vec_insert-3.ll index e42a3684899..e43eca4b875 100644 --- a/llvm/test/CodeGen/X86/vec_insert-3.ll +++ b/llvm/test/CodeGen/X86/vec_insert-3.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | llc -march=x86-64 -mattr=+sse2 | grep punpcklqdq | count 1 +; RUN: llvm-as < %s | llc -march=x86-64 -mattr=+sse2,-sse41 | grep punpcklqdq | count 1 define <2 x i64> @t1(i64 %s, <2 x i64> %tmp) nounwind { %tmp1 = insertelement <2 x i64> %tmp, i64 %s, i32 1 diff --git a/llvm/test/CodeGen/X86/vec_insert.ll b/llvm/test/CodeGen/X86/vec_insert.ll index c8c9f141ec1..e032c5b8549 100644 --- a/llvm/test/CodeGen/X86/vec_insert.ll +++ b/llvm/test/CodeGen/X86/vec_insert.ll @@ -1,5 +1,5 @@ -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movss | count 1 -; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | not grep pinsrw +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 | grep movss | count 1 +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2,-sse41 | not grep pinsrw define void @test(<4 x float>* %F, i32 %I) { %tmp = load <4 x float>* %F ; <<4 x float>> [#uses=1] diff --git a/llvm/test/CodeGen/X86/vec_shuffle-12.ll b/llvm/test/CodeGen/X86/vec_shuffle-12.ll index 3f49b02543b..aad27ea2f8a 100644 --- a/llvm/test/CodeGen/X86/vec_shuffle-12.ll +++ b/llvm/test/CodeGen/X86/vec_shuffle-12.ll @@ -5,24 +5,24 @@ ; RUN: grep pshuflw %t | count 3 ; RUN: grep pshufhw %t | count 2 -define <8 x i16> @t1(<8 x i16>* %A, <8 x i16>* %B) { +define <8 x i16> @t1(<8 x i16>* %A, <8 x i16>* %B) nounwind { %tmp1 = load <8 x i16>* %A %tmp2 = load <8 x i16>* %B %tmp3 = shufflevector <8 x i16> %tmp1, <8 x i16> %tmp2, <8 x i32> < i32 8, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7 > ret <8 x i16> %tmp3 } -define <8 x i16> @t2(<8 x i16> %A, <8 x i16> %B) { +define <8 x i16> @t2(<8 x i16> %A, <8 x i16> %B) nounwind { %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 9, i32 1, i32 2, i32 9, i32 4, i32 5, i32 6, i32 7 > ret <8 x i16> %tmp } -define <8 x i16> @t3(<8 x i16> %A, <8 x i16> %B) { +define <8 x i16> @t3(<8 x i16> %A, <8 x i16> %B) nounwind { %tmp = shufflevector <8 x i16> %A, <8 x i16> %A, <8 x i32> < i32 8, i32 3, i32 2, i32 13, i32 7, i32 6, i32 5, i32 4 > ret <8 x i16> %tmp } -define <8 x i16> @t4(<8 x i16> %A, <8 x i16> %B) { +define <8 x i16> @t4(<8 x i16> %A, <8 x i16> %B) nounwind { %tmp = shufflevector <8 x i16> %A, <8 x i16> %B, <8 x i32> < i32 0, i32 7, i32 2, i32 3, i32 1, i32 5, i32 6, i32 5 > ret <8 x i16> %tmp } diff --git a/llvm/test/CodeGen/X86/vec_shuffle-28.ll b/llvm/test/CodeGen/X86/vec_shuffle-28.ll index e73b824d021..0c81e77b95e 100644 --- a/llvm/test/CodeGen/X86/vec_shuffle-28.ll +++ b/llvm/test/CodeGen/X86/vec_shuffle-28.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=sse41 -o %t -f ; RUN: grep punpcklwd %t | count 1 -; RUN: grep pextrw %t | count 8 +; RUN: grep pextrw %t | count 6 ; RUN: grep pinsrw %t | count 8 diff --git a/llvm/test/CodeGen/X86/widen_arith-1.ll b/llvm/test/CodeGen/X86/widen_arith-1.ll index 13683b159f2..419078174d1 100644 --- a/llvm/test/CodeGen/X86/widen_arith-1.ll +++ b/llvm/test/CodeGen/X86/widen_arith-1.ll @@ -1,7 +1,7 @@ ; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse42 -disable-mmx -o %t -f ; RUN: grep paddb %t | count 1 ; RUN: grep pextrb %t | count 1 -; RUN: grep pextrw %t | count 1 +; RUN: not grep pextrw %t ; Widen a v3i8 to v16i8 to use a vector add |

