llvm.org GIT mirror llvm / 1236091
Fixed a couple of places for Thumb MOV where encoding bits are underspecified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93349 91177308-0d34-0410-b5e6-96231b3b80d8 Johnny Chen 10 years ago
1 changed file(s) with 3 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
207207 let isBranch = 1, isTerminator = 1, isBarrier = 1, isIndirectBranch = 1 in {
208208 def tBRIND : TI<(outs), (ins GPR:$dst), IIC_Br, "mov\tpc, $dst",
209209 [(brind GPR:$dst)]>,
210 T1Special<{1,0,?,?}> {
211 // = pc
212 let Inst{7} = 1;
210 T1Special<{1,0,1,1}> {
211 // = Inst{7:2-0} = pc
213212 let Inst{2-0} = 0b111;
214213 }
215214 }
747746 // 16-bit movcc in IT blocks for Thumb2.
748747 def tMOVCCr : T1pIt<(outs GPR:$dst), (ins GPR:$lhs, GPR:$rhs), IIC_iCMOVr,
749748 "mov", "\t$dst, $rhs", []>,
750 T1Special<{1,0,?,?}>;
749 T1Special<{1,0,1,1}>;
751750
752751 def tMOVCCi : T1pIt<(outs GPR:$dst), (ins GPR:$lhs, i32imm:$rhs), IIC_iCMOVi,
753752 "mov", "\t$dst, $rhs", []>,