xref: /aosp_15_r20/external/llvm/test/MC/ARM/neon-shuffle-encoding.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -mcpu=cortex-a8 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker	vext.8	d16, d17, d16, #3
4*9880d681SAndroid Build Coastguard Worker	vext.8	d16, d17, d16, #5
5*9880d681SAndroid Build Coastguard Worker	vext.8	q8, q9, q8, #3
6*9880d681SAndroid Build Coastguard Worker	vext.8	q8, q9, q8, #7
7*9880d681SAndroid Build Coastguard Worker	vext.16	d16, d17, d16, #3
8*9880d681SAndroid Build Coastguard Worker	vext.32	q8, q9, q8, #3
9*9880d681SAndroid Build Coastguard Worker	vext.64	q8, q9, q8, #1
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Worker	vext.8	d17, d16, #3
12*9880d681SAndroid Build Coastguard Worker	vext.8	d7, d11, #5
13*9880d681SAndroid Build Coastguard Worker	vext.8	q3, q8, #3
14*9880d681SAndroid Build Coastguard Worker	vext.8	q9, q4, #7
15*9880d681SAndroid Build Coastguard Worker	vext.16	d1, d26, #3
16*9880d681SAndroid Build Coastguard Worker	vext.32	q5, q8, #3
17*9880d681SAndroid Build Coastguard Worker	vext.64	q5, q8, #1
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	d16, d17, d16, #3       @ encoding: [0xa0,0x03,0xf1,0xf2]
21*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	d16, d17, d16, #5       @ encoding: [0xa0,0x05,0xf1,0xf2]
22*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	q8, q9, q8, #3          @ encoding: [0xe0,0x03,0xf2,0xf2]
23*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	q8, q9, q8, #7          @ encoding: [0xe0,0x07,0xf2,0xf2]
24*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.16 d16, d17, d16, #3      @ encoding: [0xa0,0x06,0xf1,0xf2]
25*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.32 q8, q9, q8, #3         @ encoding: [0xe0,0x0c,0xf2,0xf2]
26*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.64 q8, q9, q8, #1         @ encoding: [0xe0,0x08,0xf2,0xf2]
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	d17, d17, d16, #3       @ encoding: [0xa0,0x13,0xf1,0xf2]
29*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	d7, d7, d11, #5         @ encoding: [0x0b,0x75,0xb7,0xf2]
30*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	q3, q3, q8, #3          @ encoding: [0x60,0x63,0xb6,0xf2]
31*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.8	q9, q9, q4, #7          @ encoding: [0xc8,0x27,0xf2,0xf2]
32*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.16 d1, d1, d26, #3        @ encoding: [0x2a,0x16,0xb1,0xf2]
33*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.32 q5, q5, q8, #3         @ encoding: [0x60,0xac,0xba,0xf2]
34*9880d681SAndroid Build Coastguard Worker@ CHECK: vext.64 q5, q5, q8, #1         @ encoding: [0x60,0xa8,0xba,0xf2]
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Worker	vtrn.8	d17, d16
38*9880d681SAndroid Build Coastguard Worker	vtrn.16	d17, d16
39*9880d681SAndroid Build Coastguard Worker	vtrn.32	d17, d16
40*9880d681SAndroid Build Coastguard Worker	vtrn.8	q9, q8
41*9880d681SAndroid Build Coastguard Worker	vtrn.16	q9, q8
42*9880d681SAndroid Build Coastguard Worker	vtrn.32	q9, q8
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	d17, d16                @ encoding: [0xa0,0x10,0xf2,0xf3]
45*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 d17, d16               @ encoding: [0xa0,0x10,0xf6,0xf3]
46*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d17, d16               @ encoding: [0xa0,0x10,0xfa,0xf3]
47*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	q9, q8                  @ encoding: [0xe0,0x20,0xf2,0xf3]
48*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16 q9, q8                 @ encoding: [0xe0,0x20,0xf6,0xf3]
49*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 q9, q8                 @ encoding: [0xe0,0x20,0xfa,0xf3]
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker	vuzp.8	d17, d16
53*9880d681SAndroid Build Coastguard Worker	vuzp.16	d17, d16
54*9880d681SAndroid Build Coastguard Worker	vuzp.8	q9, q8
55*9880d681SAndroid Build Coastguard Worker	vuzp.16	q9, q8
56*9880d681SAndroid Build Coastguard Worker	vuzp.32	q9, q8
57*9880d681SAndroid Build Coastguard Worker	vzip.8	d17, d16
58*9880d681SAndroid Build Coastguard Worker	vzip.16	d17, d16
59*9880d681SAndroid Build Coastguard Worker	vzip.8	q9, q8
60*9880d681SAndroid Build Coastguard Worker	vzip.16	q9, q8
61*9880d681SAndroid Build Coastguard Worker	vzip.32	q9, q8
62*9880d681SAndroid Build Coastguard Worker        vzip.32 d2, d3
63*9880d681SAndroid Build Coastguard Worker        vuzp.32 d2, d3
64*9880d681SAndroid Build Coastguard Worker
65*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.8	d17, d16                @ encoding: [0x20,0x11,0xf2,0xf3]
66*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.16 d17, d16               @ encoding: [0x20,0x11,0xf6,0xf3]
67*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.8	q9, q8                  @ encoding: [0x60,0x21,0xf2,0xf3]
68*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.16 q9, q8                 @ encoding: [0x60,0x21,0xf6,0xf3]
69*9880d681SAndroid Build Coastguard Worker@ CHECK: vuzp.32 q9, q8                 @ encoding: [0x60,0x21,0xfa,0xf3]
70*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.8	d17, d16                @ encoding: [0xa0,0x11,0xf2,0xf3]
71*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.16 d17, d16               @ encoding: [0xa0,0x11,0xf6,0xf3]
72*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.8	q9, q8                  @ encoding: [0xe0,0x21,0xf2,0xf3]
73*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.16 q9, q8                 @ encoding: [0xe0,0x21,0xf6,0xf3]
74*9880d681SAndroid Build Coastguard Worker@ CHECK: vzip.32 q9, q8                 @ encoding: [0xe0,0x21,0xfa,0xf3]
75*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d2, d3                 @ encoding: [0x83,0x20,0xba,0xf3]
76*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32 d2, d3                 @ encoding: [0x83,0x20,0xba,0xf3]
77*9880d681SAndroid Build Coastguard Worker
78*9880d681SAndroid Build Coastguard Worker
79*9880d681SAndroid Build Coastguard Worker@ VTRN alternate size suffices
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker        vtrn.8 d3, d9
82*9880d681SAndroid Build Coastguard Worker        vtrn.i8 d3, d9
83*9880d681SAndroid Build Coastguard Worker        vtrn.u8 d3, d9
84*9880d681SAndroid Build Coastguard Worker        vtrn.p8 d3, d9
85*9880d681SAndroid Build Coastguard Worker        vtrn.16 d3, d9
86*9880d681SAndroid Build Coastguard Worker        vtrn.i16 d3, d9
87*9880d681SAndroid Build Coastguard Worker        vtrn.u16 d3, d9
88*9880d681SAndroid Build Coastguard Worker        vtrn.p16 d3, d9
89*9880d681SAndroid Build Coastguard Worker        vtrn.32 d3, d9
90*9880d681SAndroid Build Coastguard Worker        vtrn.i32 d3, d9
91*9880d681SAndroid Build Coastguard Worker        vtrn.u32 d3, d9
92*9880d681SAndroid Build Coastguard Worker        vtrn.f32 d3, d9
93*9880d681SAndroid Build Coastguard Worker        vtrn.f d3, d9
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker        vtrn.8 q14, q6
96*9880d681SAndroid Build Coastguard Worker        vtrn.i8 q14, q6
97*9880d681SAndroid Build Coastguard Worker        vtrn.u8 q14, q6
98*9880d681SAndroid Build Coastguard Worker        vtrn.p8 q14, q6
99*9880d681SAndroid Build Coastguard Worker        vtrn.16 q14, q6
100*9880d681SAndroid Build Coastguard Worker        vtrn.i16 q14, q6
101*9880d681SAndroid Build Coastguard Worker        vtrn.u16 q14, q6
102*9880d681SAndroid Build Coastguard Worker        vtrn.p16 q14, q6
103*9880d681SAndroid Build Coastguard Worker        vtrn.32 q14, q6
104*9880d681SAndroid Build Coastguard Worker        vtrn.i32 q14, q6
105*9880d681SAndroid Build Coastguard Worker        vtrn.u32 q14, q6
106*9880d681SAndroid Build Coastguard Worker        vtrn.f32 q14, q6
107*9880d681SAndroid Build Coastguard Worker        vtrn.f q14, q6
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
110*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
111*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
112*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	d3, d9                  @ encoding: [0x89,0x30,0xb2,0xf3]
113*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
114*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
115*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
116*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	d3, d9          @ encoding: [0x89,0x30,0xb6,0xf3]
117*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
118*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
119*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
120*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
121*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	d3, d9          @ encoding: [0x89,0x30,0xba,0xf3]
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
124*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
125*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
126*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.8	q14, q6                 @ encoding: [0xcc,0xc0,0xf2,0xf3]
127*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
128*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
129*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
130*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.16	q14, q6         @ encoding: [0xcc,0xc0,0xf6,0xf3]
131*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
132*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
133*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
134*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
135*9880d681SAndroid Build Coastguard Worker@ CHECK: vtrn.32	q14, q6         @ encoding: [0xcc,0xc0,0xfa,0xf3]
136*9880d681SAndroid Build Coastguard Worker
137