[X86] Don't put any EVEX_B instructions in the tablegen generated load folding tables.

EVEX_B means different things for memory and register forms. The instructions should not be considered equivalent.

llvm-svn: 321954
This commit is contained in:
Craig Topper 2018-01-07 06:24:28 +00:00
parent 89293a2a94
commit 85657d59a9
2 changed files with 4 additions and 2 deletions

View File

@ -3394,6 +3394,7 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
{ X86::VPSUBSWZrrk, X86::VPSUBSWZrmk, 0 },
{ X86::VPSUBUSBZrrk, X86::VPSUBUSBZrmk, 0 },
{ X86::VPSUBUSWZrrk, X86::VPSUBUSWZrmk, 0 },
{ X86::VPSUBWZrrk, X86::VPSUBWZrmk, 0 },
{ X86::VPTERNLOGDZrrik, X86::VPTERNLOGDZrmik, 0 },
{ X86::VPTERNLOGQZrrik, X86::VPTERNLOGQZrmik, 0 },
{ X86::VPUNPCKHBWZrrk, X86::VPUNPCKHBWZrmk, 0 },

View File

@ -341,8 +341,9 @@ public:
MemRec->getValueAsBit("hasEVEX_K") ||
RegRec->getValueAsBit("hasEVEX_Z") !=
MemRec->getValueAsBit("hasEVEX_Z") ||
RegRec->getValueAsBit("hasEVEX_B") !=
MemRec->getValueAsBit("hasEVEX_B") ||
// EVEX_B means different things for memory and register forms.
RegRec->getValueAsBit("hasEVEX_B") != 0 ||
MemRec->getValueAsBit("hasEVEX_B") != 0 ||
RegRec->getValueAsBit("hasEVEX_RC") !=
MemRec->getValueAsBit("hasEVEX_RC") ||
RegRec->getValueAsBit("hasREX_WPrefix") !=