Provide Thumb2 encodings for basic loads and stores.
[oota-llvm.git] / test / MC / ARM / neont2-satshift-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple thumb-unknown-unkown -show-encoding < %s | FileCheck %s
2
3 .code 16
4
5 @ CHECK: vqshl.s8       d16, d16, d17   @ encoding: [0xb0,0x04,0x41,0xef]
6         vqshl.s8        d16, d16, d17
7 @ CHECK: vqshl.s16      d16, d16, d17   @ encoding: [0xb0,0x04,0x51,0xef]
8         vqshl.s16       d16, d16, d17
9 @ CHECK: vqshl.s32      d16, d16, d17   @ encoding: [0xb0,0x04,0x61,0xef]
10         vqshl.s32       d16, d16, d17
11 @ CHECK: vqshl.s64      d16, d16, d17   @ encoding: [0xb0,0x04,0x71,0xef]
12         vqshl.s64       d16, d16, d17
13 @ CHECK: vqshl.u8       d16, d16, d17   @ encoding: [0xb0,0x04,0x41,0xff]
14         vqshl.u8        d16, d16, d17
15 @ CHECK: vqshl.u16      d16, d16, d17   @ encoding: [0xb0,0x04,0x51,0xff]
16         vqshl.u16       d16, d16, d17
17 @ CHECK: vqshl.u32      d16, d16, d17   @ encoding: [0xb0,0x04,0x61,0xff]
18         vqshl.u32       d16, d16, d17
19 @ CHECK: vqshl.u64      d16, d16, d17   @ encoding: [0xb0,0x04,0x71,0xff]
20         vqshl.u64       d16, d16, d17
21 @ CHECK: vqshl.s8       q8, q8, q9      @ encoding: [0xf0,0x04,0x42,0xef]
22         vqshl.s8        q8, q8, q9
23 @ CHECK: vqshl.s16      q8, q8, q9      @ encoding: [0xf0,0x04,0x52,0xef]
24         vqshl.s16       q8, q8, q9
25 @ CHECK: vqshl.s32      q8, q8, q9      @ encoding: [0xf0,0x04,0x62,0xef]
26         vqshl.s32       q8, q8, q9
27 @ CHECK: vqshl.s64      q8, q8, q9      @ encoding: [0xf0,0x04,0x72,0xef]
28         vqshl.s64       q8, q8, q9
29 @ CHECK: vqshl.u8       q8, q8, q9      @ encoding: [0xf0,0x04,0x42,0xff]
30         vqshl.u8        q8, q8, q9
31 @ CHECK: vqshl.u16      q8, q8, q9      @ encoding: [0xf0,0x04,0x52,0xff]
32         vqshl.u16       q8, q8, q9
33 @ CHECK: vqshl.u32      q8, q8, q9      @ encoding: [0xf0,0x04,0x62,0xff]
34         vqshl.u32       q8, q8, q9
35 @ CHECK: vqshl.u64      q8, q8, q9      @ encoding: [0xf0,0x04,0x72,0xff]
36         vqshl.u64       q8, q8, q9
37 @ CHECK: vqshl.s8       d16, d16, #7    @ encoding: [0x30,0x07,0xcf,0xef]
38         vqshl.s8        d16, d16, #7
39 @ CHECK: vqshl.s16      d16, d16, #15   @ encoding: [0x30,0x07,0xdf,0xef]
40         vqshl.s16       d16, d16, #15
41 @ CHECK: vqshl.s32      d16, d16, #31   @ encoding: [0x30,0x07,0xff,0xef]
42         vqshl.s32       d16, d16, #31
43 @ CHECK: vqshl.s64      d16, d16, #63   @ encoding: [0xb0,0x07,0xff,0xef]
44         vqshl.s64       d16, d16, #63
45 @ CHECK: vqshl.u8       d16, d16, #7    @ encoding: [0x30,0x07,0xcf,0xff]
46         vqshl.u8        d16, d16, #7
47 @ CHECK: vqshl.u16      d16, d16, #15   @ encoding: [0x30,0x07,0xdf,0xff]
48         vqshl.u16       d16, d16, #15
49 @ CHECK: vqshl.u32      d16, d16, #31   @ encoding: [0x30,0x07,0xff,0xff]
50         vqshl.u32       d16, d16, #31
51 @ CHECK: vqshl.u64      d16, d16, #63   @ encoding: [0xb0,0x07,0xff,0xff]
52         vqshl.u64       d16, d16, #63
53 @ CHECK: vqshlu.s8      d16, d16, #7    @ encoding: [0x30,0x06,0xcf,0xff]
54         vqshlu.s8       d16, d16, #7
55 @ CHECK: vqshlu.s16     d16, d16, #15   @ encoding: [0x30,0x06,0xdf,0xff]
56         vqshlu.s16      d16, d16, #15
57 @ CHECK: vqshlu.s32     d16, d16, #31   @ encoding: [0x30,0x06,0xff,0xff]
58         vqshlu.s32      d16, d16, #31
59 @ CHECK: vqshlu.s64     d16, d16, #63   @ encoding: [0xb0,0x06,0xff,0xff]
60         vqshlu.s64      d16, d16, #63
61 @ CHECK: vqshl.s8       q8, q8, #7      @ encoding: [0x70,0x07,0xcf,0xef]
62         vqshl.s8        q8, q8, #7
63 @ CHECK: vqshl.s16      q8, q8, #15     @ encoding: [0x70,0x07,0xdf,0xef]
64         vqshl.s16       q8, q8, #15
65 @ CHECK: vqshl.s32      q8, q8, #31     @ encoding: [0x70,0x07,0xff,0xef]
66         vqshl.s32       q8, q8, #31
67 @ CHECK: vqshl.s64      q8, q8, #63     @ encoding: [0xf0,0x07,0xff,0xef]
68         vqshl.s64       q8, q8, #63
69 @ CHECK: vqshl.u8       q8, q8, #7      @ encoding: [0x70,0x07,0xcf,0xff]
70         vqshl.u8        q8, q8, #7
71 @ CHECK: vqshl.u16      q8, q8, #15     @ encoding: [0x70,0x07,0xdf,0xff]
72         vqshl.u16       q8, q8, #15
73 @ CHECK: vqshl.u32      q8, q8, #31     @ encoding: [0x70,0x07,0xff,0xff]
74         vqshl.u32       q8, q8, #31
75 @ CHECK: vqshl.u64      q8, q8, #63     @ encoding: [0xf0,0x07,0xff,0xff]
76         vqshl.u64       q8, q8, #63
77 @ CHECK: vqshlu.s8      q8, q8, #7      @ encoding: [0x70,0x06,0xcf,0xff]
78         vqshlu.s8       q8, q8, #7
79 @ CHECK: vqshlu.s16     q8, q8, #15     @ encoding: [0x70,0x06,0xdf,0xff]
80         vqshlu.s16      q8, q8, #15
81 @ CHECK: vqshlu.s32     q8, q8, #31     @ encoding: [0x70,0x06,0xff,0xff]
82         vqshlu.s32      q8, q8, #31
83 @ CHECK: vqshlu.s64     q8, q8, #63     @ encoding: [0xf0,0x06,0xff,0xff]
84         vqshlu.s64      q8, q8, #63
85 @ CHECK:   vqrshl.s8    d16, d16, d17   @ encoding: [0xb0,0x05,0x41,0xef]
86         vqrshl.s8       d16, d16, d17
87 @ CHECK: vqrshl.s16     d16, d16, d17   @ encoding: [0xb0,0x05,0x51,0xef]
88         vqrshl.s16      d16, d16, d17
89 @ CHECK: vqrshl.s32     d16, d16, d17   @ encoding: [0xb0,0x05,0x61,0xef]
90         vqrshl.s32      d16, d16, d17
91 @ CHECK: vqrshl.s64     d16, d16, d17   @ encoding: [0xb0,0x05,0x71,0xef]
92         vqrshl.s64      d16, d16, d17
93 @ CHECK: vqrshl.u8      d16, d16, d17   @ encoding: [0xb0,0x05,0x41,0xff]
94         vqrshl.u8       d16, d16, d17
95 @ CHECK: vqrshl.u16     d16, d16, d17   @ encoding: [0xb0,0x05,0x51,0xff]
96         vqrshl.u16      d16, d16, d17
97 @ CHECK: vqrshl.u32     d16, d16, d17   @ encoding: [0xb0,0x05,0x61,0xff]
98         vqrshl.u32      d16, d16, d17
99 @ CHECK: vqrshl.u64     d16, d16, d17   @ encoding: [0xb0,0x05,0x71,0xff]
100         vqrshl.u64      d16, d16, d17
101 @ CHECK: vqrshl.s8      q8, q8, q9      @ encoding: [0xf0,0x05,0x42,0xef]
102         vqrshl.s8       q8, q8, q9
103 @ CHECK: vqrshl.s16     q8, q8, q9      @ encoding: [0xf0,0x05,0x52,0xef]
104         vqrshl.s16      q8, q8, q9
105 @ CHECK: vqrshl.s32     q8, q8, q9      @ encoding: [0xf0,0x05,0x62,0xef]
106         vqrshl.s32      q8, q8, q9
107 @ CHECK: vqrshl.s64     q8, q8, q9      @ encoding: [0xf0,0x05,0x72,0xef]
108         vqrshl.s64      q8, q8, q9
109 @ CHECK: vqrshl.u8      q8, q8, q9      @ encoding: [0xf0,0x05,0x42,0xff]
110         vqrshl.u8       q8, q8, q9
111 @ CHECK: vqrshl.u16     q8, q8, q9      @ encoding: [0xf0,0x05,0x52,0xff]
112         vqrshl.u16      q8, q8, q9
113 @ CHECK: vqrshl.u32     q8, q8, q9      @ encoding: [0xf0,0x05,0x62,0xff]
114         vqrshl.u32      q8, q8, q9
115 @ CHECK: vqrshl.u64     q8, q8, q9      @ encoding: [0xf0,0x05,0x72,0xff]
116         vqrshl.u64      q8, q8, q9
117 @ CHECK: vqshrn.s16     d16, q8, #8     @ encoding: [0x30,0x09,0xc8,0xef]
118         vqshrn.s16      d16, q8, #8
119 @ CHECK: vqshrn.s32     d16, q8, #16    @ encoding: [0x30,0x09,0xd0,0xef]
120         vqshrn.s32      d16, q8, #16
121 @ CHECK: vqshrn.s64     d16, q8, #32    @ encoding: [0x30,0x09,0xe0,0xef]
122         vqshrn.s64      d16, q8, #32
123 @ CHECK: vqshrn.u16     d16, q8, #8     @ encoding: [0x30,0x09,0xc8,0xff]
124         vqshrn.u16      d16, q8, #8
125 @ CHECK: vqshrn.u32     d16, q8, #16    @ encoding: [0x30,0x09,0xd0,0xff]
126         vqshrn.u32      d16, q8, #16
127 @ CHECK: vqshrn.u64     d16, q8, #32    @ encoding: [0x30,0x09,0xe0,0xff]
128         vqshrn.u64      d16, q8, #32
129 @ CHECK: vqshrun.s16    d16, q8, #8     @ encoding: [0x30,0x08,0xc8,0xff]
130         vqshrun.s16     d16, q8, #8
131 @ CHECK: vqshrun.s32    d16, q8, #16    @ encoding: [0x30,0x08,0xd0,0xff]
132         vqshrun.s32     d16, q8, #16
133 @ CHECK: vqshrun.s64    d16, q8, #32    @ encoding: [0x30,0x08,0xe0,0xff]
134         vqshrun.s64     d16, q8, #32
135 @ CHECK: vqrshrn.s16    d16, q8, #8     @ encoding: [0x70,0x09,0xc8,0xef]
136         vqrshrn.s16     d16, q8, #8
137 @ CHECK: vqrshrn.s32    d16, q8, #16    @ encoding: [0x70,0x09,0xd0,0xef]
138         vqrshrn.s32     d16, q8, #16
139 @ CHECK: vqrshrn.s64    d16, q8, #32    @ encoding: [0x70,0x09,0xe0,0xef]
140         vqrshrn.s64     d16, q8, #32
141 @ CHECK: vqrshrn.u16    d16, q8, #8     @ encoding: [0x70,0x09,0xc8,0xff]
142         vqrshrn.u16     d16, q8, #8
143 @ CHECK: vqrshrn.u32    d16, q8, #16    @ encoding: [0x70,0x09,0xd0,0xff]
144         vqrshrn.u32     d16, q8, #16
145 @ CHECK: vqrshrn.u64    d16, q8, #32    @ encoding: [0x70,0x09,0xe0,0xff]
146         vqrshrn.u64     d16, q8, #32
147 @ CHECK: vqrshrun.s16   d16, q8, #8     @ encoding: [0x70,0x08,0xc8,0xff]
148         vqrshrun.s16    d16, q8, #8
149 @ CHECK: vqrshrun.s32   d16, q8, #16    @ encoding: [0x70,0x08,0xd0,0xff]
150         vqrshrun.s32    d16, q8, #16
151 @ CHECK: vqrshrun.s64   d16, q8, #32    @ encoding: [0x70,0x08,0xe0,0xff]
152         vqrshrun.s64    d16, q8, #32