summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2019-04-30 09:24:43 +0000
committerDiana Picus <diana.picus@linaro.org>2019-04-30 09:24:43 +0000
commit59a4c0481a83fc3ef74a63d4f231f06aa3075371 (patch)
tree5080e2c8b1b2b7096518803a4071908a485c7677 /llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
parent7bce25cd7d0779526db8e5dca8c2bacd0b9dd5e4 (diff)
downloadbcm5719-llvm-59a4c0481a83fc3ef74a63d4f231f06aa3075371.tar.gz
bcm5719-llvm-59a4c0481a83fc3ef74a63d4f231f06aa3075371.zip
[ARM GlobalISel] Widen small shift operands
The legalizer was already widening the shift amount. Add tests for that behaviour, and also support widening the shifted value. llvm-svn: 359542
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLegalizerInfo.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMLegalizerInfo.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp b/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
index 5ab211b791e..689a77a9d93 100644
--- a/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -90,6 +90,7 @@ ARMLegalizerInfo::ARMLegalizerInfo(const ARMSubtarget &ST) {
getActionDefinitionsBuilder({G_ASHR, G_LSHR, G_SHL})
.legalFor({{s32, s32}})
+ .minScalar(0, s32)
.clampScalar(1, s32, s32);
bool HasHWDivide = (!ST.isThumb() && ST.hasDivideInARMMode()) ||
OpenPOWER on IntegriCloud