mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-15 07:39:31 +00:00
[AVX-512] Add isCommutable to scalar FMA3 instructions.
llvm-svn: 278596
This commit is contained in:
parent
c754f129fc
commit
414f4c069e
@ -5060,7 +5060,7 @@ multiclass avx512_fma3_132_round<bits<8> opc, string OpcodeStr, SDNode OpNode,
|
||||
defm rb: AVX512_maskable_3src<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
||||
(ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
|
||||
OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc",
|
||||
(_.VT ( OpNode _.RC:$src1, _.RC:$src3, _.RC:$src2, (i32 imm:$rc)))>,
|
||||
(_.VT ( OpNode _.RC:$src1, _.RC:$src3, _.RC:$src2, (i32 imm:$rc))), 1, 1>,
|
||||
AVX512FMA3Base, EVEX_B, EVEX_RC;
|
||||
}
|
||||
|
||||
@ -5102,18 +5102,18 @@ multiclass avx512_fma3s_common<bits<8> opc, string OpcodeStr, X86VectorVTInfo _,
|
||||
dag RHS_r, dag RHS_m > {
|
||||
defm r_Int: AVX512_maskable_3src_scalar<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
||||
(ins _.RC:$src2, _.RC:$src3), OpcodeStr,
|
||||
"$src3, $src2", "$src2, $src3", RHS_VEC_r>, AVX512FMA3Base;
|
||||
"$src3, $src2", "$src2, $src3", RHS_VEC_r, 1, 1>, AVX512FMA3Base;
|
||||
|
||||
defm m_Int: AVX512_maskable_3src_scalar<opc, MRMSrcMem, _, (outs _.RC:$dst),
|
||||
(ins _.RC:$src2, _.ScalarMemOp:$src3), OpcodeStr,
|
||||
"$src3, $src2", "$src2, $src3", RHS_VEC_m>, AVX512FMA3Base;
|
||||
"$src3, $src2", "$src2, $src3", RHS_VEC_m, 1, 1>, AVX512FMA3Base;
|
||||
|
||||
defm rb_Int: AVX512_maskable_3src_scalar<opc, MRMSrcReg, _, (outs _.RC:$dst),
|
||||
(ins _.RC:$src2, _.RC:$src3, AVX512RC:$rc),
|
||||
OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc", RHS_VEC_rb>,
|
||||
OpcodeStr, "$rc, $src3, $src2", "$src2, $src3, $rc", RHS_VEC_rb, 1, 1>,
|
||||
AVX512FMA3Base, EVEX_B, EVEX_RC;
|
||||
|
||||
let isCodeGenOnly = 1 in {
|
||||
let isCodeGenOnly = 1, isCommutable = 1 in {
|
||||
def r : AVX512FMA3<opc, MRMSrcReg, (outs _.FRC:$dst),
|
||||
(ins _.FRC:$src1, _.FRC:$src2, _.FRC:$src3),
|
||||
!strconcat(OpcodeStr,
|
||||
|
Loading…
Reference in New Issue
Block a user