blob: d47eeca8ee4bc7696bf10b6f0be9ac18d226e95d [file] [log] [blame]
Bob Wilson8d1b7e52010-12-15 22:14:01 +00001@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
Owen Andersonb8d14a62010-11-01 05:23:58 +00002
Bill Wendling7c6b6082011-03-08 23:48:09 +00003_foo:
Owen Andersonb8d14a62010-11-01 05:23:58 +00004 vshl.u8 d16, d17, d16
Owen Andersonb8d14a62010-11-01 05:23:58 +00005 vshl.u16 d16, d17, d16
Owen Andersonb8d14a62010-11-01 05:23:58 +00006 vshl.u32 d16, d17, d16
Owen Andersonb8d14a62010-11-01 05:23:58 +00007 vshl.u64 d16, d17, d16
Owen Andersonb8d14a62010-11-01 05:23:58 +00008 vshl.i8 d16, d16, #7
Owen Andersonb8d14a62010-11-01 05:23:58 +00009 vshl.i16 d16, d16, #15
Owen Andersonb8d14a62010-11-01 05:23:58 +000010 vshl.i32 d16, d16, #31
Owen Andersonb8d14a62010-11-01 05:23:58 +000011 vshl.i64 d16, d16, #63
Owen Andersonb8d14a62010-11-01 05:23:58 +000012 vshl.u8 q8, q9, q8
Owen Andersonb8d14a62010-11-01 05:23:58 +000013 vshl.u16 q8, q9, q8
Owen Andersonb8d14a62010-11-01 05:23:58 +000014 vshl.u32 q8, q9, q8
Owen Andersonb8d14a62010-11-01 05:23:58 +000015 vshl.u64 q8, q9, q8
Owen Andersonb8d14a62010-11-01 05:23:58 +000016 vshl.i8 q8, q8, #7
Owen Andersonb8d14a62010-11-01 05:23:58 +000017 vshl.i16 q8, q8, #15
Owen Andersonb8d14a62010-11-01 05:23:58 +000018 vshl.i32 q8, q8, #31
Owen Andersonb8d14a62010-11-01 05:23:58 +000019 vshl.i64 q8, q8, #63
Jim Grosbach318df742011-12-08 22:04:40 +000020
21@ CHECK: vshl.u8 d16, d17, d16 @ encoding: [0xa1,0x04,0x40,0xf3]
22@ CHECK: vshl.u16 d16, d17, d16 @ encoding: [0xa1,0x04,0x50,0xf3]
23@ CHECK: vshl.u32 d16, d17, d16 @ encoding: [0xa1,0x04,0x60,0xf3]
24@ CHECK: vshl.u64 d16, d17, d16 @ encoding: [0xa1,0x04,0x70,0xf3]
25@ CHECK: vshl.i8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf2]
26@ CHECK: vshl.i16 d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf2]
27@ CHECK: vshl.i32 d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf2]
28@ CHECK: vshl.i64 d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf2]
29@ CHECK: vshl.u8 q8, q9, q8 @ encoding: [0xe2,0x04,0x40,0xf3]
30@ CHECK: vshl.u16 q8, q9, q8 @ encoding: [0xe2,0x04,0x50,0xf3]
31@ CHECK: vshl.u32 q8, q9, q8 @ encoding: [0xe2,0x04,0x60,0xf3]
32@ CHECK: vshl.u64 q8, q9, q8 @ encoding: [0xe2,0x04,0x70,0xf3]
33@ CHECK: vshl.i8 q8, q8, #7 @ encoding: [0x70,0x05,0xcf,0xf2]
34@ CHECK: vshl.i16 q8, q8, #15 @ encoding: [0x70,0x05,0xdf,0xf2]
35@ CHECK: vshl.i32 q8, q8, #31 @ encoding: [0x70,0x05,0xff,0xf2]
36@ CHECK: vshl.i64 q8, q8, #63 @ encoding: [0xf0,0x05,0xff,0xf2]
37
38
Bill Wendling7c6b6082011-03-08 23:48:09 +000039 vshr.u8 d16, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000040 vshr.u16 d16, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000041 vshr.u32 d16, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000042 vshr.u64 d16, d16, #63
Bill Wendling7c6b6082011-03-08 23:48:09 +000043 vshr.u8 q8, q8, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000044 vshr.u16 q8, q8, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000045 vshr.u32 q8, q8, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000046 vshr.u64 q8, q8, #63
Bill Wendling7c6b6082011-03-08 23:48:09 +000047 vshr.s8 d16, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000048 vshr.s16 d16, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000049 vshr.s32 d16, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000050 vshr.s64 d16, d16, #63
Bill Wendling7c6b6082011-03-08 23:48:09 +000051 vshr.s8 q8, q8, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +000052 vshr.s16 q8, q8, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +000053 vshr.s32 q8, q8, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +000054 vshr.s64 q8, q8, #63
Jim Grosbach318df742011-12-08 22:04:40 +000055
56@ CHECK: vshr.u8 d16, d16, #7 @ encoding: [0x30,0x00,0xc9,0xf3]
57@ CHECK: vshr.u16 d16, d16, #15 @ encoding: [0x30,0x00,0xd1,0xf3]
58@ CHECK: vshr.u32 d16, d16, #31 @ encoding: [0x30,0x00,0xe1,0xf3]
59@ CHECK: vshr.u64 d16, d16, #63 @ encoding: [0xb0,0x00,0xc1,0xf3]
60@ CHECK: vshr.u8 q8, q8, #7 @ encoding: [0x70,0x00,0xc9,0xf3]
61@ CHECK: vshr.u16 q8, q8, #15 @ encoding: [0x70,0x00,0xd1,0xf3]
62@ CHECK: vshr.u32 q8, q8, #31 @ encoding: [0x70,0x00,0xe1,0xf3]
63@ CHECK: vshr.u64 q8, q8, #63 @ encoding: [0xf0,0x00,0xc1,0xf3]
64@ CHECK: vshr.s8 d16, d16, #7 @ encoding: [0x30,0x00,0xc9,0xf2]
65@ CHECK: vshr.s16 d16, d16, #15 @ encoding: [0x30,0x00,0xd1,0xf2]
66@ CHECK: vshr.s32 d16, d16, #31 @ encoding: [0x30,0x00,0xe1,0xf2]
67@ CHECK: vshr.s64 d16, d16, #63 @ encoding: [0xb0,0x00,0xc1,0xf2]
68@ CHECK: vshr.s8 q8, q8, #7 @ encoding: [0x70,0x00,0xc9,0xf2]
69@ CHECK: vshr.s16 q8, q8, #15 @ encoding: [0x70,0x00,0xd1,0xf2]
70@ CHECK: vshr.s32 q8, q8, #31 @ encoding: [0x70,0x00,0xe1,0xf2]
71@ CHECK: vshr.s64 q8, q8, #63 @ encoding: [0xf0,0x00,0xc1,0xf2]
72
Jim Grosbach6b044c22011-12-08 22:06:06 +000073@ implied destination operand variants.
74 vshr.u8 d16, #7
75 vshr.u16 d16, #15
76 vshr.u32 d16, #31
77 vshr.u64 d16, #63
78 vshr.u8 q8, #7
79 vshr.u16 q8, #15
80 vshr.u32 q8, #31
81 vshr.u64 q8, #63
82 vshr.s8 d16, #7
83 vshr.s16 d16, #15
84 vshr.s32 d16, #31
85 vshr.s64 d16, #63
86 vshr.s8 q8, #7
87 vshr.s16 q8, #15
88 vshr.s32 q8, #31
89 vshr.s64 q8, #63
90
91@ CHECK: vshr.u8 d16, d16, #7 @ encoding: [0x30,0x00,0xc9,0xf3]
92@ CHECK: vshr.u16 d16, d16, #15 @ encoding: [0x30,0x00,0xd1,0xf3]
93@ CHECK: vshr.u32 d16, d16, #31 @ encoding: [0x30,0x00,0xe1,0xf3]
94@ CHECK: vshr.u64 d16, d16, #63 @ encoding: [0xb0,0x00,0xc1,0xf3]
95@ CHECK: vshr.u8 q8, q8, #7 @ encoding: [0x70,0x00,0xc9,0xf3]
96@ CHECK: vshr.u16 q8, q8, #15 @ encoding: [0x70,0x00,0xd1,0xf3]
97@ CHECK: vshr.u32 q8, q8, #31 @ encoding: [0x70,0x00,0xe1,0xf3]
98@ CHECK: vshr.u64 q8, q8, #63 @ encoding: [0xf0,0x00,0xc1,0xf3]
99@ CHECK: vshr.s8 d16, d16, #7 @ encoding: [0x30,0x00,0xc9,0xf2]
100@ CHECK: vshr.s16 d16, d16, #15 @ encoding: [0x30,0x00,0xd1,0xf2]
101@ CHECK: vshr.s32 d16, d16, #31 @ encoding: [0x30,0x00,0xe1,0xf2]
102@ CHECK: vshr.s64 d16, d16, #63 @ encoding: [0xb0,0x00,0xc1,0xf2]
103@ CHECK: vshr.s8 q8, q8, #7 @ encoding: [0x70,0x00,0xc9,0xf2]
104@ CHECK: vshr.s16 q8, q8, #15 @ encoding: [0x70,0x00,0xd1,0xf2]
105@ CHECK: vshr.s32 q8, q8, #31 @ encoding: [0x70,0x00,0xe1,0xf2]
106@ CHECK: vshr.s64 q8, q8, #63 @ encoding: [0xf0,0x00,0xc1,0xf2]
107
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000108 vsra.u8 d16, d16, #7
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000109 vsra.u16 d16, d16, #15
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000110 vsra.u32 d16, d16, #31
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000111 vsra.u64 d16, d16, #63
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000112 vsra.u8 q8, q8, #7
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000113 vsra.u16 q8, q8, #15
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000114 vsra.u32 q8, q8, #31
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000115 vsra.u64 q8, q8, #63
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000116 vsra.s8 d16, d16, #7
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000117 vsra.s16 d16, d16, #15
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000118 vsra.s32 d16, d16, #31
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000119 vsra.s64 d16, d16, #63
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000120 vsra.s8 q8, q8, #7
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000121 vsra.s16 q8, q8, #15
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000122 vsra.s32 q8, q8, #31
Bill Wendlingc04a9de2011-03-09 00:00:35 +0000123 vsra.s64 q8, q8, #63
Jim Grosbach28f1f912012-01-24 17:46:54 +0000124
125@ CHECK: vsra.u8 d16, d16, #7 @ encoding: [0x30,0x01,0xc9,0xf3]
126@ CHECK: vsra.u16 d16, d16, #15 @ encoding: [0x30,0x01,0xd1,0xf3]
127@ CHECK: vsra.u32 d16, d16, #31 @ encoding: [0x30,0x01,0xe1,0xf3]
128@ CHECK: vsra.u64 d16, d16, #63 @ encoding: [0xb0,0x01,0xc1,0xf3]
129@ CHECK: vsra.u8 q8, q8, #7 @ encoding: [0x70,0x01,0xc9,0xf3]
130@ CHECK: vsra.u16 q8, q8, #15 @ encoding: [0x70,0x01,0xd1,0xf3]
131@ CHECK: vsra.u32 q8, q8, #31 @ encoding: [0x70,0x01,0xe1,0xf3]
132@ CHECK: vsra.u64 q8, q8, #63 @ encoding: [0xf0,0x01,0xc1,0xf3]
133@ CHECK: vsra.s8 d16, d16, #7 @ encoding: [0x30,0x01,0xc9,0xf2]
134@ CHECK: vsra.s16 d16, d16, #15 @ encoding: [0x30,0x01,0xd1,0xf2]
135@ CHECK: vsra.s32 d16, d16, #31 @ encoding: [0x30,0x01,0xe1,0xf2]
136@ CHECK: vsra.s64 d16, d16, #63 @ encoding: [0xb0,0x01,0xc1,0xf2]
137@ CHECK: vsra.s8 q8, q8, #7 @ encoding: [0x70,0x01,0xc9,0xf2]
138@ CHECK: vsra.s16 q8, q8, #15 @ encoding: [0x70,0x01,0xd1,0xf2]
139@ CHECK: vsra.s32 q8, q8, #31 @ encoding: [0x70,0x01,0xe1,0xf2]
140@ CHECK: vsra.s64 q8, q8, #63 @ encoding: [0xf0,0x01,0xc1,0xf2]
141
142
Jim Grosbachd8ee0cc2012-01-24 17:46:58 +0000143 vsri.8 d16, d6, #7
144 vsri.16 d26, d18, #15
145 vsri.32 d11, d10, #31
146 vsri.64 d12, d19, #63
147 vsri.8 q1, q8, #7
148 vsri.16 q2, q7, #15
149 vsri.32 q3, q6, #31
150 vsri.64 q4, q5, #63
Jim Grosbach28f1f912012-01-24 17:46:54 +0000151
Jim Grosbachd8ee0cc2012-01-24 17:46:58 +0000152 vsri.8 d16, #7
153 vsri.16 d15, #15
154 vsri.32 d14, #31
155 vsri.64 d13, #63
156 vsri.8 q4, #7
157 vsri.16 q5, #15
158 vsri.32 q6, #31
159 vsri.64 q7, #63
160
161@ CHECK: vsri.8 d16, d6, #7 @ encoding: [0x16,0x04,0xc9,0xf3]
162@ CHECK: vsri.16 d26, d18, #15 @ encoding: [0x32,0xa4,0xd1,0xf3]
163@ CHECK: vsri.32 d11, d10, #31 @ encoding: [0x1a,0xb4,0xa1,0xf3]
164@ CHECK: vsri.64 d12, d19, #63 @ encoding: [0xb3,0xc4,0x81,0xf3]
165@ CHECK: vsri.8 q1, q8, #7 @ encoding: [0x70,0x24,0x89,0xf3]
166@ CHECK: vsri.16 q2, q7, #15 @ encoding: [0x5e,0x44,0x91,0xf3]
167@ CHECK: vsri.32 q3, q6, #31 @ encoding: [0x5c,0x64,0xa1,0xf3]
168@ CHECK: vsri.64 q4, q5, #63 @ encoding: [0xda,0x84,0x81,0xf3]
169@ CHECK: vsri.8 d16, d16, #7 @ encoding: [0x30,0x04,0xc9,0xf3]
170@ CHECK: vsri.16 d15, d15, #15 @ encoding: [0x1f,0xf4,0x91,0xf3]
171@ CHECK: vsri.32 d14, d14, #31 @ encoding: [0x1e,0xe4,0xa1,0xf3]
172@ CHECK: vsri.64 d13, d13, #63 @ encoding: [0x9d,0xd4,0x81,0xf3]
173@ CHECK: vsri.8 q4, q4, #7 @ encoding: [0x58,0x84,0x89,0xf3]
174@ CHECK: vsri.16 q5, q5, #15 @ encoding: [0x5a,0xa4,0x91,0xf3]
175@ CHECK: vsri.32 q6, q6, #31 @ encoding: [0x5c,0xc4,0xa1,0xf3]
176@ CHECK: vsri.64 q7, q7, #63 @ encoding: [0xde,0xe4,0x81,0xf3]
Jim Grosbach28f1f912012-01-24 17:46:54 +0000177
178
Jim Grosbach5e497d32012-01-24 17:49:15 +0000179 vsli.8 d16, d6, #7
180 vsli.16 d26, d18, #15
181 vsli.32 d11, d10, #31
182 vsli.64 d12, d19, #63
183 vsli.8 q1, q8, #7
184 vsli.16 q2, q7, #15
185 vsli.32 q3, q6, #31
186 vsli.64 q4, q5, #63
Jim Grosbach28f1f912012-01-24 17:46:54 +0000187
Jim Grosbach5e497d32012-01-24 17:49:15 +0000188 vsli.8 d16, #7
189 vsli.16 d15, #15
190 vsli.32 d14, #31
191 vsli.64 d13, #63
192 vsli.8 q4, #7
193 vsli.16 q5, #15
194 vsli.32 q6, #31
195 vsli.64 q7, #63
196
197@ CHECK: vsli.8 d16, d6, #7 @ encoding: [0x16,0x05,0xcf,0xf3]
198@ CHECK: vsli.16 d26, d18, #15 @ encoding: [0x32,0xa5,0xdf,0xf3]
199@ CHECK: vsli.32 d11, d10, #31 @ encoding: [0x1a,0xb5,0xbf,0xf3]
200@ CHECK: vsli.64 d12, d19, #63 @ encoding: [0xb3,0xc5,0xbf,0xf3]
201@ CHECK: vsli.8 q1, q8, #7 @ encoding: [0x70,0x25,0x8f,0xf3]
202@ CHECK: vsli.16 q2, q7, #15 @ encoding: [0x5e,0x45,0x9f,0xf3]
203@ CHECK: vsli.32 q3, q6, #31 @ encoding: [0x5c,0x65,0xbf,0xf3]
204@ CHECK: vsli.64 q4, q5, #63 @ encoding: [0xda,0x85,0xbf,0xf3]
205@ CHECK: vsli.8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf3]
206@ CHECK: vsli.16 d15, d15, #15 @ encoding: [0x1f,0xf5,0x9f,0xf3]
207@ CHECK: vsli.32 d14, d14, #31 @ encoding: [0x1e,0xe5,0xbf,0xf3]
208@ CHECK: vsli.64 d13, d13, #63 @ encoding: [0x9d,0xd5,0xbf,0xf3]
209@ CHECK: vsli.8 q4, q4, #7 @ encoding: [0x58,0x85,0x8f,0xf3]
210@ CHECK: vsli.16 q5, q5, #15 @ encoding: [0x5a,0xa5,0x9f,0xf3]
211@ CHECK: vsli.32 q6, q6, #31 @ encoding: [0x5c,0xc5,0xbf,0xf3]
212@ CHECK: vsli.64 q7, q7, #63 @ encoding: [0xde,0xe5,0xbf,0xf3]
Jim Grosbach28f1f912012-01-24 17:46:54 +0000213
214
Bill Wendling7c6b6082011-03-08 23:48:09 +0000215@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000216 vshll.s8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000217@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000218 vshll.s16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000219@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000220 vshll.s32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000221@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000222 vshll.u8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000223@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000224 vshll.u16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000225@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000226 vshll.u32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000227@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000228 vshll.i8 q8, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000229@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000230 vshll.i16 q8, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000231@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000232 vshll.i32 q8, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000233@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000234 vshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000235@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000236 vshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000237@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000238 vshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000239@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000240 vrshl.s8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000241@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000242 vrshl.s16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000243@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000244 vrshl.s32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000245@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000246 vrshl.s64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000247@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000248 vrshl.u8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000249@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000250 vrshl.u16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000251@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000252 vrshl.u32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000253@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000254 vrshl.u64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000255@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000256 vrshl.s8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000257@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000258 vrshl.s16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000259@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000260 vrshl.s32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000261@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000262 vrshl.s64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000263@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000264 vrshl.u8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000265@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000266 vrshl.u16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000267@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000268 vrshl.u32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000269@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000270 vrshl.u64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000271@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000272 vrshr.s8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000273@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000274 vrshr.s16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000275@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000276 vrshr.s32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000277@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000278 vrshr.s64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000279@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000280 vrshr.u8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000281@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000282 vrshr.u16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000283@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000284 vrshr.u32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000285@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000286 vrshr.u64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000287@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000288 vrshr.s8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000289@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000290 vrshr.s16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000291@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000292 vrshr.s32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000293@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000294 vrshr.s64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000295@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000296 vrshr.u8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000297@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000298 vrshr.u16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000299@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000300 vrshr.u32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000301@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000302 vrshr.u64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000303@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000304 vrshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000305@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000306 vrshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000307@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000308 vrshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000309@ CHECK: vqrshrn.s16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf2]
310 vqrshrn.s16 d16, q8, #4
311@ CHECK: vqrshrn.s32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf2]
312 vqrshrn.s32 d16, q8, #13
313@ CHECK: vqrshrn.s64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf2]
314 vqrshrn.s64 d16, q8, #13
315@ CHECK: vqrshrn.u16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf3]
316 vqrshrn.u16 d16, q8, #4
317@ CHECK: vqrshrn.u32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf3]
318 vqrshrn.u32 d16, q8, #13
319@ CHECK: vqrshrn.u64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf3]
320 vqrshrn.u64 d16, q8, #13
Jim Grosbachff4cbb42011-12-08 01:12:35 +0000321
322@ Optional destination operand variants.
323 vshl.s8 q4, q5
324 vshl.s16 q4, q5
325 vshl.s32 q4, q5
326 vshl.s64 q4, q5
327
328 vshl.u8 q4, q5
329 vshl.u16 q4, q5
330 vshl.u32 q4, q5
331 vshl.u64 q4, q5
332
333 vshl.s8 d4, d5
334 vshl.s16 d4, d5
335 vshl.s32 d4, d5
336 vshl.s64 d4, d5
337
338 vshl.u8 d4, d5
339 vshl.u16 d4, d5
340 vshl.u32 d4, d5
341 vshl.u64 d4, d5
342
343@ CHECK: vshl.s8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf2]
344@ CHECK: vshl.s16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf2]
345@ CHECK: vshl.s32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf2]
346@ CHECK: vshl.s64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf2]
347
348@ CHECK: vshl.u8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf3]
349@ CHECK: vshl.u16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf3]
350@ CHECK: vshl.u32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf3]
351@ CHECK: vshl.u64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf3]
352
353@ CHECK: vshl.s8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf2]
354@ CHECK: vshl.s16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf2]
355@ CHECK: vshl.s32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf2]
356@ CHECK: vshl.s64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf2]
357
358@ CHECK: vshl.u8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf3]
359@ CHECK: vshl.u16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf3]
360@ CHECK: vshl.u32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf3]
361@ CHECK: vshl.u64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf3]
Jim Grosbach730fe6c2011-12-08 01:30:04 +0000362
363 vshl.s8 q4, #2
364 vshl.s16 q4, #14
365 vshl.s32 q4, #27
366 vshl.s64 q4, #35
367
368 vshl.s8 d4, #6
369 vshl.u16 d4, #10
370 vshl.s32 d4, #17
371 vshl.u64 d4, #43
372
373@ CHECK: vshl.i8 q4, q4, #2 @ encoding: [0x58,0x85,0x8a,0xf2]
374@ CHECK: vshl.i16 q4, q4, #14 @ encoding: [0x58,0x85,0x9e,0xf2]
375@ CHECK: vshl.i32 q4, q4, #27 @ encoding: [0x58,0x85,0xbb,0xf2]
376@ CHECK: vshl.i64 q4, q4, #35 @ encoding: [0xd8,0x85,0xa3,0xf2]
377
378@ CHECK: vshl.i8 d4, d4, #6 @ encoding: [0x14,0x45,0x8e,0xf2]
379@ CHECK: vshl.i16 d4, d4, #10 @ encoding: [0x14,0x45,0x9a,0xf2]
380@ CHECK: vshl.i32 d4, d4, #17 @ encoding: [0x14,0x45,0xb1,0xf2]
381@ CHECK: vshl.i64 d4, d4, #43 @ encoding: [0x94,0x45,0xab,0xf2]