From 56a1a69a35ca2ee0d1249d705de8936096c6f008 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Mon, 21 Jun 2010 21:27:34 +0000 Subject: [PATCH] sign_extend_inreg needs to be expanded for pre-v6 Thumb as well as ARM. Radar 8104310. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106484 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMISelLowering.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp index 333907c4fb8..7f89b2d1685 100644 --- a/lib/Target/ARM/ARMISelLowering.cpp +++ b/lib/Target/ARM/ARMISelLowering.cpp @@ -455,7 +455,7 @@ ARMTargetLowering::ARMTargetLowering(TargetMachine &TM) // If the subtarget does not have extract instructions, sign_extend_inreg // needs to be expanded. Extract is available in ARM mode on v6 and up, // and on most Thumb2 implementations. - if ((!Subtarget->isThumb() && !Subtarget->hasV6Ops()) + if (!Subtarget->hasV6Ops() || (Subtarget->isThumb2() && !Subtarget->hasT2ExtractPack())) { setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16, Expand); setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8, Expand); -- 2.11.0