Revert r259576: Disable the vzeroupper insertion pass on PS4.
authorYunzhong Gao <Yunzhong_Gao@playstation.sony.com>
Wed, 3 Feb 2016 01:25:12 +0000 (01:25 +0000)
committerYunzhong Gao <Yunzhong_Gao@playstation.sony.com>
Wed, 3 Feb 2016 01:25:12 +0000 (01:25 +0000)
Will re-implement based on review feedback.

llvm-svn: 259615

llvm/lib/Target/X86/X86TargetMachine.cpp
llvm/test/CodeGen/X86/avx-vzeroupper.ll

index fac3a45..0e7e4c0 100644 (file)
@@ -270,9 +270,6 @@ void X86PassConfig::addPreEmitPass() {
   if (getOptLevel() != CodeGenOpt::None)
     addPass(createExecutionDependencyFixPass(&X86::VR128RegClass));
 
-  if (TM->getTargetTriple().isPS4CPU())
-    UseVZeroUpper = false;
-
   if (UseVZeroUpper)
     addPass(createX86IssueVZeroUpperPass());
 
index 976c9a8..a16dc70 100644 (file)
@@ -1,13 +1,4 @@
 ; RUN: llc < %s -x86-use-vzeroupper -mtriple=x86_64-apple-darwin -mattr=+avx | FileCheck %s
-; RUN: llc < %s -mtriple=x86_64-scei-ps4 -mattr=+avx | FileCheck --check-prefix=PS4 %s
-
-; The Jaguar (AMD Family 16h) cores in the PS4 don't benefit from vzeroupper.
-; At most, the benefit is "garbage collecting" def'd upper parts of the ymm
-; registers, but the core has so many FP phys regs that this benefit of freeing
-; up the upper parts is for now not worth it. Unlike Intel, there is no
-; performance hazard to def'ing the lower parts of a ymm without clearing the
-; upper part.
-; PS4-NOT: vzeroupper
 
 declare i32 @foo()
 declare <4 x float> @do_sse(<4 x float>)