forked from OSchip/llvm-project
[AVX-512] Remove KSET0B/KSET1B in favor of the patterns that select KSET0W/KSET1W for v8i1.
llvm-svn: 293458
This commit is contained in:
parent
8abd2febfe
commit
0265a39472
|
@ -2548,7 +2548,6 @@ multiclass avx512_mask_setop<RegisterClass KRC, ValueType VT, PatFrag Val> {
|
|||
}
|
||||
|
||||
multiclass avx512_mask_setop_w<PatFrag Val> {
|
||||
defm B : avx512_mask_setop<VK8, v8i1, Val>;
|
||||
defm W : avx512_mask_setop<VK16, v16i1, Val>;
|
||||
defm D : avx512_mask_setop<VK32, v32i1, Val>;
|
||||
defm Q : avx512_mask_setop<VK64, v64i1, Val>;
|
||||
|
|
|
@ -7049,11 +7049,9 @@ bool X86InstrInfo::expandPostRAPseudo(MachineInstr &MI) const {
|
|||
// registers, since it is not usable as a write mask.
|
||||
// FIXME: A more advanced approach would be to choose the best input mask
|
||||
// register based on context.
|
||||
case X86::KSET0B:
|
||||
case X86::KSET0W: return Expand2AddrKreg(MIB, get(X86::KXORWrr), X86::K0);
|
||||
case X86::KSET0D: return Expand2AddrKreg(MIB, get(X86::KXORDrr), X86::K0);
|
||||
case X86::KSET0Q: return Expand2AddrKreg(MIB, get(X86::KXORQrr), X86::K0);
|
||||
case X86::KSET1B:
|
||||
case X86::KSET1W: return Expand2AddrKreg(MIB, get(X86::KXNORWrr), X86::K0);
|
||||
case X86::KSET1D: return Expand2AddrKreg(MIB, get(X86::KXNORDrr), X86::K0);
|
||||
case X86::KSET1Q: return Expand2AddrKreg(MIB, get(X86::KXNORQrr), X86::K0);
|
||||
|
|
Loading…
Reference in New Issue