From ea904f9424cc37c5ff7ac595e465ede2a10fdf0d Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Fri, 19 Aug 2016 22:40:00 +0000 Subject: GlobalISel: teach legalizer how to handle integer constants. llvm-svn: 279340 --- llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'llvm/lib/CodeGen/GlobalISel/MachineLegalizer.cpp') 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, -- cgit v1.2.3