[AVX512] Add vpermil variable version
[oota-llvm.git] / test / MC / ARM / target-expressions.s
1 @ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s
2 @ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -r \
3 @ RUN:   | FileCheck -check-prefix CHECK-RELOCATIONS %s
4
5         .syntax unified
6
7         .type function,%function
8 function:
9         bx lr
10
11         .global external
12         .type external,%function
13
14 .set deadbeat, 0xdeadbea7
15
16         .type test,%function
17 test:
18         movw r0, :lower16:function
19         movt r0, :upper16:function
20
21         movw r1, #:lower16:function
22         movt r1, #:upper16:function
23
24         movw r2, :lower16:deadbeat
25         movt r2, :upper16:deadbeat
26
27         movw r3, #:lower16:deadbeat
28         movt r3, #:upper16:deadbeat
29
30         movw r4, :lower16:0xD1510D6E
31         movt r4, :upper16:0xD1510D6E
32
33         movw r5, #:lower16:0xD1510D6E
34         movt r5, #:upper16:0xD1510D6E
35
36         movw r0, :lower16:external
37         movt r0, :upper16:external
38
39         movw r1, #:lower16:external
40         movt r1, #:upper16:external
41
42         movw r2, #:lower16:(16 + 16)
43         movt r2, #:upper16:(16 + 16)
44
45         movw r3, :lower16:(16 + 16)
46         movt r3, :upper16:(16 + 16)
47
48 @ CHECK-LABEL: test:
49 @ CHECK:        movw r0, :lower16:function
50 @ CHECK:        movt r0, :upper16:function
51 @ CHECK:        movw r1, :lower16:function
52 @ CHECK:        movt r1, :upper16:function
53 @ CHECK:        movw r2, :lower16:(3735928487)
54 @ CHECK:        movt r2, :upper16:(3735928487)
55 @ CHECK:        movw r3, :lower16:(3735928487)
56 @ CHECK:        movt r3, :upper16:(3735928487)
57 @ CHECK:        movw r4, :lower16:(3511749998)
58 @ CHECK:        movt r4, :upper16:(3511749998)
59 @ CHECK:        movw r5, :lower16:(3511749998)
60 @ CHECK:        movt r5, :upper16:(3511749998)
61 @ CHECK:        movw r0, :lower16:external
62 @ CHECK:        movt r0, :upper16:external
63 @ CHECK:        movw r1, :lower16:external
64 @ CHECK:        movt r1, :upper16:external
65 @ CHECK:        movw r2, :lower16:(32)
66 @ CHECK:        movt r2, :upper16:(32)
67 @ CHECK:        movw r3, :lower16:(32)
68 @ CHECK:        movt r3, :upper16:(32)
69
70 @ CHECK-RELOCATIONS: Relocations [
71 @ CHECK-RELOCATIONS:   0x4 R_ARM_MOVW_ABS_NC function 0x0
72 @ CHECK-RELOCATIONS:   0x8 R_ARM_MOVT_ABS function 0x0
73 @ CHECK-RELOCATIONS:   0xC R_ARM_MOVW_ABS_NC function 0x0
74 @ CHECK-RELOCATIONS:   0x10 R_ARM_MOVT_ABS function 0x0
75 @ CHECK-RELOCATIONS:   0x34 R_ARM_MOVW_ABS_NC external 0x0
76 @ CHECK-RELOCATIONS:   0x38 R_ARM_MOVT_ABS external 0x0
77 @ CHECK-RELOCATIONS:   0x3C R_ARM_MOVW_ABS_NC external 0x0
78 @ CHECK-RELOCATIONS:   0x40 R_ARM_MOVT_ABS external 0x0
79 @ CHECK-RELOCATIONS: ]
80