194 lines · plain
1# RUN: llvm-mc -triple armv7 %s -show-encoding | FileCheck %s2# RUN: not llvm-mc -triple armv7 %s -show-encoding -mattr=+no-neg-immediates 2>&1 | FileCheck %s -check-prefix=CHECK-DISABLED3 4.arm5 6 ADC r0, r1, #0xFFFFFF007# CHECK: sbc r0, r1, #2558# CHECK-DISABLED: note: instruction requires: NegativeImmediates9# CHECK-DISABLED: ADC10 ADC r0, r1, #0xFFFFFE0311# CHECK: sbc r0, r1, #50812# CHECK-DISABLED: note: instruction requires: NegativeImmediates13# CHECK-DISABLED: ADC14 ADD r0, r1, #0xFFFFFF0115# CHECK: sub r0, r1, #25516# CHECK-DISABLED: note: instruction requires: NegativeImmediates17# CHECK-DISABLED: ADD18 AND r0, r1, #0xFFFFFF0019# CHECK: bic r0, r1, #25520# CHECK-DISABLED: note: instruction requires: NegativeImmediates21# CHECK-DISABLED: AND22 BIC r0, r1, #0xFFFFFF0023# CHECK: and r0, r1, #25524# CHECK-DISABLED: note: instruction requires: NegativeImmediates25# CHECK-DISABLED: BIC26 CMP r0, #0xFFFFFF0127# CHECK: cmn r0, #25528# CHECK-DISABLED: note: instruction requires: NegativeImmediates29# CHECK-DISABLED: CMP30 CMN r0, #0xFFFFFF0131# CHECK: cmp r0, #25532# CHECK-DISABLED: note: instruction requires: NegativeImmediates33# CHECK-DISABLED: CMN34 MOV r0, #0xFFFFFF0035# CHECK: mvn r0, #25536# CHECK-DISABLED: note: instruction requires: NegativeImmediates37# CHECK-DISABLED: MOV38 MVN r0, #0xFFFFFF0039# CHECK: mov r0, #25540# CHECK-DISABLED: note: instruction requires: NegativeImmediates41# CHECK-DISABLED: MVN42 SBC r0, r1, #0xFFFFFF0043# CHECK: adc r0, r1, #25544# CHECK-DISABLED: note: instruction requires: NegativeImmediates45# CHECK-DISABLED: SBC46 SUB r0, r1, #0xFFFFFF0147# CHECK: add r0, r1, #25548# CHECK-DISABLED: note: instruction requires: NegativeImmediates49# CHECK-DISABLED: SUB50 51.thumb52 53 ADD r0, r1, #0xFFFFFF0054# CHECK: sub.w r0, r1, #25655# CHECK-DISABLED: note: instruction requires: NegativeImmediates56# CHECK-DISABLED: ADD57 ADDS r0, r1, #0xFFFFFF0058# CHECK: subs.w r0, r1, #25659# CHECK-DISABLED: note: instruction requires: NegativeImmediates60# CHECK-DISABLED: ADDS61 ADDS.W r0, r1, #0xFFFFFF0062# CHECK: subs.w r0, r1, #25663# CHECK-DISABLED: note: instruction requires: NegativeImmediates64# CHECK-DISABLED: ADDS.W65 ADC r0, r1, #0xFFFFFF0066# CHECK: sbc r0, r1, #25567# CHECK-DISABLED: note: instruction requires: NegativeImmediates68# CHECK-DISABLED: ADC69 ADC r0, r1, #0xFFFF00FF70# CHECK: sbc r0, r1, #6528071# CHECK-DISABLED: note: instruction requires: NegativeImmediates72# CHECK-DISABLED: ADC73 ADC r0, r1, #0xFFFEFFFE74# CHECK: sbc r0, r1, #65537 @ encoding: [0x61,0xf1,0x01,0x10]75# CHECK-DISABLED: note: instruction requires: NegativeImmediates76# CHECK-DISABLED: ADC77 ADC r0, r1, #0xFEFFFEFF78# CHECK: sbc r0, r1, #16777472 @ encoding: [0x61,0xf1,0x01,0x20]79# CHECK-DISABLED: note: instruction requires: NegativeImmediates80# CHECK-DISABLED: ADC81 ADD.W r0, r0, #0xFFFFFF0182# CHECK: sub.w r0, r0, #25583# CHECK-DISABLED: note: instruction requires: NegativeImmediates84# CHECK-DISABLED: ADD.W85 ADD.W r0, r0, #0xFF01FF0286# CHECK: sub.w r0, r0, #16646398 @ encoding: [0xa0,0xf1,0xfe,0x10]87# CHECK-DISABLED: note: instruction requires: NegativeImmediates88# CHECK-DISABLED: ADD.W89 ADDW r0, r1, #0xFFFFFF0190# CHECK: subw r0, r1, #255 @ encoding: [0xa1,0xf2,0xff,0x00]91# CHECK-DISABLED: note: instruction requires: NegativeImmediates92# CHECK-DISABLED: ADDW93 ADD.W r0, r1, #0xFFFFFF0194# CHECK: sub.w r0, r1, #255 @ encoding: [0xa1,0xf1,0xff,0x00]95# CHECK-DISABLED: note: instruction requires: NegativeImmediates96# CHECK-DISABLED: ADD.W97 AND r0, r1, #0xFFFFFF0098# CHECK-DISABLED: note: instruction requires: NegativeImmediates99# CHECK-DISABLED: AND100# CHECK: bic r0, r1, #255101 AND r0, r1, #0xFEFFFEFF102# CHECK: bic r0, r1, #16777472 @ encoding: [0x21,0xf0,0x01,0x20]103# CHECK-DISABLED: note: instruction requires: NegativeImmediates104# CHECK-DISABLED: AND105 AND.W r0, r1, #0xFFFFFF00106# CHECK: bic r0, r1, #255107# CHECK-DISABLED: note: instruction requires: NegativeImmediates108# CHECK-DISABLED: AND.W109 ANDS r0, r1, #0xFFFFFF00110# CHECK: bics r0, r1, #255111# CHECK-DISABLED: note: instruction requires: NegativeImmediates112# CHECK-DISABLED: ANDS113 BIC r0, r1, #0xFFFFFF00114# CHECK: and r0, r1, #255115# CHECK-DISABLED: note: instruction requires: NegativeImmediates116# CHECK-DISABLED: BIC117 BIC.W r0, r1, #0xFFFFFF00118# CHECK: and r0, r1, #255119# CHECK-DISABLED: note: instruction requires: NegativeImmediates120# CHECK-DISABLED: BIC.W121 BICS r0, r1, #0xFFFFFF00122# CHECK: ands r0, r1, #255123# CHECK-DISABLED: note: instruction requires: NegativeImmediates124# CHECK-DISABLED: BICS125 BICS.W r0, r1, #0xFFFFFF00126# CHECK: ands r0, r1, #255127# CHECK-DISABLED: note: instruction requires: NegativeImmediates128# CHECK-DISABLED: BICS.W129 BIC r0, r1, #0xFEFFFEFF130# CHECK: and r0, r1, #16777472 @ encoding: [0x01,0xf0,0x01,0x20]131# CHECK-DISABLED: note: instruction requires: NegativeImmediates132# CHECK-DISABLED: BIC133 ORR r0, r1, #0xFFFFFF00134# CHECK-DISABLED: note: instruction requires: NegativeImmediates135# CHECK-DISABLED: ORR136# CHECK: orn r0, r1, #255137 ORR r0, r1, #0xFEFFFEFF138# CHECK: orn r0, r1, #16777472 @ encoding: [0x61,0xf0,0x01,0x20]139# CHECK-DISABLED: note: instruction requires: NegativeImmediates140# CHECK-DISABLED: ORR141 ORN r0, r1, #0xFFFFFF00142# CHECK: orr r0, r1, #255143# CHECK-DISABLED: note: instruction requires: NegativeImmediates144# CHECK-DISABLED: ORN145 ORN r0, r1, #0xFEFFFEFF146# CHECK: orr r0, r1, #16777472 @ encoding: [0x41,0xf0,0x01,0x20]147# CHECK-DISABLED: note: instruction requires: NegativeImmediates148# CHECK-DISABLED: ORN149 CMP r0, #0xFFFFFF01150# CHECK: cmn.w r0, #255151# CHECK-DISABLED: note: instruction requires: NegativeImmediates152# CHECK-DISABLED: CMP153 CMN r0, #0xFFFFFF01154# CHECK: cmp.w r0, #255155# CHECK-DISABLED: note: instruction requires: NegativeImmediates156# CHECK-DISABLED: CMN157 MOV r0, #0xFFFFFF00158# CHECK: mvn r0, #255159# CHECK-DISABLED: note: instruction requires: NegativeImmediates160# CHECK-DISABLED: MOV161 MVN r0, #0xFFFFFF00162# CHECK: mov.w r0, #255163# CHECK-DISABLED: note: instruction requires: NegativeImmediates164# CHECK-DISABLED: MVN165 SBC r0, r1, #0xFFFFFF00166# CHECK: adc r0, r1, #255167# CHECK-DISABLED: note: instruction requires: NegativeImmediates168# CHECK-DISABLED: SBC169 SUBW r0, r1, #0xFFFFFF01170# CHECK: addw r0, r1, #255171# CHECK-DISABLED: note: instruction requires: NegativeImmediates172# CHECK-DISABLED: SUBW173 SUB.W r0, r1, #0xFFFFFF01174# CHECK: add.w r0, r1, #255175# CHECK-DISABLED: note: instruction requires: NegativeImmediates176# CHECK-DISABLED: SUB.W177 SUB r0, r1, #0xFFFFFF00178# CHECK: add.w r0, r1, #256179# CHECK-DISABLED: note: instruction requires: NegativeImmediates180# CHECK-DISABLED: SUB181 SUBS r0, r1, #0xFFFFFF00182# CHECK: adds.w r0, r1, #256183# CHECK-DISABLED: note: instruction requires: NegativeImmediates184# CHECK-DISABLED: SUBS185 SUBS.W r0, r1, #0xFFFFFF00186# CHECK: adds.w r0, r1, #256187# CHECK-DISABLED: note: instruction requires: NegativeImmediates188# CHECK-DISABLED: SUBS.W189 190 ADD r0, r1, #-13191# CHECK: sub.w r0, r1, #13192# CHECK-DISABLED: note: instruction requires: NegativeImmediates193# CHECK-DISABLED: ADD194