blob: 27d179e566b9e9692383e0d8d9db16ab586ab94c [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
Bill Wendling620d0cc2011-03-09 00:33:17 +0000179 vsli.8 d16, d16, #7
Bill Wendling620d0cc2011-03-09 00:33:17 +0000180 vsli.16 d16, d16, #15
Bill Wendling620d0cc2011-03-09 00:33:17 +0000181 vsli.32 d16, d16, #31
Bill Wendling620d0cc2011-03-09 00:33:17 +0000182 vsli.64 d16, d16, #63
Bill Wendling620d0cc2011-03-09 00:33:17 +0000183 vsli.8 q8, q8, #7
Bill Wendling620d0cc2011-03-09 00:33:17 +0000184 vsli.16 q8, q8, #15
Bill Wendling620d0cc2011-03-09 00:33:17 +0000185 vsli.32 q8, q8, #31
Bill Wendling620d0cc2011-03-09 00:33:17 +0000186 vsli.64 q8, q8, #63
Jim Grosbach28f1f912012-01-24 17:46:54 +0000187
188@ CHECK: vsli.8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf3]
189@ CHECK: vsli.16 d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf3]
190@ CHECK: vsli.32 d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf3]
191@ CHECK: vsli.64 d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf3]
192@ CHECK: vsli.8 q8, q8, #7 @ encoding: [0x70,0x05,0xcf,0xf3]
193@ CHECK: vsli.16 q8, q8, #15 @ encoding: [0x70,0x05,0xdf,0xf3]
194@ CHECK: vsli.32 q8, q8, #31 @ encoding: [0x70,0x05,0xff,0xf3]
195@ CHECK: vsli.64 q8, q8, #63 @ encoding: [0xf0,0x05,0xff,0xf3]
196
197
Bill Wendling7c6b6082011-03-08 23:48:09 +0000198@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000199 vshll.s8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000200@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000201 vshll.s16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000202@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000203 vshll.s32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000204@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000205 vshll.u8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000206@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000207 vshll.u16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000208@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000209 vshll.u32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000210@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000211 vshll.i8 q8, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000212@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000213 vshll.i16 q8, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000214@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000215 vshll.i32 q8, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000216@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000217 vshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000218@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000219 vshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000220@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000221 vshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000222@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000223 vrshl.s8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000224@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000225 vrshl.s16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000226@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000227 vrshl.s32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000228@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000229 vrshl.s64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000230@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000231 vrshl.u8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000232@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000233 vrshl.u16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000234@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000235 vrshl.u32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000236@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000237 vrshl.u64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000238@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000239 vrshl.s8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000240@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000241 vrshl.s16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000242@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000243 vrshl.s32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000244@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000245 vrshl.s64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000246@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000247 vrshl.u8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000248@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000249 vrshl.u16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000250@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000251 vrshl.u32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000252@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000253 vrshl.u64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000254@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000255 vrshr.s8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000256@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000257 vrshr.s16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000258@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000259 vrshr.s32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000260@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000261 vrshr.s64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000262@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000263 vrshr.u8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000264@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000265 vrshr.u16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000266@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000267 vrshr.u32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000268@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000269 vrshr.u64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000270@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000271 vrshr.s8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000272@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000273 vrshr.s16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000274@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000275 vrshr.s32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000276@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000277 vrshr.s64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000278@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000279 vrshr.u8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000280@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000281 vrshr.u16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000282@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000283 vrshr.u32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000284@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000285 vrshr.u64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000286@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000287 vrshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000288@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000289 vrshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000290@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000291 vrshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000292@ CHECK: vqrshrn.s16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf2]
293 vqrshrn.s16 d16, q8, #4
294@ CHECK: vqrshrn.s32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf2]
295 vqrshrn.s32 d16, q8, #13
296@ CHECK: vqrshrn.s64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf2]
297 vqrshrn.s64 d16, q8, #13
298@ CHECK: vqrshrn.u16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf3]
299 vqrshrn.u16 d16, q8, #4
300@ CHECK: vqrshrn.u32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf3]
301 vqrshrn.u32 d16, q8, #13
302@ CHECK: vqrshrn.u64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf3]
303 vqrshrn.u64 d16, q8, #13
Jim Grosbachff4cbb42011-12-08 01:12:35 +0000304
305@ Optional destination operand variants.
306 vshl.s8 q4, q5
307 vshl.s16 q4, q5
308 vshl.s32 q4, q5
309 vshl.s64 q4, q5
310
311 vshl.u8 q4, q5
312 vshl.u16 q4, q5
313 vshl.u32 q4, q5
314 vshl.u64 q4, q5
315
316 vshl.s8 d4, d5
317 vshl.s16 d4, d5
318 vshl.s32 d4, d5
319 vshl.s64 d4, d5
320
321 vshl.u8 d4, d5
322 vshl.u16 d4, d5
323 vshl.u32 d4, d5
324 vshl.u64 d4, d5
325
326@ CHECK: vshl.s8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf2]
327@ CHECK: vshl.s16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf2]
328@ CHECK: vshl.s32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf2]
329@ CHECK: vshl.s64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf2]
330
331@ CHECK: vshl.u8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf3]
332@ CHECK: vshl.u16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf3]
333@ CHECK: vshl.u32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf3]
334@ CHECK: vshl.u64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf3]
335
336@ CHECK: vshl.s8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf2]
337@ CHECK: vshl.s16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf2]
338@ CHECK: vshl.s32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf2]
339@ CHECK: vshl.s64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf2]
340
341@ CHECK: vshl.u8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf3]
342@ CHECK: vshl.u16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf3]
343@ CHECK: vshl.u32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf3]
344@ CHECK: vshl.u64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf3]
Jim Grosbach730fe6c2011-12-08 01:30:04 +0000345
346 vshl.s8 q4, #2
347 vshl.s16 q4, #14
348 vshl.s32 q4, #27
349 vshl.s64 q4, #35
350
351 vshl.s8 d4, #6
352 vshl.u16 d4, #10
353 vshl.s32 d4, #17
354 vshl.u64 d4, #43
355
356@ CHECK: vshl.i8 q4, q4, #2 @ encoding: [0x58,0x85,0x8a,0xf2]
357@ CHECK: vshl.i16 q4, q4, #14 @ encoding: [0x58,0x85,0x9e,0xf2]
358@ CHECK: vshl.i32 q4, q4, #27 @ encoding: [0x58,0x85,0xbb,0xf2]
359@ CHECK: vshl.i64 q4, q4, #35 @ encoding: [0xd8,0x85,0xa3,0xf2]
360
361@ CHECK: vshl.i8 d4, d4, #6 @ encoding: [0x14,0x45,0x8e,0xf2]
362@ CHECK: vshl.i16 d4, d4, #10 @ encoding: [0x14,0x45,0x9a,0xf2]
363@ CHECK: vshl.i32 d4, d4, #17 @ encoding: [0x14,0x45,0xb1,0xf2]
364@ CHECK: vshl.i64 d4, d4, #43 @ encoding: [0x94,0x45,0xab,0xf2]