[X86] Remove unneeded bitconverts from isel patterns. NFC

The types already match so TableGen is removing the bitconvert.
This commit is contained in:
Craig Topper 2020-05-30 20:24:51 -07:00
parent 7c3b8077cc
commit dbda87186e
1 changed files with 6 additions and 10 deletions

View File

@ -44,8 +44,7 @@ let Constraints = "$src1 = $dst" in {
def irm : MMXI<opc, MRMSrcMem, (outs VR64:$dst), def irm : MMXI<opc, MRMSrcMem, (outs VR64:$dst),
(ins VR64:$src1, OType:$src2), (ins VR64:$src1, OType:$src2),
!strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"), !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
[(set VR64:$dst, (IntId VR64:$src1, [(set VR64:$dst, (IntId VR64:$src1, (load_mmx addr:$src2)))]>,
(bitconvert (load_mmx addr:$src2))))]>,
Sched<[sched.Folded, sched.ReadAfterFold]>; Sched<[sched.Folded, sched.ReadAfterFold]>;
} }
@ -61,8 +60,7 @@ let Constraints = "$src1 = $dst" in {
def rm : MMXI<opc, MRMSrcMem, (outs VR64:$dst), def rm : MMXI<opc, MRMSrcMem, (outs VR64:$dst),
(ins VR64:$src1, i64mem:$src2), (ins VR64:$src1, i64mem:$src2),
!strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"), !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
[(set VR64:$dst, (IntId VR64:$src1, [(set VR64:$dst, (IntId VR64:$src1, (load_mmx addr:$src2)))]>,
(bitconvert (load_mmx addr:$src2))))]>,
Sched<[sched.Folded, sched.ReadAfterFold]>; Sched<[sched.Folded, sched.ReadAfterFold]>;
def ri : MMXIi8<opc2, ImmForm, (outs VR64:$dst), def ri : MMXIi8<opc2, ImmForm, (outs VR64:$dst),
(ins VR64:$src1, i32u8imm:$src2), (ins VR64:$src1, i32u8imm:$src2),
@ -82,8 +80,7 @@ multiclass SS3I_unop_rm_int_mm<bits<8> opc, string OpcodeStr,
def rm : MMXSS38I<opc, MRMSrcMem, (outs VR64:$dst), (ins i64mem:$src), def rm : MMXSS38I<opc, MRMSrcMem, (outs VR64:$dst), (ins i64mem:$src),
!strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"), !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
[(set VR64:$dst, [(set VR64:$dst, (IntId64 (load_mmx addr:$src)))]>,
(IntId64 (bitconvert (load_mmx addr:$src))))]>,
Sched<[sched.Folded]>; Sched<[sched.Folded]>;
} }
@ -102,8 +99,7 @@ multiclass SS3I_binop_rm_int_mm<bits<8> opc, string OpcodeStr,
(ins VR64:$src1, i64mem:$src2), (ins VR64:$src1, i64mem:$src2),
!strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"), !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
[(set VR64:$dst, [(set VR64:$dst,
(IntId64 VR64:$src1, (IntId64 VR64:$src1, (load_mmx addr:$src2)))]>,
(bitconvert (load_mmx addr:$src2))))]>,
Sched<[sched.Folded, sched.ReadAfterFold]>; Sched<[sched.Folded, sched.ReadAfterFold]>;
} }
} }
@ -119,8 +115,8 @@ multiclass ssse3_palign_mm<string asm, Intrinsic IntId,
def rmi : MMXSS3AI<0x0F, MRMSrcMem, (outs VR64:$dst), def rmi : MMXSS3AI<0x0F, MRMSrcMem, (outs VR64:$dst),
(ins VR64:$src1, i64mem:$src2, u8imm:$src3), (ins VR64:$src1, i64mem:$src2, u8imm:$src3),
!strconcat(asm, "\t{$src3, $src2, $dst|$dst, $src2, $src3}"), !strconcat(asm, "\t{$src3, $src2, $dst|$dst, $src2, $src3}"),
[(set VR64:$dst, (IntId VR64:$src1, [(set VR64:$dst, (IntId VR64:$src1, (load_mmx addr:$src2),
(bitconvert (load_mmx addr:$src2)), (i8 timm:$src3)))]>, (i8 timm:$src3)))]>,
Sched<[sched.Folded, sched.ReadAfterFold]>; Sched<[sched.Folded, sched.ReadAfterFold]>;
} }