xref: /aosp_15_r20/external/llvm/test/MC/ARM/neon-sub-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	vsub.i8	d16, d17, d16
4*9880d681SAndroid Build Coastguard Worker	vsub.i16	d16, d17, d16
5*9880d681SAndroid Build Coastguard Worker	vsub.i32	d16, d17, d16
6*9880d681SAndroid Build Coastguard Worker	vsub.i64	d16, d17, d16
7*9880d681SAndroid Build Coastguard Worker	vsub.f32	d16, d16, d17
8*9880d681SAndroid Build Coastguard Worker	vsub.i8	q8, q8, q9
9*9880d681SAndroid Build Coastguard Worker	vsub.i16	q8, q8, q9
10*9880d681SAndroid Build Coastguard Worker	vsub.i32	q8, q8, q9
11*9880d681SAndroid Build Coastguard Worker	vsub.i64	q8, q8, q9
12*9880d681SAndroid Build Coastguard Worker	vsub.f32	q8, q8, q9
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker	vsub.i8  d13, d21
15*9880d681SAndroid Build Coastguard Worker	vsub.i16 d14, d22
16*9880d681SAndroid Build Coastguard Worker	vsub.i32 d15, d23
17*9880d681SAndroid Build Coastguard Worker	vsub.i64 d16, d24
18*9880d681SAndroid Build Coastguard Worker	vsub.f32 d17, d25
19*9880d681SAndroid Build Coastguard Worker	vsub.i8  q1, q10
20*9880d681SAndroid Build Coastguard Worker	vsub.i16 q2, q9
21*9880d681SAndroid Build Coastguard Worker	vsub.i32 q3, q8
22*9880d681SAndroid Build Coastguard Worker	vsub.i64 q4, q7
23*9880d681SAndroid Build Coastguard Worker	vsub.f32 q5, q6
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8	d16, d17, d16   @ encoding: [0xa0,0x08,0x41,0xf3]
26*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16	d16, d17, d16   @ encoding: [0xa0,0x08,0x51,0xf3]
27*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32	d16, d17, d16   @ encoding: [0xa0,0x08,0x61,0xf3]
28*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64	d16, d17, d16   @ encoding: [0xa0,0x08,0x71,0xf3]
29*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32	d16, d16, d17   @ encoding: [0xa1,0x0d,0x60,0xf2]
30*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8	q8, q8, q9      @ encoding: [0xe2,0x08,0x40,0xf3]
31*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16	q8, q8, q9      @ encoding: [0xe2,0x08,0x50,0xf3]
32*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32	q8, q8, q9      @ encoding: [0xe2,0x08,0x60,0xf3]
33*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64	q8, q8, q9      @ encoding: [0xe2,0x08,0x70,0xf3]
34*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32	q8, q8, q9      @ encoding: [0xe2,0x0d,0x60,0xf2]
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8	d13, d13, d21   @ encoding: [0x25,0xd8,0x0d,0xf3]
37*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16	d14, d14, d22   @ encoding: [0x26,0xe8,0x1e,0xf3]
38*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32	d15, d15, d23   @ encoding: [0x27,0xf8,0x2f,0xf3]
39*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64	d16, d16, d24   @ encoding: [0xa8,0x08,0x70,0xf3]
40*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32	d17, d17, d25   @ encoding: [0xa9,0x1d,0x61,0xf2]
41*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i8	q1, q1, q10     @ encoding: [0x64,0x28,0x02,0xf3]
42*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i16	q2, q2, q9      @ encoding: [0x62,0x48,0x14,0xf3]
43*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i32	q3, q3, q8      @ encoding: [0x60,0x68,0x26,0xf3]
44*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.i64	q4, q4, q7      @ encoding: [0x4e,0x88,0x38,0xf3]
45*9880d681SAndroid Build Coastguard Worker@ CHECK: vsub.f32	q5, q5, q6      @ encoding: [0x4c,0xad,0x2a,0xf2]
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.s8	q8, d17, d16    @ encoding: [0xa0,0x02,0xc1,0xf2]
50*9880d681SAndroid Build Coastguard Worker	vsubl.s8	q8, d17, d16
51*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.s16	q8, d17, d16    @ encoding: [0xa0,0x02,0xd1,0xf2]
52*9880d681SAndroid Build Coastguard Worker	vsubl.s16	q8, d17, d16
53*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.s32	q8, d17, d16    @ encoding: [0xa0,0x02,0xe1,0xf2]
54*9880d681SAndroid Build Coastguard Worker	vsubl.s32	q8, d17, d16
55*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.u8	q8, d17, d16    @ encoding: [0xa0,0x02,0xc1,0xf3]
56*9880d681SAndroid Build Coastguard Worker	vsubl.u8	q8, d17, d16
57*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.u16	q8, d17, d16    @ encoding: [0xa0,0x02,0xd1,0xf3]
58*9880d681SAndroid Build Coastguard Worker	vsubl.u16	q8, d17, d16
59*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubl.u32	q8, d17, d16    @ encoding: [0xa0,0x02,0xe1,0xf3]
60*9880d681SAndroid Build Coastguard Worker	vsubl.u32	q8, d17, d16
61*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s8	q8, q8, d18     @ encoding: [0xa2,0x03,0xc0,0xf2]
62*9880d681SAndroid Build Coastguard Worker	vsubw.s8	q8, q8, d18
63*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s16	q8, q8, d18     @ encoding: [0xa2,0x03,0xd0,0xf2]
64*9880d681SAndroid Build Coastguard Worker	vsubw.s16	q8, q8, d18
65*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s32	q8, q8, d18     @ encoding: [0xa2,0x03,0xe0,0xf2]
66*9880d681SAndroid Build Coastguard Worker	vsubw.s32	q8, q8, d18
67*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u8	q8, q8, d18     @ encoding: [0xa2,0x03,0xc0,0xf3]
68*9880d681SAndroid Build Coastguard Worker	vsubw.u8	q8, q8, d18
69*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u16	q8, q8, d18     @ encoding: [0xa2,0x03,0xd0,0xf3]
70*9880d681SAndroid Build Coastguard Worker	vsubw.u16	q8, q8, d18
71*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u32	q8, q8, d18     @ encoding: [0xa2,0x03,0xe0,0xf3]
72*9880d681SAndroid Build Coastguard Worker	vsubw.u32	q8, q8, d18
73*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8	d16, d16, d17   @ encoding: [0xa1,0x02,0x40,0xf2]
74*9880d681SAndroid Build Coastguard Worker	vhsub.s8	d16, d16, d17
75*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16	d16, d16, d17   @ encoding: [0xa1,0x02,0x50,0xf2]
76*9880d681SAndroid Build Coastguard Worker	vhsub.s16	d16, d16, d17
77*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32	d16, d16, d17   @ encoding: [0xa1,0x02,0x60,0xf2]
78*9880d681SAndroid Build Coastguard Worker	vhsub.s32	d16, d16, d17
79*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u8	d16, d16, d17   @ encoding: [0xa1,0x02,0x40,0xf3]
80*9880d681SAndroid Build Coastguard Worker	vhsub.u8	d16, d16, d17
81*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u16	d16, d16, d17   @ encoding: [0xa1,0x02,0x50,0xf3]
82*9880d681SAndroid Build Coastguard Worker	vhsub.u16	d16, d16, d17
83*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u32	d16, d16, d17   @ encoding: [0xa1,0x02,0x60,0xf3]
84*9880d681SAndroid Build Coastguard Worker	vhsub.u32	d16, d16, d17
85*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8	q8, q8, q9      @ encoding: [0xe2,0x02,0x40,0xf2]
86*9880d681SAndroid Build Coastguard Worker	vhsub.s8	q8, q8, q9
87*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16	q8, q8, q9      @ encoding: [0xe2,0x02,0x50,0xf2]
88*9880d681SAndroid Build Coastguard Worker	vhsub.s16	q8, q8, q9
89*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32	q8, q8, q9      @ encoding: [0xe2,0x02,0x60,0xf2]
90*9880d681SAndroid Build Coastguard Worker	vhsub.s32	q8, q8, q9
91*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s8	d16, d16, d17   @ encoding: [0xb1,0x02,0x40,0xf2]
92*9880d681SAndroid Build Coastguard Worker	vqsub.s8	d16, d16, d17
93*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s16	d16, d16, d17   @ encoding: [0xb1,0x02,0x50,0xf2]
94*9880d681SAndroid Build Coastguard Worker	vqsub.s16	d16, d16, d17
95*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s32	d16, d16, d17   @ encoding: [0xb1,0x02,0x60,0xf2]
96*9880d681SAndroid Build Coastguard Worker	vqsub.s32	d16, d16, d17
97*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s64	d16, d16, d17   @ encoding: [0xb1,0x02,0x70,0xf2]
98*9880d681SAndroid Build Coastguard Worker	vqsub.s64	d16, d16, d17
99*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u8	d16, d16, d17   @ encoding: [0xb1,0x02,0x40,0xf3]
100*9880d681SAndroid Build Coastguard Worker	vqsub.u8	d16, d16, d17
101*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u16	d16, d16, d17   @ encoding: [0xb1,0x02,0x50,0xf3]
102*9880d681SAndroid Build Coastguard Worker	vqsub.u16	d16, d16, d17
103*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u32	d16, d16, d17   @ encoding: [0xb1,0x02,0x60,0xf3]
104*9880d681SAndroid Build Coastguard Worker	vqsub.u32	d16, d16, d17
105*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u64	d16, d16, d17   @ encoding: [0xb1,0x02,0x70,0xf3]
106*9880d681SAndroid Build Coastguard Worker	vqsub.u64	d16, d16, d17
107*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s8	q8, q8, q9      @ encoding: [0xf2,0x02,0x40,0xf2]
108*9880d681SAndroid Build Coastguard Worker	vqsub.s8	q8, q8, q9
109*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s16	q8, q8, q9      @ encoding: [0xf2,0x02,0x50,0xf2]
110*9880d681SAndroid Build Coastguard Worker	vqsub.s16	q8, q8, q9
111*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s32	q8, q8, q9      @ encoding: [0xf2,0x02,0x60,0xf2]
112*9880d681SAndroid Build Coastguard Worker	vqsub.s32	q8, q8, q9
113*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.s64	q8, q8, q9      @ encoding: [0xf2,0x02,0x70,0xf2]
114*9880d681SAndroid Build Coastguard Worker	vqsub.s64	q8, q8, q9
115*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u8	q8, q8, q9      @ encoding: [0xf2,0x02,0x40,0xf3]
116*9880d681SAndroid Build Coastguard Worker	vqsub.u8	q8, q8, q9
117*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u16	q8, q8, q9      @ encoding: [0xf2,0x02,0x50,0xf3]
118*9880d681SAndroid Build Coastguard Worker	vqsub.u16	q8, q8, q9
119*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u32	q8, q8, q9      @ encoding: [0xf2,0x02,0x60,0xf3]
120*9880d681SAndroid Build Coastguard Worker	vqsub.u32	q8, q8, q9
121*9880d681SAndroid Build Coastguard Worker@ CHECK: vqsub.u64	q8, q8, q9      @ encoding: [0xf2,0x02,0x70,0xf3]
122*9880d681SAndroid Build Coastguard Worker	vqsub.u64	q8, q8, q9
123*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubhn.i16	d16, q8, q9     @ encoding: [0xa2,0x06,0xc0,0xf2]
124*9880d681SAndroid Build Coastguard Worker	vsubhn.i16	d16, q8, q9
125*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubhn.i32	d16, q8, q9     @ encoding: [0xa2,0x06,0xd0,0xf2]
126*9880d681SAndroid Build Coastguard Worker	vsubhn.i32	d16, q8, q9
127*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubhn.i64	d16, q8, q9     @ encoding: [0xa2,0x06,0xe0,0xf2]
128*9880d681SAndroid Build Coastguard Worker	vsubhn.i64	d16, q8, q9
129*9880d681SAndroid Build Coastguard Worker@ CHECK: vrsubhn.i16	d16, q8, q9     @ encoding: [0xa2,0x06,0xc0,0xf3]
130*9880d681SAndroid Build Coastguard Worker	vrsubhn.i16	d16, q8, q9
131*9880d681SAndroid Build Coastguard Worker@ CHECK: vrsubhn.i32	d16, q8, q9     @ encoding: [0xa2,0x06,0xd0,0xf3]
132*9880d681SAndroid Build Coastguard Worker	vrsubhn.i32	d16, q8, q9
133*9880d681SAndroid Build Coastguard Worker@ CHECK: vrsubhn.i64	d16, q8, q9     @ encoding: [0xa2,0x06,0xe0,0xf3]
134*9880d681SAndroid Build Coastguard Worker	vrsubhn.i64	d16, q8, q9
135*9880d681SAndroid Build Coastguard Worker
136*9880d681SAndroid Build Coastguard Worker	vhsub.s8	d11, d24
137*9880d681SAndroid Build Coastguard Worker	vhsub.s16	d12, d23
138*9880d681SAndroid Build Coastguard Worker	vhsub.s32	d13, d22
139*9880d681SAndroid Build Coastguard Worker	vhsub.u8	d14, d21
140*9880d681SAndroid Build Coastguard Worker	vhsub.u16	d15, d20
141*9880d681SAndroid Build Coastguard Worker	vhsub.u32	d16, d19
142*9880d681SAndroid Build Coastguard Worker	vhsub.s8	q1, q12
143*9880d681SAndroid Build Coastguard Worker	vhsub.s16	q2, q11
144*9880d681SAndroid Build Coastguard Worker	vhsub.s32	q3, q10
145*9880d681SAndroid Build Coastguard Worker	vhsub.u8	q4, q9
146*9880d681SAndroid Build Coastguard Worker	vhsub.u16	q5, q8
147*9880d681SAndroid Build Coastguard Worker	vhsub.u32	q6, q7
148*9880d681SAndroid Build Coastguard Worker
149*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8	d11, d11, d24   @ encoding: [0x28,0xb2,0x0b,0xf2]
150*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16	d12, d12, d23   @ encoding: [0x27,0xc2,0x1c,0xf2]
151*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32	d13, d13, d22   @ encoding: [0x26,0xd2,0x2d,0xf2]
152*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u8	d14, d14, d21   @ encoding: [0x25,0xe2,0x0e,0xf3]
153*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u16	d15, d15, d20   @ encoding: [0x24,0xf2,0x1f,0xf3]
154*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u32	d16, d16, d19   @ encoding: [0xa3,0x02,0x60,0xf3]
155*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s8	q1, q1, q12     @ encoding: [0x68,0x22,0x02,0xf2]
156*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s16	q2, q2, q11     @ encoding: [0x66,0x42,0x14,0xf2]
157*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.s32	q3, q3, q10     @ encoding: [0x64,0x62,0x26,0xf2]
158*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u8	q4, q4, q9      @ encoding: [0x62,0x82,0x08,0xf3]
159*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u16	q5, q5, q8      @ encoding: [0x60,0xa2,0x1a,0xf3]
160*9880d681SAndroid Build Coastguard Worker@ CHECK: vhsub.u32	q6, q6, q7      @ encoding: [0x4e,0xc2,0x2c,0xf3]
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Worker	vsubw.s8  q6, d5
164*9880d681SAndroid Build Coastguard Worker	vsubw.s16 q7, d1
165*9880d681SAndroid Build Coastguard Worker	vsubw.s32 q8, d2
166*9880d681SAndroid Build Coastguard Worker	vsubw.u8  q6, d5
167*9880d681SAndroid Build Coastguard Worker	vsubw.u16 q7, d1
168*9880d681SAndroid Build Coastguard Worker	vsubw.u32 q8, d2
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s8	q6, q6, d5      @ encoding: [0x05,0xc3,0x8c,0xf2]
171*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s16	q7, q7, d1      @ encoding: [0x01,0xe3,0x9e,0xf2]
172*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.s32	q8, q8, d2      @ encoding: [0x82,0x03,0xe0,0xf2]
173*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u8	q6, q6, d5      @ encoding: [0x05,0xc3,0x8c,0xf3]
174*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u16	q7, q7, d1      @ encoding: [0x01,0xe3,0x9e,0xf3]
175*9880d681SAndroid Build Coastguard Worker@ CHECK: vsubw.u32	q8, q8, d2      @ encoding: [0x82,0x03,0xe0,0xf3]
176