summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2017-01-25 08:47:40 +0000
committerDiana Picus <diana.picus@linaro.org>2017-01-25 08:47:40 +0000
commitd83df5d372d47a137c4ea237f097a7ce8cc906c1 (patch)
treecbd1406e9aed27a9182f1d1f0fb44a7e1fbb6126 /llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
parent8b6c6bedcbad953260157903e03210249e5f4b90 (diff)
downloadbcm5719-llvm-d83df5d372d47a137c4ea237f097a7ce8cc906c1.tar.gz
bcm5719-llvm-d83df5d372d47a137c4ea237f097a7ce8cc906c1.zip
[ARM] GlobalISel: Support i1 add and ABI extensions
Add support for: * i1 add * i1 function arguments, if passed through registers * i1 returns, with ABI signext/zeroext Differential Revision: https://reviews.llvm.org/D27706 llvm-svn: 293035
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLegalizerInfo.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMLegalizerInfo.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp b/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
index 0dfddf1bfc1..7157af1ec16 100644
--- a/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -28,6 +28,7 @@ ARMLegalizerInfo::ARMLegalizerInfo() {
const LLT p0 = LLT::pointer(0, 32);
+ const LLT s1 = LLT::scalar(1);
const LLT s8 = LLT::scalar(8);
const LLT s16 = LLT::scalar(16);
const LLT s32 = LLT::scalar(32);
@@ -37,12 +38,12 @@ ARMLegalizerInfo::ARMLegalizerInfo() {
setAction({G_LOAD, s32}, Legal);
setAction({G_LOAD, 1, p0}, Legal);
- for (auto Ty : {s8, s16, s32})
+ for (auto Ty : {s1, s8, s16, s32})
setAction({G_ADD, Ty}, Legal);
for (auto Op : {G_SEXT, G_ZEXT}) {
setAction({Op, s32}, Legal);
- for (auto Ty : {s8, s16})
+ for (auto Ty : {s1, s8, s16})
setAction({Op, 1, Ty}, Legal);
}
OpenPOWER on IntegriCloud