diff options
| author | Craig Topper <craig.topper@intel.com> | 2019-05-31 05:20:27 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2019-05-31 05:20:27 +0000 |
| commit | 23066033a1b70b5981ea86207cd87e9106b31771 (patch) | |
| tree | 1c8a2f9ec668348007a6e742f0dd52f718a028b2 /llvm/lib/Target | |
| parent | c9e27be585582bf3ae8d5831a669c640f0d6aaef (diff) | |
| download | bcm5719-llvm-23066033a1b70b5981ea86207cd87e9106b31771.tar.gz bcm5719-llvm-23066033a1b70b5981ea86207cd87e9106b31771.zip | |
[X86] Correct the ins operand order for MASKPAIR16STORE to match other store instructions.
This makes the 5 address operands come first. And the data operand comes last.
This matches the operand order the instruction is created with. It's also the
expected order in X86MCInstLower. So everything appeared to work, but the
operands didn't match their declared type.
Fixes a -verify-machineinstrs failure.
Also remove the isel patterns from these instructions since they should only
be used for stack spills and reloads. I'm not even sure what types the patterns
were looking for to match.
llvm-svn: 362193
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrAVX512.td | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86InstrAVX512.td b/llvm/lib/Target/X86/X86InstrAVX512.td index 20380bb8448..d93059b44f3 100644 --- a/llvm/lib/Target/X86/X86InstrAVX512.td +++ b/llvm/lib/Target/X86/X86InstrAVX512.td @@ -12561,10 +12561,10 @@ defm VP4DPWSSDSrm : AVX512_maskable_3src_in_asm<0x53, MRMSrcMem, v16i32_info, } let hasSideEffects = 0 in { - def MASKPAIR16STORE : PseudoI<(outs), (ins VK16PAIR:$src, anymem:$dst), - [(store VK16PAIR:$src, addr:$dst)]>; - def MASKPAIR16LOAD : PseudoI<(outs VK16PAIR:$dst), (ins anymem:$src), - [(set VK16PAIR:$dst, (load addr:$src))]>; + let mayStore = 1 in + def MASKPAIR16STORE : PseudoI<(outs), (ins anymem:$dst, VK16PAIR:$src), []>; + let mayLoad = 1 in + def MASKPAIR16LOAD : PseudoI<(outs VK16PAIR:$dst), (ins anymem:$src), []>; } //===----------------------------------------------------------------------===// |

