summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86MCInstLower.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2012-01-13 08:12:35 +0000
committerCraig Topper <craig.topper@gmail.com>2012-01-13 08:12:35 +0000
commitcb7e13d7c0f6b2c88020a21b0a0e1417f02969f6 (patch)
tree3ff4bfab8a76df8ce48a7f2b36a788c87fade2ba /llvm/lib/Target/X86/X86MCInstLower.cpp
parent1b845f712a407153f8399fbe62b302ba59fab67b (diff)
downloadbcm5719-llvm-cb7e13d7c0f6b2c88020a21b0a0e1417f02969f6.tar.gz
bcm5719-llvm-cb7e13d7c0f6b2c88020a21b0a0e1417f02969f6.zip
Make X86 instruction selection use 256-bit VPXOR for build_vector of all ones if AVX2 is enabled. This gives the ExeDepsFix pass a chance to choose FP vs int as appropriate. Also use v8i32 as the type for getZeroVector if AVX2 is enabled. This is consistent with SSE2 using prefering v4i32.
llvm-svn: 148108
Diffstat (limited to 'llvm/lib/Target/X86/X86MCInstLower.cpp')
-rw-r--r--llvm/lib/Target/X86/X86MCInstLower.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86MCInstLower.cpp b/llvm/lib/Target/X86/X86MCInstLower.cpp
index 92321961392..1f7d42240c1 100644
--- a/llvm/lib/Target/X86/X86MCInstLower.cpp
+++ b/llvm/lib/Target/X86/X86MCInstLower.cpp
@@ -373,6 +373,7 @@ ReSimplify:
case X86::AVX_SET0PDY: LowerUnaryToTwoAddr(OutMI, X86::VXORPDYrr); break;
case X86::AVX_SETALLONES: LowerUnaryToTwoAddr(OutMI, X86::VPCMPEQDrr); break;
case X86::AVX2_SETALLONES: LowerUnaryToTwoAddr(OutMI, X86::VPCMPEQDYrr);break;
+ case X86::AVX2_SET0: LowerUnaryToTwoAddr(OutMI, X86::VPXORYrr); break;
case X86::MOV16r0:
LowerSubReg32_Op0(OutMI, X86::MOV32r0); // MOV16r0 -> MOV32r0
OpenPOWER on IntegriCloud