diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index fac3a45b2cc..0e7e4c0c84a 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -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()); diff --git a/test/CodeGen/X86/avx-vzeroupper.ll b/test/CodeGen/X86/avx-vzeroupper.ll index 976c9a8a1ae..a16dc70e81c 100644 --- a/test/CodeGen/X86/avx-vzeroupper.ll +++ b/test/CodeGen/X86/avx-vzeroupper.ll @@ -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>)