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