[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / ARM / t2-modified-immediate-fixup.s
blobad0fae2e666eed2e6d1880c8f4ab61baf2292468
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
27 .L1:
28 sub r3, r3, #.L2 - .L1
29 .L2:
30 @CHECK: sub.w r3, r3, #4
32 @ mov without :upper16: or :lower16: should match mov with modified immediate
33 mov r1, sym3
34 @CHECK: mov.w r1, #303174162
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