Tidy up.
[oota-llvm.git] / test / MC / ARM / neon-shuffle-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
2
3         vext.8  d16, d17, d16, #3
4         vext.8  d16, d17, d16, #5
5         vext.8  q8, q9, q8, #3
6         vext.8  q8, q9, q8, #7
7         vext.16 d16, d17, d16, #3
8         vext.32 q8, q9, q8, #3
9
10 @ CHECK: vext.8 d16, d17, d16, #3       @ encoding: [0xa0,0x03,0xf1,0xf2]
11 @ CHECK: vext.8 d16, d17, d16, #5       @ encoding: [0xa0,0x05,0xf1,0xf2]
12 @ CHECK: vext.8 q8, q9, q8, #3          @ encoding: [0xe0,0x03,0xf2,0xf2]
13 @ CHECK: vext.8 q8, q9, q8, #7          @ encoding: [0xe0,0x07,0xf2,0xf2]
14 @ CHECK: vext.16 d16, d17, d16, #3      @ encoding: [0xa0,0x06,0xf1,0xf2]
15 @ CHECK: vext.32 q8, q9, q8, #3         @ encoding: [0xe0,0x0c,0xf2,0xf2]
16
17
18         vtrn.8  d17, d16
19         vtrn.16 d17, d16
20         vtrn.32 d17, d16
21         vtrn.8  q9, q8
22         vtrn.16 q9, q8
23         vtrn.32 q9, q8
24
25 @ CHECK: vtrn.8 d17, d16                @ encoding: [0xa0,0x10,0xf2,0xf3]
26 @ CHECK: vtrn.16 d17, d16               @ encoding: [0xa0,0x10,0xf6,0xf3]
27 @ CHECK: vtrn.32 d17, d16               @ encoding: [0xa0,0x10,0xfa,0xf3]
28 @ CHECK: vtrn.8 q9, q8                  @ encoding: [0xe0,0x20,0xf2,0xf3]
29 @ CHECK: vtrn.16 q9, q8                 @ encoding: [0xe0,0x20,0xf6,0xf3]
30 @ CHECK: vtrn.32 q9, q8                 @ encoding: [0xe0,0x20,0xfa,0xf3]
31
32
33         vuzp.8  d17, d16
34         vuzp.16 d17, d16
35         vuzp.8  q9, q8
36         vuzp.16 q9, q8
37         vuzp.32 q9, q8
38         vzip.8  d17, d16
39         vzip.16 d17, d16
40         vzip.8  q9, q8
41         vzip.16 q9, q8
42         vzip.32 q9, q8
43
44 @ CHECK: vuzp.8 d17, d16                @ encoding: [0x20,0x11,0xf2,0xf3]
45 @ CHECK: vuzp.16 d17, d16               @ encoding: [0x20,0x11,0xf6,0xf3]
46 @ CHECK: vuzp.8 q9, q8                  @ encoding: [0x60,0x21,0xf2,0xf3]
47 @ CHECK: vuzp.16 q9, q8                 @ encoding: [0x60,0x21,0xf6,0xf3]
48 @ CHECK: vuzp.32 q9, q8                 @ encoding: [0x60,0x21,0xfa,0xf3]
49 @ CHECK: vzip.8 d17, d16                @ encoding: [0xa0,0x11,0xf2,0xf3]
50 @ CHECK: vzip.16 d17, d16               @ encoding: [0xa0,0x11,0xf6,0xf3]
51 @ CHECK: vzip.8 q9, q8                  @ encoding: [0xe0,0x21,0xf2,0xf3]
52 @ CHECK: vzip.16 q9, q8                 @ encoding: [0xe0,0x21,0xf6,0xf3]
53 @ CHECK: vzip.32 q9, q8                 @ encoding: [0xe0,0x21,0xfa,0xf3]
54
55
56 @ VTRN alternate size suffices
57
58         vtrn.8 d3, d9
59         vtrn.i8 d3, d9
60         vtrn.u8 d3, d9
61         vtrn.p8 d3, d9
62         vtrn.16 d3, d9
63         vtrn.i16 d3, d9
64         vtrn.u16 d3, d9
65         vtrn.p16 d3, d9
66         vtrn.32 d3, d9
67         vtrn.i32 d3, d9
68         vtrn.u32 d3, d9
69         vtrn.f32 d3, d9
70         vtrn.f d3, d9
71
72         vtrn.8 q14, q6
73         vtrn.i8 q14, q6
74         vtrn.u8 q14, q6
75         vtrn.p8 q14, q6
76         vtrn.16 q14, q6
77         vtrn.i16 q14, q6
78         vtrn.u16 q14, q6
79         vtrn.p16 q14, q6
80         vtrn.32 q14, q6
81         vtrn.i32 q14, q6
82         vtrn.u32 q14, q6
83         vtrn.f32 q14, q6
84         vtrn.f q14, q6
85
86 @ CHECK: vtrn.8 d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
87 @ CHECK: vtrn.8 d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
88 @ CHECK: vtrn.8 d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
89 @ CHECK: vtrn.8 d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
90 @ CHECK: vtrn.16        d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
91 @ CHECK: vtrn.16        d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
92 @ CHECK: vtrn.16        d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
93 @ CHECK: vtrn.16        d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
94 @ CHECK: vtrn.32        d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
95 @ CHECK: vtrn.32        d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
96 @ CHECK: vtrn.32        d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
97 @ CHECK: vtrn.32        d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
98 @ CHECK: vtrn.32        d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
99
100 @ CHECK: vtrn.8 q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
101 @ CHECK: vtrn.8 q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
102 @ CHECK: vtrn.8 q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
103 @ CHECK: vtrn.8 q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
104 @ CHECK: vtrn.16        q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
105 @ CHECK: vtrn.16        q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
106 @ CHECK: vtrn.16        q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
107 @ CHECK: vtrn.16        q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
108 @ CHECK: vtrn.32        q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
109 @ CHECK: vtrn.32        q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
110 @ CHECK: vtrn.32        q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
111 @ CHECK: vtrn.32        q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
112 @ CHECK: vtrn.32        q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
113