mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-28 22:58:17 +00:00
ARM: Constrain regclass for TSTri instruction.
Get the register class right for the TST instruction. This keeps the machine verifier happy, enabling us to turn it on for another test. rdar://12594152 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189274 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7c42ede045
commit
383a810b12
@ -1380,6 +1380,7 @@ bool ARMFastISel::SelectBranch(const Instruction *I) {
|
||||
(isLoadTypeLegal(TI->getOperand(0)->getType(), SourceVT))) {
|
||||
unsigned TstOpc = isThumb2 ? ARM::t2TSTri : ARM::TSTri;
|
||||
unsigned OpReg = getRegForValue(TI->getOperand(0));
|
||||
OpReg = constrainOperandRegClass(TII.get(TstOpc), OpReg, 0);
|
||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL,
|
||||
TII.get(TstOpc))
|
||||
.addReg(OpReg).addImm(1));
|
||||
@ -1417,6 +1418,7 @@ bool ARMFastISel::SelectBranch(const Instruction *I) {
|
||||
// and it left a value for us in a virtual register. Ergo, we test
|
||||
// the one-bit value left in the virtual register.
|
||||
unsigned TstOpc = isThumb2 ? ARM::t2TSTri : ARM::TSTri;
|
||||
CmpReg = constrainOperandRegClass(TII.get(TstOpc), CmpReg, 0);
|
||||
AddOptionalDefs(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, TII.get(TstOpc))
|
||||
.addReg(CmpReg).addImm(1));
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios
|
||||
; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios
|
||||
|
||||
; This test ensures HandlePHINodesInSuccessorBlocks() is able to promote basic
|
||||
; non-legal integer types (i.e., i1, i8, i16).
|
||||
|
Loading…
x
Reference in New Issue
Block a user