blob: 768223b39102800467e07d58a2f21391b7c7408c [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
Bill Wendlingc04a9de2011-03-09 00:00:35 +000073@ CHECK: vsra.u8 d16, d16, #7 @ encoding: [0x30,0x01,0xc9,0xf3]
74 vsra.u8 d16, d16, #7
75@ CHECK: vsra.u16 d16, d16, #15 @ encoding: [0x30,0x01,0xd1,0xf3]
76 vsra.u16 d16, d16, #15
77@ CHECK: vsra.u32 d16, d16, #31 @ encoding: [0x30,0x01,0xe1,0xf3]
78 vsra.u32 d16, d16, #31
79@ CHECK: vsra.u64 d16, d16, #63 @ encoding: [0xb0,0x01,0xc1,0xf3]
80 vsra.u64 d16, d16, #63
81@ CHECK: vsra.u8 q8, q8, #7 @ encoding: [0x70,0x01,0xc9,0xf3]
82 vsra.u8 q8, q8, #7
83@ CHECK: vsra.u16 q8, q8, #15 @ encoding: [0x70,0x01,0xd1,0xf3]
84 vsra.u16 q8, q8, #15
85@ CHECK: vsra.u32 q8, q8, #31 @ encoding: [0x70,0x01,0xe1,0xf3]
86 vsra.u32 q8, q8, #31
87@ CHECK: vsra.u64 q8, q8, #63 @ encoding: [0xf0,0x01,0xc1,0xf3]
88 vsra.u64 q8, q8, #63
89@ CHECK: vsra.s8 d16, d16, #7 @ encoding: [0x30,0x01,0xc9,0xf2]
90 vsra.s8 d16, d16, #7
91@ CHECK: vsra.s16 d16, d16, #15 @ encoding: [0x30,0x01,0xd1,0xf2]
92 vsra.s16 d16, d16, #15
93@ CHECK: vsra.s32 d16, d16, #31 @ encoding: [0x30,0x01,0xe1,0xf2]
94 vsra.s32 d16, d16, #31
95@ CHECK: vsra.s64 d16, d16, #63 @ encoding: [0xb0,0x01,0xc1,0xf2]
96 vsra.s64 d16, d16, #63
97@ CHECK: vsra.s8 q8, q8, #7 @ encoding: [0x70,0x01,0xc9,0xf2]
98 vsra.s8 q8, q8, #7
99@ CHECK: vsra.s16 q8, q8, #15 @ encoding: [0x70,0x01,0xd1,0xf2]
100 vsra.s16 q8, q8, #15
101@ CHECK: vsra.s32 q8, q8, #31 @ encoding: [0x70,0x01,0xe1,0xf2]
102 vsra.s32 q8, q8, #31
103@ CHECK: vsra.s64 q8, q8, #63 @ encoding: [0xf0,0x01,0xc1,0xf2]
104 vsra.s64 q8, q8, #63
Bill Wendling620d0cc2011-03-09 00:33:17 +0000105@ CHECK: vsri.8 d16, d16, #7 @ encoding: [0x30,0x04,0xc9,0xf3]
106 vsri.8 d16, d16, #7
107@ CHECK: vsri.16 d16, d16, #15 @ encoding: [0x30,0x04,0xd1,0xf3]
108 vsri.16 d16, d16, #15
109@ CHECK: vsri.32 d16, d16, #31 @ encoding: [0x30,0x04,0xe1,0xf3]
110 vsri.32 d16, d16, #31
111@ CHECK: vsri.64 d16, d16, #63 @ encoding: [0xb0,0x04,0xc1,0xf3]
112 vsri.64 d16, d16, #63
113@ CHECK: vsri.8 q8, q8, #7 @ encoding: [0x70,0x04,0xc9,0xf3]
114 vsri.8 q8, q8, #7
115@ CHECK: vsri.16 q8, q8, #15 @ encoding: [0x70,0x04,0xd1,0xf3]
116 vsri.16 q8, q8, #15
117@ CHECK: vsri.32 q8, q8, #31 @ encoding: [0x70,0x04,0xe1,0xf3]
118 vsri.32 q8, q8, #31
119@ CHECK: vsri.64 q8, q8, #63 @ encoding: [0xf0,0x04,0xc1,0xf3]
120 vsri.64 q8, q8, #63
121@ CHECK: vsli.8 d16, d16, #7 @ encoding: [0x30,0x05,0xcf,0xf3]
122 vsli.8 d16, d16, #7
123@ CHECK: vsli.16 d16, d16, #15 @ encoding: [0x30,0x05,0xdf,0xf3]
124 vsli.16 d16, d16, #15
125@ CHECK: vsli.32 d16, d16, #31 @ encoding: [0x30,0x05,0xff,0xf3]
126 vsli.32 d16, d16, #31
127@ CHECK: vsli.64 d16, d16, #63 @ encoding: [0xb0,0x05,0xff,0xf3]
128 vsli.64 d16, d16, #63
129@ CHECK: vsli.8 q8, q8, #7 @ encoding: [0x70,0x05,0xcf,0xf3]
130 vsli.8 q8, q8, #7
131@ CHECK: vsli.16 q8, q8, #15 @ encoding: [0x70,0x05,0xdf,0xf3]
132 vsli.16 q8, q8, #15
133@ CHECK: vsli.32 q8, q8, #31 @ encoding: [0x70,0x05,0xff,0xf3]
134 vsli.32 q8, q8, #31
135@ CHECK: vsli.64 q8, q8, #63 @ encoding: [0xf0,0x05,0xff,0xf3]
136 vsli.64 q8, q8, #63
Bill Wendling7c6b6082011-03-08 23:48:09 +0000137@ CHECK: vshll.s8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000138 vshll.s8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000139@ CHECK: vshll.s16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000140 vshll.s16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000141@ CHECK: vshll.s32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000142 vshll.s32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000143@ CHECK: vshll.u8 q8, d16, #7 @ encoding: [0x30,0x0a,0xcf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000144 vshll.u8 q8, d16, #7
Bill Wendling7c6b6082011-03-08 23:48:09 +0000145@ CHECK: vshll.u16 q8, d16, #15 @ encoding: [0x30,0x0a,0xdf,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000146 vshll.u16 q8, d16, #15
Bill Wendling7c6b6082011-03-08 23:48:09 +0000147@ CHECK: vshll.u32 q8, d16, #31 @ encoding: [0x30,0x0a,0xff,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000148 vshll.u32 q8, d16, #31
Bill Wendling7c6b6082011-03-08 23:48:09 +0000149@ CHECK: vshll.i8 q8, d16, #8 @ encoding: [0x20,0x03,0xf2,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000150 vshll.i8 q8, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000151@ CHECK: vshll.i16 q8, d16, #16 @ encoding: [0x20,0x03,0xf6,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000152 vshll.i16 q8, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000153@ CHECK: vshll.i32 q8, d16, #32 @ encoding: [0x20,0x03,0xfa,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000154 vshll.i32 q8, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000155@ CHECK: vshrn.i16 d16, q8, #8 @ encoding: [0x30,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000156 vshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000157@ CHECK: vshrn.i32 d16, q8, #16 @ encoding: [0x30,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000158 vshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000159@ CHECK: vshrn.i64 d16, q8, #32 @ encoding: [0x30,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000160 vshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000161@ CHECK: vrshl.s8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000162 vrshl.s8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000163@ CHECK: vrshl.s16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000164 vrshl.s16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000165@ CHECK: vrshl.s32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000166 vrshl.s32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000167@ CHECK: vrshl.s64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000168 vrshl.s64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000169@ CHECK: vrshl.u8 d16, d17, d16 @ encoding: [0xa1,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000170 vrshl.u8 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000171@ CHECK: vrshl.u16 d16, d17, d16 @ encoding: [0xa1,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000172 vrshl.u16 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000173@ CHECK: vrshl.u32 d16, d17, d16 @ encoding: [0xa1,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000174 vrshl.u32 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000175@ CHECK: vrshl.u64 d16, d17, d16 @ encoding: [0xa1,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000176 vrshl.u64 d16, d17, d16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000177@ CHECK: vrshl.s8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000178 vrshl.s8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000179@ CHECK: vrshl.s16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000180 vrshl.s16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000181@ CHECK: vrshl.s32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000182 vrshl.s32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000183@ CHECK: vrshl.s64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000184 vrshl.s64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000185@ CHECK: vrshl.u8 q8, q9, q8 @ encoding: [0xe2,0x05,0x40,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000186 vrshl.u8 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000187@ CHECK: vrshl.u16 q8, q9, q8 @ encoding: [0xe2,0x05,0x50,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000188 vrshl.u16 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000189@ CHECK: vrshl.u32 q8, q9, q8 @ encoding: [0xe2,0x05,0x60,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000190 vrshl.u32 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000191@ CHECK: vrshl.u64 q8, q9, q8 @ encoding: [0xe2,0x05,0x70,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000192 vrshl.u64 q8, q9, q8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000193@ CHECK: vrshr.s8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000194 vrshr.s8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000195@ CHECK: vrshr.s16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000196 vrshr.s16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000197@ CHECK: vrshr.s32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000198 vrshr.s32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000199@ CHECK: vrshr.s64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000200 vrshr.s64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000201@ CHECK: vrshr.u8 d16, d16, #8 @ encoding: [0x30,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000202 vrshr.u8 d16, d16, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000203@ CHECK: vrshr.u16 d16, d16, #16 @ encoding: [0x30,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000204 vrshr.u16 d16, d16, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000205@ CHECK: vrshr.u32 d16, d16, #32 @ encoding: [0x30,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000206 vrshr.u32 d16, d16, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000207@ CHECK: vrshr.u64 d16, d16, #64 @ encoding: [0xb0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000208 vrshr.u64 d16, d16, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000209@ CHECK: vrshr.s8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000210 vrshr.s8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000211@ CHECK: vrshr.s16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000212 vrshr.s16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000213@ CHECK: vrshr.s32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000214 vrshr.s32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000215@ CHECK: vrshr.s64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000216 vrshr.s64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000217@ CHECK: vrshr.u8 q8, q8, #8 @ encoding: [0x70,0x02,0xc8,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000218 vrshr.u8 q8, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000219@ CHECK: vrshr.u16 q8, q8, #16 @ encoding: [0x70,0x02,0xd0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000220 vrshr.u16 q8, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000221@ CHECK: vrshr.u32 q8, q8, #32 @ encoding: [0x70,0x02,0xe0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000222 vrshr.u32 q8, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000223@ CHECK: vrshr.u64 q8, q8, #64 @ encoding: [0xf0,0x02,0xc0,0xf3]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000224 vrshr.u64 q8, q8, #64
Bill Wendling7c6b6082011-03-08 23:48:09 +0000225@ CHECK: vrshrn.i16 d16, q8, #8 @ encoding: [0x70,0x08,0xc8,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000226 vrshrn.i16 d16, q8, #8
Bill Wendling7c6b6082011-03-08 23:48:09 +0000227@ CHECK: vrshrn.i32 d16, q8, #16 @ encoding: [0x70,0x08,0xd0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000228 vrshrn.i32 d16, q8, #16
Bill Wendling7c6b6082011-03-08 23:48:09 +0000229@ CHECK: vrshrn.i64 d16, q8, #32 @ encoding: [0x70,0x08,0xe0,0xf2]
Owen Andersonb8d14a62010-11-01 05:23:58 +0000230 vrshrn.i64 d16, q8, #32
Bill Wendling7c6b6082011-03-08 23:48:09 +0000231@ CHECK: vqrshrn.s16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf2]
232 vqrshrn.s16 d16, q8, #4
233@ CHECK: vqrshrn.s32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf2]
234 vqrshrn.s32 d16, q8, #13
235@ CHECK: vqrshrn.s64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf2]
236 vqrshrn.s64 d16, q8, #13
237@ CHECK: vqrshrn.u16 d16, q8, #4 @ encoding: [0x70,0x09,0xcc,0xf3]
238 vqrshrn.u16 d16, q8, #4
239@ CHECK: vqrshrn.u32 d16, q8, #13 @ encoding: [0x70,0x09,0xd3,0xf3]
240 vqrshrn.u32 d16, q8, #13
241@ CHECK: vqrshrn.u64 d16, q8, #13 @ encoding: [0x70,0x09,0xf3,0xf3]
242 vqrshrn.u64 d16, q8, #13
Jim Grosbachff4cbb42011-12-08 01:12:35 +0000243
244@ Optional destination operand variants.
245 vshl.s8 q4, q5
246 vshl.s16 q4, q5
247 vshl.s32 q4, q5
248 vshl.s64 q4, q5
249
250 vshl.u8 q4, q5
251 vshl.u16 q4, q5
252 vshl.u32 q4, q5
253 vshl.u64 q4, q5
254
255 vshl.s8 d4, d5
256 vshl.s16 d4, d5
257 vshl.s32 d4, d5
258 vshl.s64 d4, d5
259
260 vshl.u8 d4, d5
261 vshl.u16 d4, d5
262 vshl.u32 d4, d5
263 vshl.u64 d4, d5
264
265@ CHECK: vshl.s8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf2]
266@ CHECK: vshl.s16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf2]
267@ CHECK: vshl.s32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf2]
268@ CHECK: vshl.s64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf2]
269
270@ CHECK: vshl.u8 q4, q4, q5 @ encoding: [0x48,0x84,0x0a,0xf3]
271@ CHECK: vshl.u16 q4, q4, q5 @ encoding: [0x48,0x84,0x1a,0xf3]
272@ CHECK: vshl.u32 q4, q4, q5 @ encoding: [0x48,0x84,0x2a,0xf3]
273@ CHECK: vshl.u64 q4, q4, q5 @ encoding: [0x48,0x84,0x3a,0xf3]
274
275@ CHECK: vshl.s8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf2]
276@ CHECK: vshl.s16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf2]
277@ CHECK: vshl.s32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf2]
278@ CHECK: vshl.s64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf2]
279
280@ CHECK: vshl.u8 d4, d4, d5 @ encoding: [0x04,0x44,0x05,0xf3]
281@ CHECK: vshl.u16 d4, d4, d5 @ encoding: [0x04,0x44,0x15,0xf3]
282@ CHECK: vshl.u32 d4, d4, d5 @ encoding: [0x04,0x44,0x25,0xf3]
283@ CHECK: vshl.u64 d4, d4, d5 @ encoding: [0x04,0x44,0x35,0xf3]
Jim Grosbach730fe6c2011-12-08 01:30:04 +0000284
285 vshl.s8 q4, #2
286 vshl.s16 q4, #14
287 vshl.s32 q4, #27
288 vshl.s64 q4, #35
289
290 vshl.s8 d4, #6
291 vshl.u16 d4, #10
292 vshl.s32 d4, #17
293 vshl.u64 d4, #43
294
295@ CHECK: vshl.i8 q4, q4, #2 @ encoding: [0x58,0x85,0x8a,0xf2]
296@ CHECK: vshl.i16 q4, q4, #14 @ encoding: [0x58,0x85,0x9e,0xf2]
297@ CHECK: vshl.i32 q4, q4, #27 @ encoding: [0x58,0x85,0xbb,0xf2]
298@ CHECK: vshl.i64 q4, q4, #35 @ encoding: [0xd8,0x85,0xa3,0xf2]
299
300@ CHECK: vshl.i8 d4, d4, #6 @ encoding: [0x14,0x45,0x8e,0xf2]
301@ CHECK: vshl.i16 d4, d4, #10 @ encoding: [0x14,0x45,0x9a,0xf2]
302@ CHECK: vshl.i32 d4, d4, #17 @ encoding: [0x14,0x45,0xb1,0xf2]
303@ CHECK: vshl.i64 d4, d4, #43 @ encoding: [0x94,0x45,0xab,0xf2]