diff options
author | Diana Picus <diana.picus@linaro.org> | 2017-07-18 09:08:47 +0000 |
---|---|---|
committer | Diana Picus <diana.picus@linaro.org> | 2017-07-18 09:08:47 +0000 |
commit | df4100b3d2f29b99f403d8ff63f7780135b5017d (patch) | |
tree | 2afeb83c8942c0ffdb4914c4e638e81994b225d6 /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | |
parent | 7f633dfe99e85f3dc2272b12b64dc2ad109ba663 (diff) | |
download | bcm5719-llvm-df4100b3d2f29b99f403d8ff63f7780135b5017d.tar.gz bcm5719-llvm-df4100b3d2f29b99f403d8ff63f7780135b5017d.zip |
GlobalISel: Support G_(S|U)REM widening in LegalizerHelper
Treat widening G_SREM and G_UREM the same as G_SDIV and G_UDIV. This is
going to be used in the ARM backend (and that's when the test will come
too).
llvm-svn: 308278
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp index 49fb5e8f075..5258370e668 100644 --- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp +++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp @@ -433,9 +433,12 @@ LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) { } case TargetOpcode::G_SDIV: case TargetOpcode::G_UDIV: + case TargetOpcode::G_SREM: + case TargetOpcode::G_UREM: case TargetOpcode::G_ASHR: case TargetOpcode::G_LSHR: { unsigned ExtOp = MI.getOpcode() == TargetOpcode::G_SDIV || + MI.getOpcode() == TargetOpcode::G_SREM || MI.getOpcode() == TargetOpcode::G_ASHR ? TargetOpcode::G_SEXT : TargetOpcode::G_ZEXT; |