forked from OSchip/llvm-project
[AVX-512] Fix the ExeDomain for VMOVDDUP, VMOVSLDUP, and VMOVSHDUP.
llvm-svn: 293601
This commit is contained in:
parent
a274b209f5
commit
e9e84c8284
|
@ -8438,6 +8438,7 @@ defm VDBPSADBW: avx512_common_3Op_rm_imm8<0x42, X86dbpsadbw, "vdbpsadbw" ,
|
||||||
|
|
||||||
multiclass avx512_unary_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
multiclass avx512_unary_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||||
X86VectorVTInfo _> {
|
X86VectorVTInfo _> {
|
||||||
|
let ExeDomain = _.ExeDomain in {
|
||||||
defm rr : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
defm rr : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
||||||
(ins _.RC:$src1), OpcodeStr,
|
(ins _.RC:$src1), OpcodeStr,
|
||||||
"$src1", "$src1",
|
"$src1", "$src1",
|
||||||
|
@ -8448,6 +8449,7 @@ multiclass avx512_unary_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||||
"$src1", "$src1",
|
"$src1", "$src1",
|
||||||
(_.VT (OpNode (bitconvert (_.LdFrag addr:$src1))))>,
|
(_.VT (OpNode (bitconvert (_.LdFrag addr:$src1))))>,
|
||||||
EVEX, AVX5128IBase, EVEX_CD8<_.EltSize, CD8VF>;
|
EVEX, AVX5128IBase, EVEX_CD8<_.EltSize, CD8VF>;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
multiclass avx512_unary_rmb<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
multiclass avx512_unary_rmb<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||||
|
@ -8598,6 +8600,7 @@ defm VMOVSLDUP : avx512_replicate<0x12, "vmovsldup", X86Movsldup>;
|
||||||
|
|
||||||
multiclass avx512_movddup_128<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
multiclass avx512_movddup_128<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||||
X86VectorVTInfo _> {
|
X86VectorVTInfo _> {
|
||||||
|
let ExeDomain = _.ExeDomain in {
|
||||||
defm rr : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
defm rr : AVX512_maskable<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
||||||
(ins _.RC:$src), OpcodeStr, "$src", "$src",
|
(ins _.RC:$src), OpcodeStr, "$src", "$src",
|
||||||
(_.VT (OpNode (_.VT _.RC:$src)))>, EVEX;
|
(_.VT (OpNode (_.VT _.RC:$src)))>, EVEX;
|
||||||
|
@ -8606,6 +8609,7 @@ multiclass avx512_movddup_128<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||||
(_.VT (OpNode (_.VT (scalar_to_vector
|
(_.VT (OpNode (_.VT (scalar_to_vector
|
||||||
(_.ScalarLdFrag addr:$src)))))>,
|
(_.ScalarLdFrag addr:$src)))))>,
|
||||||
EVEX, EVEX_CD8<_.EltSize, CD8VH>;
|
EVEX, EVEX_CD8<_.EltSize, CD8VH>;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
multiclass avx512_movddup_common<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
multiclass avx512_movddup_common<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||||
|
|
Loading…
Reference in New Issue