[AArch64] Add ARMv8.2-A persistent memory instruction
[oota-llvm.git] / test / MC / AArch64 / alias-addsubimm.s
1 // RUN: llvm-mc -triple=aarch64-none-linux-gnu < %s | FileCheck %s
2
3 // CHECK: sub w0, w2, #2, lsl #12
4 // CHECK: sub w0, w2, #2, lsl #12
5         sub w0, w2, #2, lsl 12
6         add w0, w2, #-2, lsl 12
7 // CHECK: sub x1, x3, #2, lsl #12
8 // CHECK: sub x1, x3, #2, lsl #12
9         sub x1, x3, #2, lsl 12
10         add x1, x3, #-2, lsl 12
11 // CHECK: sub x1, x3, #4
12 // CHECK: sub x1, x3, #4
13         sub x1, x3, #4
14         add x1, x3, #-4
15 // CHECK: sub x1, x3, #4095
16 // CHECK: sub x1, x3, #4095
17         sub x1, x3, #4095, lsl 0
18         add x1, x3, #-4095, lsl 0
19 // CHECK: sub x3, x4, #0
20         sub x3, x4, #0
21
22 // CHECK: add w0, w2, #2, lsl #12
23 // CHECK: add w0, w2, #2, lsl #12
24         add w0, w2, #2, lsl 12
25         sub w0, w2, #-2, lsl 12
26 // CHECK: add x1, x3, #2, lsl #12
27 // CHECK: add x1, x3, #2, lsl #12
28         add x1, x3, #2, lsl 12
29         sub x1, x3, #-2, lsl 12
30 // CHECK: add x1, x3, #4
31 // CHECK: add x1, x3, #4
32         add x1, x3, #4
33         sub x1, x3, #-4
34 // CHECK: add x1, x3, #4095
35 // CHECK: add x1, x3, #4095
36         add x1, x3, #4095, lsl 0
37         sub x1, x3, #-4095, lsl 0
38 // CHECK: add x2, x5, #0
39         add x2, x5, #0
40
41 // CHECK: subs w0, w2, #2, lsl #12
42 // CHECK: subs w0, w2, #2, lsl #12
43         subs w0, w2, #2, lsl 12
44         adds w0, w2, #-2, lsl 12
45 // CHECK: subs x1, x3, #2, lsl #12
46 // CHECK: subs x1, x3, #2, lsl #12
47         subs x1, x3, #2, lsl 12
48         adds x1, x3, #-2, lsl 12
49 // CHECK: subs x1, x3, #4
50 // CHECK: subs x1, x3, #4
51         subs x1, x3, #4
52         adds x1, x3, #-4
53 // CHECK: subs x1, x3, #4095
54 // CHECK: subs x1, x3, #4095
55         subs x1, x3, #4095, lsl 0
56         adds x1, x3, #-4095, lsl 0
57 // CHECK: subs x3, x4, #0
58         subs x3, x4, #0
59
60 // CHECK: adds w0, w2, #2, lsl #12
61 // CHECK: adds w0, w2, #2, lsl #12
62         adds w0, w2, #2, lsl 12
63         subs w0, w2, #-2, lsl 12
64 // CHECK: adds x1, x3, #2, lsl #12
65 // CHECK: adds x1, x3, #2, lsl #12
66         adds x1, x3, #2, lsl 12
67         subs x1, x3, #-2, lsl 12
68 // CHECK: adds x1, x3, #4
69 // CHECK: adds x1, x3, #4
70         adds x1, x3, #4
71         subs x1, x3, #-4
72 // CHECK: adds x1, x3, #4095
73 // CHECK: adds x1, x3, #4095
74         adds x1, x3, #4095, lsl 0
75         subs x1, x3, #-4095, lsl 0
76 // CHECK: adds x2, x5, #0
77         adds x2, x5, #0
78
79 // CHECK: {{adds xzr,|cmn}} x5, #5
80 // CHECK: {{adds xzr,|cmn}} x5, #5
81         cmn x5, #5
82         cmp x5, #-5
83 // CHECK: {{subs xzr,|cmp}} x6, #4095
84 // CHECK: {{subs xzr,|cmp}} x6, #4095
85         cmp x6, #4095
86         cmn x6, #-4095
87 // CHECK: {{adds wzr,|cmn}} w7, #5
88 // CHECK: {{adds wzr,|cmn}} w7, #5
89         cmn w7, #5
90         cmp w7, #-5
91 // CHECK: {{subs wzr,|cmp}} w8, #4095
92 // CHECK: {{subs wzr,|cmp}} w8, #4095
93         cmp w8, #4095
94         cmn w8, #-4095