blob: 70edd6b691fbb9d8676eb5b2a1664dbbe8c511c5 [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
Bill Wendling620d0cc2011-03-09 00:33:17 +0000143 vsri.8 d16, d16, #7
Bill Wendling620d0cc2011-03-09 00:33:17 +0000144 vsri.16 d16, d16, #15
Bill Wendling620d0cc2011-03-09 00:33:17 +0000145 vsri.32 d16, d16, #31
Bill Wendling620d0cc2011-03-09 00:33:17 +0000146 vsri.64 d16, d16, #63
Bill Wendling620d0cc2011-03-09 00:33:17 +0000147 vsri.8 q8, q8, #7
Bill Wendling620d0cc2011-03-09 00:33:17 +0000148 vsri.16 q8, q8, #15
Bill Wendling620d0cc2011-03-09 00:33:17 +0000149 vsri.32 q8, q8, #31
Bill Wendling620d0cc2011-03-09 00:33:17 +0000150 vsri.64 q8, q8, #63
Jim Grosbach28f1f912012-01-24 17:46:54 +0000151
152@ CHECK: vsri.8 d16, d16, #7 @ encoding: [0x30,0x04,0xc9,0xf3]
153@ CHECK: vsri.16 d16, d16, #15 @ encoding: [0x30,0x04,0xd1,0xf3]
154@ CHECK: vsri.32 d16, d16, #31 @ encoding: [0x30,0x04,0xe1,0xf3]
155@ CHECK: vsri.64 d16, d16, #63 @ encoding: [0xb0,0x04,0xc1,0xf3]
156@ CHECK: vsri.8 q8, q8, #7 @ encoding: [0x70,0x04,0xc9,0xf3]
157@ CHECK: vsri.16 q8, q8, #15 @ encoding: [0x70,0x04,0xd1,0xf3]
158@ CHECK: vsri.32 q8, q8, #31 @ encoding: [0x70,0x04,0xe1,0xf3]
159@ CHECK: vsri.64 q8, q8, #63 @ encoding: [0xf0,0x04,0xc1,0xf3]
160
161
Bill Wendling620d0cc2011-03-09 00:33:17 +0000162 vsli.8 d16, d16, #7
Bill Wendling620d0cc2011-03-09 00:33:17 +0000163 vsli.16 d16, d16, #15
Bill Wendling620d0cc2011-03-09 00:33:17 +0000164 vsli.32 d16, d16, #31
Bill Wendling620d0cc2011-03-09 00:33:17 +0000165 vsli.64 d16, d16, #63
Bill Wendling620d0cc2011-03-09 00:33:17 +0000166 vsli.8 q8, q8, #7
Bill Wendling620d0cc2011-03-09 00:33:17 +0000167 vsli.16 q8, q8, #15
Bill Wendling620d0cc2011-03-09 00:33:17 +0000168 vsli.32 q8, q8, #31
Bill Wendling620d0cc2011-03-09 00:33:17 +0000169 vsli.64 q8, q8, #63
Jim Grosbach28f1f912012-01-24 17:46:54 +0000170
171@ CHECK: vsli.8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf3]
172@ CHECK: vsli.16 d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf3]
173@ CHECK: vsli.32 d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf3]
174@ CHECK: vsli.64 d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf3]
175@ CHECK: vsli.8 q8, q8, #7 @ encoding: [0x70,0x05,0xcf,0xf3]
176@ CHECK: vsli.16 q8, q8, #15 @ encoding: [0x70,0x05,0xdf,0xf3]
177@ CHECK: vsli.32 q8, q8, #31 @ encoding: [0x70,0x05,0xff,0xf3]
178@ CHECK: vsli.64 q8, q8, #63 @ encoding: [0xf0,0x05,0xff,0xf3]
179
180
Bill Wendling7c6b6082011-03-08 23:48:09 +0000181@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000182 vshll.s8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000183@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000184 vshll.s16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000185@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000186 vshll.s32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000187@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000188 vshll.u8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000189@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000190 vshll.u16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000191@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000192 vshll.u32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000193@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000194 vshll.i8 q8, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000195@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000196 vshll.i16 q8, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000197@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000198 vshll.i32 q8, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000199@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000200 vshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000201@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000202 vshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000203@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000204 vshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000205@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000206 vrshl.s8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000207@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000208 vrshl.s16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000209@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000210 vrshl.s32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000211@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000212 vrshl.s64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000213@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000214 vrshl.u8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000215@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000216 vrshl.u16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000217@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000218 vrshl.u32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000219@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000220 vrshl.u64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000221@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000222 vrshl.s8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000223@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000224 vrshl.s16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000225@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000226 vrshl.s32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000227@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000228 vrshl.s64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000229@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000230 vrshl.u8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000231@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000232 vrshl.u16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000233@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000234 vrshl.u32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000235@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000236 vrshl.u64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000237@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000238 vrshr.s8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000239@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000240 vrshr.s16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000241@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000242 vrshr.s32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000243@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000244 vrshr.s64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000245@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000246 vrshr.u8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000247@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000248 vrshr.u16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000249@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000250 vrshr.u32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000251@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000252 vrshr.u64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000253@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000254 vrshr.s8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000255@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000256 vrshr.s16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000257@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000258 vrshr.s32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000259@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000260 vrshr.s64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000261@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000262 vrshr.u8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000263@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000264 vrshr.u16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000265@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000266 vrshr.u32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000267@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000268 vrshr.u64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000269@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000270 vrshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000271@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000272 vrshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000273@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000274 vrshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000275@ CHECK: vqrshrn.s16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf2]
276 vqrshrn.s16 d16, q8, #4
277@ CHECK: vqrshrn.s32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf2]
278 vqrshrn.s32 d16, q8, #13
279@ CHECK: vqrshrn.s64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf2]
280 vqrshrn.s64 d16, q8, #13
281@ CHECK: vqrshrn.u16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf3]
282 vqrshrn.u16 d16, q8, #4
283@ CHECK: vqrshrn.u32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf3]
284 vqrshrn.u32 d16, q8, #13
285@ CHECK: vqrshrn.u64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf3]
286 vqrshrn.u64 d16, q8, #13
Jim Grosbachff4cbb42011-12-08 01:12:35 +0000287
288@ Optional destination operand variants.
289 vshl.s8 q4, q5
290 vshl.s16 q4, q5
291 vshl.s32 q4, q5
292 vshl.s64 q4, q5
293
294 vshl.u8 q4, q5
295 vshl.u16 q4, q5
296 vshl.u32 q4, q5
297 vshl.u64 q4, q5
298
299 vshl.s8 d4, d5
300 vshl.s16 d4, d5
301 vshl.s32 d4, d5
302 vshl.s64 d4, d5
303
304 vshl.u8 d4, d5
305 vshl.u16 d4, d5
306 vshl.u32 d4, d5
307 vshl.u64 d4, d5
308
309@ CHECK: vshl.s8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf2]
310@ CHECK: vshl.s16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf2]
311@ CHECK: vshl.s32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf2]
312@ CHECK: vshl.s64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf2]
313
314@ CHECK: vshl.u8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf3]
315@ CHECK: vshl.u16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf3]
316@ CHECK: vshl.u32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf3]
317@ CHECK: vshl.u64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf3]
318
319@ CHECK: vshl.s8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf2]
320@ CHECK: vshl.s16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf2]
321@ CHECK: vshl.s32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf2]
322@ CHECK: vshl.s64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf2]
323
324@ CHECK: vshl.u8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf3]
325@ CHECK: vshl.u16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf3]
326@ CHECK: vshl.u32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf3]
327@ CHECK: vshl.u64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf3]
Jim Grosbach730fe6c2011-12-08 01:30:04 +0000328
329 vshl.s8 q4, #2
330 vshl.s16 q4, #14
331 vshl.s32 q4, #27
332 vshl.s64 q4, #35
333
334 vshl.s8 d4, #6
335 vshl.u16 d4, #10
336 vshl.s32 d4, #17
337 vshl.u64 d4, #43
338
339@ CHECK: vshl.i8 q4, q4, #2 @ encoding: [0x58,0x85,0x8a,0xf2]
340@ CHECK: vshl.i16 q4, q4, #14 @ encoding: [0x58,0x85,0x9e,0xf2]
341@ CHECK: vshl.i32 q4, q4, #27 @ encoding: [0x58,0x85,0xbb,0xf2]
342@ CHECK: vshl.i64 q4, q4, #35 @ encoding: [0xd8,0x85,0xa3,0xf2]
343
344@ CHECK: vshl.i8 d4, d4, #6 @ encoding: [0x14,0x45,0x8e,0xf2]
345@ CHECK: vshl.i16 d4, d4, #10 @ encoding: [0x14,0x45,0x9a,0xf2]
346@ CHECK: vshl.i32 d4, d4, #17 @ encoding: [0x14,0x45,0xb1,0xf2]
347@ CHECK: vshl.i64 d4, d4, #43 @ encoding: [0x94,0x45,0xab,0xf2]