1@ PR28647
2@ RUN: llvm-mc < %s -triple=thumbv7a-linux-gnueabi -filetype=obj -o - \
3@ RUN: | llvm-objdump -d --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