mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 04:39:44 +00:00
use v8i32 as optimal mem type over v8f32 if AVX2 is enabled. Similar to SSE2 vs SSE1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148109 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
12216172c0
commit
562659ff6b
@ -1327,9 +1327,12 @@ X86TargetLowering::getOptimalMemOpType(uint64_t Size,
|
||||
((DstAlign == 0 || DstAlign >= 16) &&
|
||||
(SrcAlign == 0 || SrcAlign >= 16))) &&
|
||||
Subtarget->getStackAlignment() >= 16) {
|
||||
if (Subtarget->hasAVX() &&
|
||||
Subtarget->getStackAlignment() >= 32)
|
||||
return MVT::v8f32;
|
||||
if (Subtarget->getStackAlignment() >= 32) {
|
||||
if (Subtarget->hasAVX2())
|
||||
return MVT::v8i32;
|
||||
if (Subtarget->hasAVX())
|
||||
return MVT::v8f32;
|
||||
}
|
||||
if (Subtarget->hasSSE2())
|
||||
return MVT::v4i32;
|
||||
if (Subtarget->hasSSE1())
|
||||
|
Loading…
Reference in New Issue
Block a user