diff options
author | Craig Topper <craig.topper@gmail.com> | 2016-07-31 20:19:53 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2016-07-31 20:19:53 +0000 |
commit | 338ec9a0cbf220400c1200372736c1b5eae1f1ea (patch) | |
tree | 44d04e68cf6f68aea75e7d1191b27073e66ea271 /llvm/lib/Target/X86/X86InstrInfo.cpp | |
parent | 2a6bbb8203e9c0b8c4aa1210117bab8fbba240fe (diff) | |
download | bcm5719-llvm-338ec9a0cbf220400c1200372736c1b5eae1f1ea.tar.gz bcm5719-llvm-338ec9a0cbf220400c1200372736c1b5eae1f1ea.zip |
[AVX512] Stop treating VR512 specially in getLoadStoreRegOpcode and use the regular switch which already tried to handle it, but was unreachable. This has the added benefit of enabling aligned loads/stores if the stack is aligned.
llvm-svn: 277302
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index fc346cb7228..b6f6a98f0ab 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -4845,8 +4845,6 @@ static unsigned getLoadStoreRegOpcode(unsigned Reg, return load ? X86::VMOVSSZrm : X86::VMOVSSZmr; if (RC->getSize() == 8 && X86::FR64XRegClass.hasSubClassEq(RC)) return load ? X86::VMOVSDZrm : X86::VMOVSDZmr; - if (X86::VR512RegClass.hasSubClassEq(RC)) - return load ? X86::VMOVUPSZrm : X86::VMOVUPSZmr; } bool HasAVX = STI.hasAVX(); @@ -4924,7 +4922,7 @@ static unsigned getLoadStoreRegOpcode(unsigned Reg, return load ? X86::VMOVUPSZ256rm : X86::VMOVUPSZ256mr; case 64: assert(X86::VR512RegClass.hasSubClassEq(RC) && "Unknown 64-byte regclass"); - assert(STI.hasVLX() && "Using 512-bit register requires AVX512"); + assert(STI.hasAVX512() && "Using 512-bit register requires AVX512"); if (isStackAligned) return load ? X86::VMOVAPSZrm : X86::VMOVAPSZmr; else |