1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-02-01 05:01:59 +01:00

Revert r259576: Disable the vzeroupper insertion pass on PS4.

Will re-implement based on review feedback.

llvm-svn: 259615
This commit is contained in:
Yunzhong Gao 2016-02-03 01:25:12 +00:00
parent f5b5f33264
commit d9694f67fb
2 changed files with 0 additions and 12 deletions

View 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());

View 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>)