diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-11-07 19:15:58 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-11-07 19:15:58 +0000 |
commit | 3e5d5c53a03e4a08cdb67f8a7f44567f925be9a5 (patch) | |
tree | d761303159d13fca2351a75150a2e00d28c58ee6 /test/CodeGen/X86/vec_return.ll | |
parent | d83d98d4eb9595a88b830f5e3f5c6c24fae80df1 (diff) | |
download | llvm-3e5d5c53a03e4a08cdb67f8a7f44567f925be9a5.tar.gz llvm-3e5d5c53a03e4a08cdb67f8a7f44567f925be9a5.tar.bz2 llvm-3e5d5c53a03e4a08cdb67f8a7f44567f925be9a5.tar.xz |
Expand V_SET0 to xorps by default.
The xorps instruction is smaller than pxor, so prefer that encoding.
The ExecutionDepsFix pass will switch the encoding to pxor and xorpd
when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143996 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/vec_return.ll')
-rw-r--r-- | test/CodeGen/X86/vec_return.ll | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/test/CodeGen/X86/vec_return.ll b/test/CodeGen/X86/vec_return.ll index 676be9b717..d5fc11ecd5 100644 --- a/test/CodeGen/X86/vec_return.ll +++ b/test/CodeGen/X86/vec_return.ll @@ -1,12 +1,17 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 > %t -; RUN: grep pxor %t | count 1 -; RUN: grep movaps %t | count 1 -; RUN: not grep shuf %t +; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s +; Without any typed operations, always use the smaller xorps. +; CHECK: test +; CHECK: xorps define <2 x double> @test() { ret <2 x double> zeroinitializer } +; Prefer a constant pool load here. +; CHECK: test2 +; CHECK-NOT: shuf +; CHECK: movaps LCP +; CHECK-NEXT: ret define <4 x i32> @test2() nounwind { ret <4 x i32> < i32 0, i32 0, i32 1, i32 0 > } |