diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index b0660a00dc6..2f9da43a5b4 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -939,6 +939,7 @@ multiclass AI1_adde_sube_s_irs opcod, string opc, PatFrag opnode, bits<4> Rd; bits<4> Rn; bits<12> imm; + let Inst{31-27} = 0b1110; // non-predicated let Inst{15-12} = Rd; let Inst{19-16} = Rn; let Inst{11-0} = imm; @@ -952,6 +953,7 @@ multiclass AI1_adde_sube_s_irs opcod, string opc, PatFrag opnode, bits<4> Rd; bits<4> Rn; bits<4> Rm; + let Inst{31-27} = 0b1110; // non-predicated let Inst{11-4} = 0b00000000; let isCommutable = Commutable; let Inst{3-0} = Rm; @@ -967,6 +969,7 @@ multiclass AI1_adde_sube_s_irs opcod, string opc, PatFrag opnode, bits<4> Rd; bits<4> Rn; bits<12> shift; + let Inst{31-27} = 0b1110; // non-predicated let Inst{11-0} = shift; let Inst{15-12} = Rd; let Inst{19-16} = Rn; diff --git a/test/MC/Disassembler/ARM/arm-tests.txt b/test/MC/Disassembler/ARM/arm-tests.txt index 4e39e8e9b3c..c66f8ce9688 100644 --- a/test/MC/Disassembler/ARM/arm-tests.txt +++ b/test/MC/Disassembler/ARM/arm-tests.txt @@ -226,3 +226,10 @@ # CHECK: blx #60 0x0f 0x00 0x00 0xfa + +# CHECK-NOT: adcs r10, r8, r0, asr #6 +# CHECK: adcshi r10, r8, r0, asr #6 +0x40 0xa3 0xb8 0x80 + +# CHECK: adcshi r10, r8, r0, asr r3 +0x50 0xa3 0xb8 0x80