Add support for s64 libcalls for G_SDIV, G_UDIV, G_SREM and G_UREM
and use integer type of correct size when creating arguments for CLI.lowerCall.
Select G_SDIV, G_UDIV, G_SREM and G_UREM for types s8, s16, s32 and s64 on MIPS32.
Paths
| Differential D55651
[MIPS GlobalISel] Select G_SDIV, G_UDIV, G_SREM and G_UREM ClosedPublic Authored by Petar.Avramovic on Dec 13 2018, 5:30 AM.
Details Summary Add support for s64 libcalls for G_SDIV, G_UDIV, G_SREM and G_UREM and use integer type of correct size when creating arguments for CLI.lowerCall. Select G_SDIV, G_UDIV, G_SREM and G_UREM for types s8, s16, s32 and s64 on MIPS32.
Diff Detail
Event TimelineHerald added subscribers: arichardson, kristof.beyls, rovka, sdardis. · View Herald TranscriptDec 13 2018, 5:30 AM This revision is now accepted and ready to land.Dec 18 2018, 7:28 AM Closed by commit rL349499: [MIPS GlobalISel] Select G_SDIV, G_UDIV, G_SREM and G_UREM (authored by Petar.Avramovic). · Explain WhyDec 18 2018, 8:03 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 178679 llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/trunk/lib/Target/Mips/MipsInstructionSelector.cpp
llvm/trunk/lib/Target/Mips/MipsLegalizerInfo.cpp
llvm/trunk/lib/Target/Mips/MipsRegisterBankInfo.cpp
llvm/trunk/test/CodeGen/Mips/GlobalISel/instruction-select/rem_and_div.mir
llvm/trunk/test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
llvm/trunk/test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
llvm/trunk/test/CodeGen/Mips/GlobalISel/regbankselect/rem_and_div.mir
|