mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-03 17:31:50 +00:00
Revert r259576: Disable the vzeroupper insertion pass on PS4.
Will re-implement based on review feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259615 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ecdde6284c
commit
6a4c1bd3e6
@ -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());
|
||||
|
||||
|
@ -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>)
|
||||
|
Loading…
Reference in New Issue
Block a user