Update tests to not be as dependent on section numbers.
[oota-llvm.git] / test / MC / ARM / neont2-shiftaccum-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unknown -show-encoding < %s | FileCheck %s
2
3 .code 16
4
5         vsra.s8 d17, d16, #8
6         vsra.s16 d15, d14, #16
7         vsra.s32 d13, d12, #32
8         vsra.s64 d11, d10, #64
9         vsra.s8 q7, q2, #8
10         vsra.s16 q3, q6, #16
11         vsra.s32 q9, q5, #32
12         vsra.s64 q8, q4, #64
13         vsra.u8 d17, d16, #8
14         vsra.u16 d11, d14, #11
15         vsra.u32 d12, d15, #22
16         vsra.u64 d13, d16, #54
17         vsra.u8 q1, q7, #8
18         vsra.u16 q2, q7, #6
19         vsra.u32 q3, q6, #21
20         vsra.u64 q4, q5, #25
21
22         @ Two-operand syntax variant.
23         vsra.s8 d16, #8
24         vsra.s16 d14, #16
25         vsra.s32 d12, #32
26         vsra.s64 d10, #64
27         vsra.s8 q2, #8
28         vsra.s16 q6, #16
29         vsra.s32 q5, #32
30         vsra.s64 q4, #64
31         vsra.u8 d16, #8
32         vsra.u16 d14, #11
33         vsra.u32 d15, #22
34         vsra.u64 d16, #54
35         vsra.u8 q7, #8
36         vsra.u16 q7, #6
37         vsra.u32 q6, #21
38         vsra.u64 q5, #25
39
40 @ CHECK: vsra.s8        d17, d16, #8    @ encoding: [0xc8,0xef,0x30,0x11]
41 @ CHECK: vsra.s16       d15, d14, #16   @ encoding: [0x90,0xef,0x1e,0xf1]
42 @ CHECK: vsra.s32       d13, d12, #32   @ encoding: [0xa0,0xef,0x1c,0xd1]
43 @ CHECK: vsra.s64       d11, d10, #64   @ encoding: [0x80,0xef,0x9a,0xb1]
44 @ CHECK: vsra.s8        q7, q2, #8      @ encoding: [0x88,0xef,0x54,0xe1]
45 @ CHECK: vsra.s16       q3, q6, #16     @ encoding: [0x90,0xef,0x5c,0x61]
46 @ CHECK: vsra.s32       q9, q5, #32     @ encoding: [0xe0,0xef,0x5a,0x21]
47 @ CHECK: vsra.s64       q8, q4, #64     @ encoding: [0xc0,0xef,0xd8,0x01]
48 @ CHECK: vsra.u8        d17, d16, #8    @ encoding: [0xc8,0xff,0x30,0x11]
49 @ CHECK: vsra.u16       d11, d14, #11   @ encoding: [0x95,0xff,0x1e,0xb1]
50 @ CHECK: vsra.u32       d12, d15, #22   @ encoding: [0xaa,0xff,0x1f,0xc1]
51 @ CHECK: vsra.u64       d13, d16, #54   @ encoding: [0x8a,0xff,0xb0,0xd1]
52 @ CHECK: vsra.u8        q1, q7, #8      @ encoding: [0x88,0xff,0x5e,0x21]
53 @ CHECK: vsra.u16       q2, q7, #6      @ encoding: [0x9a,0xff,0x5e,0x41]
54 @ CHECK: vsra.u32       q3, q6, #21     @ encoding: [0xab,0xff,0x5c,0x61]
55 @ CHECK: vsra.u64       q4, q5, #25     @ encoding: [0xa7,0xff,0xda,0x81]
56
57 @ CHECK: vsra.s8        d16, d16, #8            @ encoding: [0xc8,0xef,0x30,0x01]
58 @ CHECK: vsra.s16       d14, d14, #16   @ encoding: [0x90,0xef,0x1e,0xe1]
59 @ CHECK: vsra.s32       d12, d12, #32   @ encoding: [0xa0,0xef,0x1c,0xc1]
60 @ CHECK: vsra.s64       d10, d10, #64   @ encoding: [0x80,0xef,0x9a,0xa1]
61 @ CHECK: vsra.s8        q2, q2, #8              @ encoding: [0x88,0xef,0x54,0x41]
62 @ CHECK: vsra.s16       q6, q6, #16     @ encoding: [0x90,0xef,0x5c,0xc1]
63 @ CHECK: vsra.s32       q5, q5, #32     @ encoding: [0xa0,0xef,0x5a,0xa1]
64 @ CHECK: vsra.s64       q4, q4, #64     @ encoding: [0x80,0xef,0xd8,0x81]
65 @ CHECK: vsra.u8        d16, d16, #8            @ encoding: [0xc8,0xff,0x30,0x01]
66 @ CHECK: vsra.u16       d14, d14, #11   @ encoding: [0x95,0xff,0x1e,0xe1]
67 @ CHECK: vsra.u32       d15, d15, #22   @ encoding: [0xaa,0xff,0x1f,0xf1]
68 @ CHECK: vsra.u64       d16, d16, #54   @ encoding: [0xca,0xff,0xb0,0x01]
69 @ CHECK: vsra.u8        q7, q7, #8              @ encoding: [0x88,0xff,0x5e,0xe1]
70 @ CHECK: vsra.u16       q7, q7, #6      @ encoding: [0x9a,0xff,0x5e,0xe1]
71 @ CHECK: vsra.u32       q6, q6, #21     @ encoding: [0xab,0xff,0x5c,0xc1]
72 @ CHECK: vsra.u64       q5, q5, #25     @ encoding: [0xa7,0xff,0xda,0xa1]
73
74
75         vrsra.s8 d5, d26, #8
76         vrsra.s16 d6, d25, #16
77         vrsra.s32 d7, d24, #32
78         vrsra.s64 d14, d23, #64
79         vrsra.u8 d15, d22, #8
80         vrsra.u16 d16, d21, #16
81         vrsra.u32 d17, d20, #32
82         vrsra.u64 d18, d19, #64
83         vrsra.s8 q1, q2, #8
84         vrsra.s16 q2, q3, #16
85         vrsra.s32 q3, q4, #32
86         vrsra.s64 q4, q5, #64
87         vrsra.u8 q5, q6, #8
88         vrsra.u16 q6, q7, #16
89         vrsra.u32 q7, q8, #32
90         vrsra.u64 q8, q9, #64
91
92         @ Two-operand syntax variant.
93         vrsra.s8 d26, #8
94         vrsra.s16 d25, #16
95         vrsra.s32 d24, #32
96         vrsra.s64 d23, #64
97         vrsra.u8 d22, #8
98         vrsra.u16 d21, #16
99         vrsra.u32 d20, #32
100         vrsra.u64 d19, #64
101         vrsra.s8 q2, #8
102         vrsra.s16 q3, #16
103         vrsra.s32 q4, #32
104         vrsra.s64 q5, #64
105         vrsra.u8 q6, #8
106         vrsra.u16 q7, #16
107         vrsra.u32 q8, #32
108         vrsra.u64 q9, #64
109
110 @ CHECK: vrsra.s8       d5, d26, #8     @ encoding: [0x88,0xef,0x3a,0x53]
111 @ CHECK: vrsra.s16      d6, d25, #16    @ encoding: [0x90,0xef,0x39,0x63]
112 @ CHECK: vrsra.s32      d7, d24, #32    @ encoding: [0xa0,0xef,0x38,0x73]
113 @ CHECK: vrsra.s64      d14, d23, #64   @ encoding: [0x80,0xef,0xb7,0xe3]
114 @ CHECK: vrsra.u8       d15, d22, #8    @ encoding: [0x88,0xff,0x36,0xf3]
115 @ CHECK: vrsra.u16      d16, d21, #16   @ encoding: [0xd0,0xff,0x35,0x03]
116 @ CHECK: vrsra.u32      d17, d20, #32   @ encoding: [0xe0,0xff,0x34,0x13]
117 @ CHECK: vrsra.u64      d18, d19, #64   @ encoding: [0xc0,0xff,0xb3,0x23]
118 @ CHECK: vrsra.s8       q1, q2, #8      @ encoding: [0x88,0xef,0x54,0x23]
119 @ CHECK: vrsra.s16      q2, q3, #16     @ encoding: [0x90,0xef,0x56,0x43]
120 @ CHECK: vrsra.s32      q3, q4, #32     @ encoding: [0xa0,0xef,0x58,0x63]
121 @ CHECK: vrsra.s64      q4, q5, #64     @ encoding: [0x80,0xef,0xda,0x83]
122 @ CHECK: vrsra.u8       q5, q6, #8      @ encoding: [0x88,0xff,0x5c,0xa3]
123 @ CHECK: vrsra.u16      q6, q7, #16     @ encoding: [0x90,0xff,0x5e,0xc3]
124 @ CHECK: vrsra.u32      q7, q8, #32     @ encoding: [0xa0,0xff,0x70,0xe3]
125 @ CHECK: vrsra.u64      q8, q9, #64     @ encoding: [0xc0,0xff,0xf2,0x03]
126
127 @ CHECK: vrsra.s8       d26, d26, #8    @ encoding: [0xc8,0xef,0x3a,0xa3]
128 @ CHECK: vrsra.s16      d25, d25, #16   @ encoding: [0xd0,0xef,0x39,0x93]
129 @ CHECK: vrsra.s32      d24, d24, #32   @ encoding: [0xe0,0xef,0x38,0x83]
130 @ CHECK: vrsra.s64      d23, d23, #64   @ encoding: [0xc0,0xef,0xb7,0x73]
131 @ CHECK: vrsra.u8       d22, d22, #8    @ encoding: [0xc8,0xff,0x36,0x63]
132 @ CHECK: vrsra.u16      d21, d21, #16   @ encoding: [0xd0,0xff,0x35,0x53]
133 @ CHECK: vrsra.u32      d20, d20, #32   @ encoding: [0xe0,0xff,0x34,0x43]
134 @ CHECK: vrsra.u64      d19, d19, #64   @ encoding: [0xc0,0xff,0xb3,0x33]
135 @ CHECK: vrsra.s8       q2, q2, #8      @ encoding: [0x88,0xef,0x54,0x43]
136 @ CHECK: vrsra.s16      q3, q3, #16     @ encoding: [0x90,0xef,0x56,0x63]
137 @ CHECK: vrsra.s32      q4, q4, #32     @ encoding: [0xa0,0xef,0x58,0x83]
138 @ CHECK: vrsra.s64      q5, q5, #64     @ encoding: [0x80,0xef,0xda,0xa3]
139 @ CHECK: vrsra.u8       q6, q6, #8      @ encoding: [0x88,0xff,0x5c,0xc3]
140 @ CHECK: vrsra.u16      q7, q7, #16     @ encoding: [0x90,0xff,0x5e,0xe3]
141 @ CHECK: vrsra.u32      q8, q8, #32     @ encoding: [0xe0,0xff,0x70,0x03]
142 @ CHECK: vrsra.u64      q9, q9, #64     @ encoding: [0xc0,0xff,0xf2,0x23]
143
144
145         vsli.8 d11, d12, #7
146         vsli.16 d12, d13, #15
147         vsli.32 d13, d14, #31
148         vsli.64 d14, d15, #63
149         vsli.8 q1, q8, #7
150         vsli.16 q2, q7, #15
151         vsli.32 q3, q4, #31
152         vsli.64 q4, q5, #63
153         vsri.8 d28, d11, #8
154         vsri.16 d26, d12, #16
155         vsri.32 d24, d13, #32
156         vsri.64 d21, d14, #64
157         vsri.8 q1, q8, #8
158         vsri.16 q5, q2, #16
159         vsri.32 q7, q4, #32
160         vsri.64 q9, q6, #64
161
162         @ Two-operand syntax variant.
163         vsli.8 d12, #7
164         vsli.16 d13, #15
165         vsli.32 d14, #31
166         vsli.64 d15, #63
167         vsli.8 q8, #7
168         vsli.16 q7, #15
169         vsli.32 q4, #31
170         vsli.64 q5, #63
171         vsri.8 d11, #8
172         vsri.16 d12, #16
173         vsri.32 d13, #32
174         vsri.64 d14, #64
175         vsri.8 q8, #8
176         vsri.16 q2, #16
177         vsri.32 q4, #32
178         vsri.64 q6, #64
179
180 @ CHECK: vsli.8 d11, d12, #7            @ encoding: [0x8f,0xff,0x1c,0xb5]
181 @ CHECK: vsli.16        d12, d13, #15   @ encoding: [0x9f,0xff,0x1d,0xc5]
182 @ CHECK: vsli.32        d13, d14, #31   @ encoding: [0xbf,0xff,0x1e,0xd5]
183 @ CHECK: vsli.64        d14, d15, #63   @ encoding: [0xbf,0xff,0x9f,0xe5]
184 @ CHECK: vsli.8 q1, q8, #7              @ encoding: [0x8f,0xff,0x70,0x25]
185 @ CHECK: vsli.16        q2, q7, #15     @ encoding: [0x9f,0xff,0x5e,0x45]
186 @ CHECK: vsli.32        q3, q4, #31     @ encoding: [0xbf,0xff,0x58,0x65]
187 @ CHECK: vsli.64        q4, q5, #63     @ encoding: [0xbf,0xff,0xda,0x85]
188 @ CHECK: vsri.8 d28, d11, #8            @ encoding: [0xc8,0xff,0x1b,0xc4]
189 @ CHECK: vsri.16        d26, d12, #16   @ encoding: [0xd0,0xff,0x1c,0xa4]
190 @ CHECK: vsri.32        d24, d13, #32   @ encoding: [0xe0,0xff,0x1d,0x84]
191 @ CHECK: vsri.64        d21, d14, #64   @ encoding: [0xc0,0xff,0x9e,0x54]
192 @ CHECK: vsri.8 q1, q8, #8              @ encoding: [0x88,0xff,0x70,0x24]
193 @ CHECK: vsri.16        q5, q2, #16     @ encoding: [0x90,0xff,0x54,0xa4]
194 @ CHECK: vsri.32        q7, q4, #32     @ encoding: [0xa0,0xff,0x58,0xe4]
195 @ CHECK: vsri.64        q9, q6, #64     @ encoding: [0xc0,0xff,0xdc,0x24]
196
197 @ CHECK: vsli.8 d12, d12, #7            @ encoding: [0x8f,0xff,0x1c,0xc5]
198 @ CHECK: vsli.16        d13, d13, #15           @ encoding: [0x9f,0xff,0x1d,0xd5]
199 @ CHECK: vsli.32        d14, d14, #31           @ encoding: [0xbf,0xff,0x1e,0xe5]
200 @ CHECK: vsli.64        d15, d15, #63           @ encoding: [0xbf,0xff,0x9f,0xf5]
201 @ CHECK: vsli.8 q8, q8, #7              @ encoding: [0xcf,0xff,0x70,0x05]
202 @ CHECK: vsli.16        q7, q7, #15             @ encoding: [0x9f,0xff,0x5e,0xe5]
203 @ CHECK: vsli.32        q4, q4, #31             @ encoding: [0xbf,0xff,0x58,0x85]
204 @ CHECK: vsli.64        q5, q5, #63             @ encoding: [0xbf,0xff,0xda,0xa5]
205 @ CHECK: vsri.8 d11, d11, #8            @ encoding: [0x88,0xff,0x1b,0xb4]
206 @ CHECK: vsri.16        d12, d12, #16           @ encoding: [0x90,0xff,0x1c,0xc4]
207 @ CHECK: vsri.32        d13, d13, #32           @ encoding: [0xa0,0xff,0x1d,0xd4]
208 @ CHECK: vsri.64        d14, d14, #64           @ encoding: [0x80,0xff,0x9e,0xe4]
209 @ CHECK: vsri.8 q8, q8, #8              @ encoding: [0xc8,0xff,0x70,0x04]
210 @ CHECK: vsri.16        q2, q2, #16             @ encoding: [0x90,0xff,0x54,0x44]
211 @ CHECK: vsri.32        q4, q4, #32             @ encoding: [0xa0,0xff,0x58,0x84]
212 @ CHECK: vsri.64        q6, q6, #64             @ encoding: [0x80,0xff,0xdc,0xc4]