summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-08-19 22:40:00 +0000
committerTim Northover <tnorthover@apple.com>2016-08-19 22:40:00 +0000
commitea904f9424cc37c5ff7ac595e465ede2a10fdf0d (patch)
treea6f53aec83820790c56ad70b565f333f940ad292 /llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp
parentfa7de606c439d90665ef25f0c6d447a9476c2fc6 (diff)
downloadbcm5719-llvm-ea904f9424cc37c5ff7ac595e465ede2a10fdf0d.tar.gz
bcm5719-llvm-ea904f9424cc37c5ff7ac595e465ede2a10fdf0d.zip
GlobalISel: teach legalizer how to handle integer constants.
llvm-svn: 279340
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp b/llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp
index 881b5026fa6..fa23627de7c 100644
--- a/llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp
@@ -119,8 +119,9 @@ LLT MachineLegalizer::findLegalType(unsigned Opcode, LLT Ty,
[&](LLT Ty) -> LLT { return Ty.halfScalarSize(); });
}
case WidenScalar: {
- return findLegalType(Opcode, Ty,
- [&](LLT Ty) -> LLT { return Ty.doubleScalarSize(); });
+ return findLegalType(Opcode, Ty, [&](LLT Ty) -> LLT {
+ return Ty.getSizeInBits() < 8 ? LLT::scalar(8) : Ty.doubleScalarSize();
+ });
}
case FewerElements: {
return findLegalType(Opcode, Ty,
OpenPOWER on IntegriCloud