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 178040 lib/CodeGen/GlobalISel/LegalizerHelper.cpp
lib/Target/Mips/MipsInstructionSelector.cpp
lib/Target/Mips/MipsLegalizerInfo.cpp
lib/Target/Mips/MipsRegisterBankInfo.cpp
test/CodeGen/Mips/GlobalISel/instruction-select/rem_and_div.mir
test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
test/CodeGen/Mips/GlobalISel/regbankselect/rem_and_div.mir
|