summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAmara Emerson <aemerson@apple.com>2019-04-09 21:22:37 +0000
committerAmara Emerson <aemerson@apple.com>2019-04-09 21:22:37 +0000
commit92d74f19cf4773229454a9314030587b329bc275 (patch)
tree3e35f30525c71ff787af2b7a2d4476bb53d12351 /llvm/lib
parent2b523f81625b455fd3c0676156f109fa5f83c023 (diff)
downloadbcm5719-llvm-92d74f19cf4773229454a9314030587b329bc275.tar.gz
bcm5719-llvm-92d74f19cf4773229454a9314030587b329bc275.zip
[AArch64][GlobalISel] Add legalization for some vector G_SHL and G_ASHR.
This is needed for some future support for vector ICMP. Differential Revision: https://reviews.llvm.org/D60433 llvm-svn: 358033
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp b/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
index 256a276bb45..eb6dfd84335 100644
--- a/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
@@ -105,10 +105,10 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST) {
.widenScalarToNextPow2(0);
getActionDefinitionsBuilder({G_LSHR, G_ASHR})
- .legalFor({{s32, s32}, {s64, s64}})
- .clampScalar(1, s32, s64)
- .clampScalar(0, s32, s64)
- .minScalarSameAs(1, 0);
+ .legalFor({{s32, s32}, {s64, s64}, {v2s32, v2s32}, {v4s32, v4s32}})
+ .clampScalar(1, s32, s64)
+ .clampScalar(0, s32, s64)
+ .minScalarSameAs(1, 0);
getActionDefinitionsBuilder({G_SREM, G_UREM})
.lowerFor({s1, s8, s16, s32, s64});
@@ -273,6 +273,8 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST) {
getActionDefinitionsBuilder({G_ZEXT, G_SEXT, G_ANYEXT})
.legalForCartesianProduct({s8, s16, s32, s64}, {s1, s8, s16, s32});
+ getActionDefinitionsBuilder(G_TRUNC).alwaysLegal();
+
// FP conversions
getActionDefinitionsBuilder(G_FPTRUNC).legalFor(
{{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}});
OpenPOWER on IntegriCloud