1@ PR28647 2@ RUN: llvm-mc < %s -triple=thumbv7a-linux-gnueabi -filetype=obj -o - \ 3@ RUN: | llvm-objdump --disassemble -triple=thumbv7a-linux-gnueabi - | FileCheck %s 4 .text 5 .syntax unified 6 .balign 2 7@ Thumb2 modified immediate instructions 8 add r1,r1, sym0 9 sub r1,r2, sym1 10 cmp r2, sym2 11 and r4,r4, sym3 12 orr r8,r9, sym4 13 teq r1, sym5 14 tst r1, sym6 15 sbc r1,r1, sym7 16 adc r1,r0, sym8 17@CHECK: add.w r1, r1, #255 18@CHECK: sub.w r1, r2, #16711935 19@CHECK: cmp.w r2, #4278255360 20@CHECK: and r4, r4, #303174162 21@CHECK: orr r8, r9, #2852126720 22@CHECK: teq.w r1, #1426063360 23@CHECK: tst.w r1, #713031680 24@CHECK: sbc r1, r1, #2785280 25@CHECK: adc r1, r0, #340 26 27.L1: 28 sub r3, r3, #.L2 - .L1 29.L2: 30@CHECK: sub.w r3, r3, #4 31 32@ mov without :upper16: or :lower16: should match mov with modified immediate 33 mov r1, sym3 34@CHECK: mov.w r1, #303174162 35 36@ Modified immediate constants 37 .equ sym0, 0x000000ff 38 .equ sym1, 0x00ff00ff 39 .equ sym2, 0xff00ff00 40 .equ sym3, 0x12121212 41 .equ sym4, 0xaa000000 42 .equ sym5, 0x55000000 43 .equ sym6, 0x2a800000 44 .equ sym7, 0x002a8000 45 .equ sym8, 0x00000154 46