xref: /aosp_15_r20/external/llvm/test/MC/ARM/neon-mov-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	vmov.i8		d16, #0x8
4*9880d681SAndroid Build Coastguard Worker	vmov.i16	d16, #0x10
5*9880d681SAndroid Build Coastguard Worker	vmov.i16	d16, #0x1000
6*9880d681SAndroid Build Coastguard Worker	vmov.i32	d16, #0x20
7*9880d681SAndroid Build Coastguard Worker	vmov.i32	d16, #0x2000
8*9880d681SAndroid Build Coastguard Worker	vmov.i32	d16, #0x200000
9*9880d681SAndroid Build Coastguard Worker	vmov.i32	d16, #0x20000000
10*9880d681SAndroid Build Coastguard Worker	vmov.i32	d16, #0x20FF
11*9880d681SAndroid Build Coastguard Worker	vmov.i32	d16, #0x20FFFF
12*9880d681SAndroid Build Coastguard Worker	vmov.i64	d16, #0xFF0000FF0000FFFF
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i8	d16, #0x8       @ encoding: [0x18,0x0e,0xc0,0xf2]
15*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i16	d16, #0x10      @ encoding: [0x10,0x08,0xc1,0xf2]
16*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i16	d16, #0x1000    @ encoding: [0x10,0x0a,0xc1,0xf2]
17*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	d16, #0x20      @ encoding: [0x10,0x00,0xc2,0xf2]
18*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	d16, #0x2000    @ encoding: [0x10,0x02,0xc2,0xf2]
19*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	d16, #0x200000  @ encoding: [0x10,0x04,0xc2,0xf2]
20*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	d16, #0x20000000 @ encoding: [0x10,0x06,0xc2,0xf2]
21*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	d16, #0x20ff    @ encoding: [0x10,0x0c,0xc2,0xf2]
22*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	d16, #0x20ffff  @ encoding: [0x10,0x0d,0xc2,0xf2]
23*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i64 d16, #0xff0000ff0000ffff @ encoding: [0x33,0x0e,0xc1,0xf3]
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker	vmov.i8		q8, #0x8
28*9880d681SAndroid Build Coastguard Worker	vmov.i16	q8, #0x10
29*9880d681SAndroid Build Coastguard Worker	vmov.i16	q8, #0x1000
30*9880d681SAndroid Build Coastguard Worker	vmov.i32	q8, #0x20
31*9880d681SAndroid Build Coastguard Worker	vmov.i32	q8, #0x2000
32*9880d681SAndroid Build Coastguard Worker	vmov.i32	q8, #0x200000
33*9880d681SAndroid Build Coastguard Worker	vmov.i32	q8, #0x20000000
34*9880d681SAndroid Build Coastguard Worker	vmov.i32	q8, #0x20FF
35*9880d681SAndroid Build Coastguard Worker	vmov.i32	q8, #0x20FFFF
36*9880d681SAndroid Build Coastguard Worker	vmov.i64	q8, #0xFF0000FF0000FFFF
37*9880d681SAndroid Build Coastguard Worker
38*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i8 q8, #0x8               @ encoding: [0x58,0x0e,0xc0,0xf2]
39*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i16	q8, #0x10       @ encoding: [0x50,0x08,0xc1,0xf2]
40*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i16	q8, #0x1000     @ encoding: [0x50,0x0a,0xc1,0xf2]
41*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	q8, #0x20       @ encoding: [0x50,0x00,0xc2,0xf2]
42*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	q8, #0x2000     @ encoding: [0x50,0x02,0xc2,0xf2]
43*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	q8, #0x200000   @ encoding: [0x50,0x04,0xc2,0xf2]
44*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	q8, #0x20000000 @ encoding: [0x50,0x06,0xc2,0xf2]
45*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	q8, #0x20ff     @ encoding: [0x50,0x0c,0xc2,0xf2]
46*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i32	q8, #0x20ffff   @ encoding: [0x50,0x0d,0xc2,0xf2]
47*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.i64 q8, #0xff0000ff0000ffff @ encoding: [0x73,0x0e,0xc1,0xf3]
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker	vmvn.i16	d16, #0x10
50*9880d681SAndroid Build Coastguard Worker	vmvn.i16	d16, #0x1000
51*9880d681SAndroid Build Coastguard Worker	vmvn.i32	d16, #0x20
52*9880d681SAndroid Build Coastguard Worker	vmvn.i32	d16, #0x2000
53*9880d681SAndroid Build Coastguard Worker	vmvn.i32	d16, #0x200000
54*9880d681SAndroid Build Coastguard Worker	vmvn.i32	d16, #0x20000000
55*9880d681SAndroid Build Coastguard Worker	vmvn.i32	d16, #0x20FF
56*9880d681SAndroid Build Coastguard Worker	vmvn.i32	d16, #0x20FFFF
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i16	d16, #0x10      @ encoding: [0x30,0x08,0xc1,0xf2]
59*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i16	d16, #0x1000    @ encoding: [0x30,0x0a,0xc1,0xf2]
60*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i32	d16, #0x20      @ encoding: [0x30,0x00,0xc2,0xf2]
61*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i32	d16, #0x2000    @ encoding: [0x30,0x02,0xc2,0xf2]
62*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i32	d16, #0x200000  @ encoding: [0x30,0x04,0xc2,0xf2]
63*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i32	d16, #0x20000000 @ encoding: [0x30,0x06,0xc2,0xf2]
64*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i32	d16, #0x20ff    @ encoding: [0x30,0x0c,0xc2,0xf2]
65*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn.i32	d16, #0x20ffff  @ encoding: [0x30,0x0d,0xc2,0xf2]
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Worker	vmovl.s8	q8, d16
68*9880d681SAndroid Build Coastguard Worker	vmovl.s16	q8, d16
69*9880d681SAndroid Build Coastguard Worker	vmovl.s32	q8, d16
70*9880d681SAndroid Build Coastguard Worker	vmovl.u8	q8, d16
71*9880d681SAndroid Build Coastguard Worker	vmovl.u16	q8, d16
72*9880d681SAndroid Build Coastguard Worker	vmovl.u32	q8, d16
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovl.s8	q8, d16         @ encoding: [0x30,0x0a,0xc8,0xf2]
75*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovl.s16	q8, d16         @ encoding: [0x30,0x0a,0xd0,0xf2]
76*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovl.s32	q8, d16         @ encoding: [0x30,0x0a,0xe0,0xf2]
77*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovl.u8	q8, d16         @ encoding: [0x30,0x0a,0xc8,0xf3]
78*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovl.u16	q8, d16         @ encoding: [0x30,0x0a,0xd0,0xf3]
79*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovl.u32	q8, d16         @ encoding: [0x30,0x0a,0xe0,0xf3]
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Worker	vmovn.i16	d16, q8
83*9880d681SAndroid Build Coastguard Worker	vmovn.i32	d16, q8
84*9880d681SAndroid Build Coastguard Worker	vmovn.i64	d16, q8
85*9880d681SAndroid Build Coastguard Worker	vqmovn.s16	d16, q8
86*9880d681SAndroid Build Coastguard Worker	vqmovn.s32	d16, q8
87*9880d681SAndroid Build Coastguard Worker	vqmovn.s64	d16, q8
88*9880d681SAndroid Build Coastguard Worker	vqmovn.u16	d16, q8
89*9880d681SAndroid Build Coastguard Worker	vqmovn.u32	d16, q8
90*9880d681SAndroid Build Coastguard Worker	vqmovn.u64	d16, q8
91*9880d681SAndroid Build Coastguard Worker	vqmovun.s16	d16, q8
92*9880d681SAndroid Build Coastguard Worker	vqmovun.s32	d16, q8
93*9880d681SAndroid Build Coastguard Worker	vqmovun.s64	d16, q8
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovn.i16	d16, q8         @ encoding: [0x20,0x02,0xf2,0xf3]
96*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovn.i32	d16, q8         @ encoding: [0x20,0x02,0xf6,0xf3]
97*9880d681SAndroid Build Coastguard Worker@ CHECK: vmovn.i64	d16, q8         @ encoding: [0x20,0x02,0xfa,0xf3]
98*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovn.s16	d16, q8         @ encoding: [0xa0,0x02,0xf2,0xf3]
99*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovn.s32	d16, q8         @ encoding: [0xa0,0x02,0xf6,0xf3]
100*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovn.s64	d16, q8         @ encoding: [0xa0,0x02,0xfa,0xf3]
101*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovn.u16	d16, q8         @ encoding: [0xe0,0x02,0xf2,0xf3]
102*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovn.u32	d16, q8         @ encoding: [0xe0,0x02,0xf6,0xf3]
103*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovn.u64	d16, q8         @ encoding: [0xe0,0x02,0xfa,0xf3]
104*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovun.s16	d16, q8         @ encoding: [0x60,0x02,0xf2,0xf3]
105*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovun.s32	d16, q8         @ encoding: [0x60,0x02,0xf6,0xf3]
106*9880d681SAndroid Build Coastguard Worker@ CHECK: vqmovun.s64	d16, q8         @ encoding: [0x60,0x02,0xfa,0xf3]
107*9880d681SAndroid Build Coastguard Worker
108*9880d681SAndroid Build Coastguard Worker	vmov.s8 	r0, d16[1]
109*9880d681SAndroid Build Coastguard Worker	vmov.s16	r0, d16[1]
110*9880d681SAndroid Build Coastguard Worker	vmov.u8		r0, d16[1]
111*9880d681SAndroid Build Coastguard Worker	vmov.u16	r0, d16[1]
112*9880d681SAndroid Build Coastguard Worker	vmov.32		r0, d16[1]
113*9880d681SAndroid Build Coastguard Worker	vmov.8	d16[1], r1
114*9880d681SAndroid Build Coastguard Worker	vmov.16	d16[1], r1
115*9880d681SAndroid Build Coastguard Worker	vmov.32	d16[1], r1
116*9880d681SAndroid Build Coastguard Worker	vmov.8	d18[1], r1
117*9880d681SAndroid Build Coastguard Worker	vmov.16	d18[1], r1
118*9880d681SAndroid Build Coastguard Worker	vmov.32	d18[1], r1
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.s8	r0, d16[1]      @ encoding: [0xb0,0x0b,0x50,0xee]
121*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.s16	r0, d16[1]      @ encoding: [0xf0,0x0b,0x10,0xee]
122*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.u8	r0, d16[1]      @ encoding: [0xb0,0x0b,0xd0,0xee]
123*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.u16	r0, d16[1]      @ encoding: [0xf0,0x0b,0x90,0xee]
124*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.32	r0, d16[1]      @ encoding: [0x90,0x0b,0x30,0xee]
125*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.8	d16[1], r1              @ encoding: [0xb0,0x1b,0x40,0xee]
126*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.16	d16[1], r1      @ encoding: [0xf0,0x1b,0x00,0xee]
127*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.32	d16[1], r1      @ encoding: [0x90,0x1b,0x20,0xee]
128*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.8	d18[1], r1              @ encoding: [0xb0,0x1b,0x42,0xee]
129*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.16	d18[1], r1      @ encoding: [0xf0,0x1b,0x02,0xee]
130*9880d681SAndroid Build Coastguard Worker@ CHECK: vmov.32	d18[1], r1      @ encoding: [0x90,0x1b,0x22,0xee]
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker        vmvn.8 d1, d2
134*9880d681SAndroid Build Coastguard Worker        vmvn.16 d1, d2
135*9880d681SAndroid Build Coastguard Worker        vmvn.32 d1, d2
136*9880d681SAndroid Build Coastguard Worker        vmvn.64 d1, d2
137*9880d681SAndroid Build Coastguard Worker        vmvn.i8 d1, d2
138*9880d681SAndroid Build Coastguard Worker        vmvn.i16 d1, d2
139*9880d681SAndroid Build Coastguard Worker        vmvn.i32 d1, d2
140*9880d681SAndroid Build Coastguard Worker        vmvn.i64 d1, d2
141*9880d681SAndroid Build Coastguard Worker        vmvn.s8 d1, d2
142*9880d681SAndroid Build Coastguard Worker        vmvn.s16 d1, d2
143*9880d681SAndroid Build Coastguard Worker        vmvn.s32 d1, d2
144*9880d681SAndroid Build Coastguard Worker        vmvn.s64 d1, d2
145*9880d681SAndroid Build Coastguard Worker        vmvn.u8 d1, d2
146*9880d681SAndroid Build Coastguard Worker        vmvn.u16 d1, d2
147*9880d681SAndroid Build Coastguard Worker        vmvn.u32 d1, d2
148*9880d681SAndroid Build Coastguard Worker        vmvn.u64 d1, d2
149*9880d681SAndroid Build Coastguard Worker        vmvn.f32 d1, d2
150*9880d681SAndroid Build Coastguard Worker        vmvn.f64 d1, d2
151*9880d681SAndroid Build Coastguard Worker
152*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
153*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
154*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
155*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
156*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
157*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
158*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
159*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
160*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
161*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
162*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
163*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
164*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
165*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
166*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
167*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
168*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
169*9880d681SAndroid Build Coastguard Worker@ CHECK: vmvn	d1, d2                  @ encoding: [0x82,0x15,0xb0,0xf3]
170