xref: /aosp_15_r20/external/llvm/test/MC/AArch64/neon-2velem.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=arm64 -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax for AArch64
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
6*9880d681SAndroid Build Coastguard Worker// Instructions with 2 vectors and an element
7*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker        mla v0.2s, v1.2s, v2.s[2]
10*9880d681SAndroid Build Coastguard Worker        mla v0.2s, v1.2s, v22.s[2]
11*9880d681SAndroid Build Coastguard Worker        mla v3.4s, v8.4s, v2.s[1]
12*9880d681SAndroid Build Coastguard Worker        mla v3.4s, v8.4s, v22.s[3]
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x08,0x82,0x2f]
15*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x08,0x96,0x2f]
16*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v3.4s, v8.4s, v2.s[1]   // encoding: [0x03,0x01,0xa2,0x6f]
17*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v3.4s, v8.4s, v22.s[3]  // encoding: [0x03,0x09,0xb6,0x6f]
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker        mla v0.4h, v1.4h, v2.h[2]
20*9880d681SAndroid Build Coastguard Worker        mla v0.4h, v1.4h, v15.h[2]
21*9880d681SAndroid Build Coastguard Worker        mla v0.8h, v1.8h, v2.h[7]
22*9880d681SAndroid Build Coastguard Worker        mla v0.8h, v1.8h, v14.h[6]
23*9880d681SAndroid Build Coastguard Worker
24*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x00,0x62,0x2f]
25*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v0.4h, v1.4h, v15.h[2]  // encoding: [0x20,0x00,0x6f,0x2f]
26*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v0.8h, v1.8h, v2.h[7]   // encoding: [0x20,0x08,0x72,0x6f]
27*9880d681SAndroid Build Coastguard Worker// CHECK: mla	v0.8h, v1.8h, v14.h[6]  // encoding: [0x20,0x08,0x6e,0x6f]
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker        mls v0.2s, v1.2s, v2.s[2]
30*9880d681SAndroid Build Coastguard Worker        mls v0.2s, v1.2s, v22.s[2]
31*9880d681SAndroid Build Coastguard Worker        mls v3.4s, v8.4s, v2.s[1]
32*9880d681SAndroid Build Coastguard Worker        mls v3.4s, v8.4s, v22.s[3]
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x48,0x82,0x2f]
35*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x48,0x96,0x2f]
36*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v3.4s, v8.4s, v2.s[1]   // encoding: [0x03,0x41,0xa2,0x6f]
37*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v3.4s, v8.4s, v22.s[3]  // encoding: [0x03,0x49,0xb6,0x6f]
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker        mls v0.4h, v1.4h, v2.h[2]
40*9880d681SAndroid Build Coastguard Worker        mls v0.4h, v1.4h, v15.h[2]
41*9880d681SAndroid Build Coastguard Worker        mls v0.8h, v1.8h, v2.h[7]
42*9880d681SAndroid Build Coastguard Worker        mls v0.8h, v1.8h, v14.h[6]
43*9880d681SAndroid Build Coastguard Worker
44*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x40,0x62,0x2f]
45*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v0.4h, v1.4h, v15.h[2]  // encoding: [0x20,0x40,0x6f,0x2f]
46*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v0.8h, v1.8h, v2.h[7]   // encoding: [0x20,0x48,0x72,0x6f]
47*9880d681SAndroid Build Coastguard Worker// CHECK: mls	v0.8h, v1.8h, v14.h[6]  // encoding: [0x20,0x48,0x6e,0x6f]
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker        fmla v0.4h, v1.4h, v2.h[2]
50*9880d681SAndroid Build Coastguard Worker        fmla v3.8h, v8.8h, v2.h[1]
51*9880d681SAndroid Build Coastguard Worker        fmla v0.2s, v1.2s, v2.s[2]
52*9880d681SAndroid Build Coastguard Worker        fmla v0.2s, v1.2s, v22.s[2]
53*9880d681SAndroid Build Coastguard Worker        fmla v3.4s, v8.4s, v2.s[1]
54*9880d681SAndroid Build Coastguard Worker        fmla v3.4s, v8.4s, v22.s[3]
55*9880d681SAndroid Build Coastguard Worker        fmla v0.2d, v1.2d, v2.d[1]
56*9880d681SAndroid Build Coastguard Worker        fmla v0.2d, v1.2d, v22.d[1]
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker// CHECK: fmla    v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x10,0x22,0x0f]
59*9880d681SAndroid Build Coastguard Worker// CHECK: fmla    v3.8h, v8.8h, v2.h[1]   // encoding: [0x03,0x11,0x12,0x4f]
60*9880d681SAndroid Build Coastguard Worker// CHECK: fmla	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x18,0x82,0x0f]
61*9880d681SAndroid Build Coastguard Worker// CHECK: fmla	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x18,0x96,0x0f]
62*9880d681SAndroid Build Coastguard Worker// CHECK: fmla	v3.4s, v8.4s, v2.s[1]   // encoding: [0x03,0x11,0xa2,0x4f]
63*9880d681SAndroid Build Coastguard Worker// CHECK: fmla	v3.4s, v8.4s, v22.s[3]  // encoding: [0x03,0x19,0xb6,0x4f]
64*9880d681SAndroid Build Coastguard Worker// CHECK: fmla	v0.2d, v1.2d, v2.d[1]   // encoding: [0x20,0x18,0xc2,0x4f]
65*9880d681SAndroid Build Coastguard Worker// CHECK: fmla	v0.2d, v1.2d, v22.d[1]  // encoding: [0x20,0x18,0xd6,0x4f]
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Worker        fmls v0.4h, v1.4h, v2.h[2]
68*9880d681SAndroid Build Coastguard Worker        fmls v3.8h, v8.8h, v2.h[1]
69*9880d681SAndroid Build Coastguard Worker        fmls v0.2s, v1.2s, v2.s[2]
70*9880d681SAndroid Build Coastguard Worker        fmls v0.2s, v1.2s, v22.s[2]
71*9880d681SAndroid Build Coastguard Worker        fmls v3.4s, v8.4s, v2.s[1]
72*9880d681SAndroid Build Coastguard Worker        fmls v3.4s, v8.4s, v22.s[3]
73*9880d681SAndroid Build Coastguard Worker        fmls v0.2d, v1.2d, v2.d[1]
74*9880d681SAndroid Build Coastguard Worker        fmls v0.2d, v1.2d, v22.d[1]
75*9880d681SAndroid Build Coastguard Worker
76*9880d681SAndroid Build Coastguard Worker// CHECK: fmls    v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x50,0x22,0x0f]
77*9880d681SAndroid Build Coastguard Worker// CHECK: fmls    v3.8h, v8.8h, v2.h[1]   // encoding: [0x03,0x51,0x12,0x4f]
78*9880d681SAndroid Build Coastguard Worker// CHECK: fmls	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x58,0x82,0x0f]
79*9880d681SAndroid Build Coastguard Worker// CHECK: fmls	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x58,0x96,0x0f]
80*9880d681SAndroid Build Coastguard Worker// CHECK: fmls	v3.4s, v8.4s, v2.s[1]   // encoding: [0x03,0x51,0xa2,0x4f]
81*9880d681SAndroid Build Coastguard Worker// CHECK: fmls	v3.4s, v8.4s, v22.s[3]  // encoding: [0x03,0x59,0xb6,0x4f]
82*9880d681SAndroid Build Coastguard Worker// CHECK: fmls	v0.2d, v1.2d, v2.d[1]   // encoding: [0x20,0x58,0xc2,0x4f]
83*9880d681SAndroid Build Coastguard Worker// CHECK: fmls	v0.2d, v1.2d, v22.d[1]  // encoding: [0x20,0x58,0xd6,0x4f]
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Worker        smlal v0.4s, v1.4h, v2.h[2]
86*9880d681SAndroid Build Coastguard Worker        smlal v0.2d, v1.2s, v2.s[2]
87*9880d681SAndroid Build Coastguard Worker        smlal v0.2d, v1.2s, v22.s[2]
88*9880d681SAndroid Build Coastguard Worker        smlal2 v0.4s, v1.8h, v1.h[2]
89*9880d681SAndroid Build Coastguard Worker        smlal2 v0.2d, v1.4s, v1.s[2]
90*9880d681SAndroid Build Coastguard Worker        smlal2 v0.2d, v1.4s, v22.s[2]
91*9880d681SAndroid Build Coastguard Worker
92*9880d681SAndroid Build Coastguard Worker// CHECK: smlal	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0x20,0x62,0x0f]
93*9880d681SAndroid Build Coastguard Worker// CHECK: smlal	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0x28,0x82,0x0f]
94*9880d681SAndroid Build Coastguard Worker// CHECK: smlal	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0x28,0x96,0x0f]
95*9880d681SAndroid Build Coastguard Worker// CHECK: smlal2	v0.4s, v1.8h, v1.h[2]   // encoding: [0x20,0x20,0x61,0x4f]
96*9880d681SAndroid Build Coastguard Worker// CHECK: smlal2	v0.2d, v1.4s, v1.s[2]   // encoding: [0x20,0x28,0x81,0x4f]
97*9880d681SAndroid Build Coastguard Worker// CHECK: smlal2	v0.2d, v1.4s, v22.s[2]  // encoding: [0x20,0x28,0x96,0x4f]
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker        smlsl v0.4s, v1.4h, v2.h[2]
100*9880d681SAndroid Build Coastguard Worker        smlsl v0.2d, v1.2s, v2.s[2]
101*9880d681SAndroid Build Coastguard Worker        smlsl v0.2d, v1.2s, v22.s[2]
102*9880d681SAndroid Build Coastguard Worker        smlsl2 v0.4s, v1.8h, v1.h[2]
103*9880d681SAndroid Build Coastguard Worker        smlsl2 v0.2d, v1.4s, v1.s[2]
104*9880d681SAndroid Build Coastguard Worker        smlsl2 v0.2d, v1.4s, v22.s[2]
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0x60,0x62,0x0f]
107*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0x68,0x82,0x0f]
108*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0x68,0x96,0x0f]
109*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl2	v0.4s, v1.8h, v1.h[2]   // encoding: [0x20,0x60,0x61,0x4f]
110*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl2	v0.2d, v1.4s, v1.s[2]   // encoding: [0x20,0x68,0x81,0x4f]
111*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl2	v0.2d, v1.4s, v22.s[2]  // encoding: [0x20,0x68,0x96,0x4f]
112*9880d681SAndroid Build Coastguard Worker
113*9880d681SAndroid Build Coastguard Worker        sqdmlal v0.4s, v1.4h, v2.h[2]
114*9880d681SAndroid Build Coastguard Worker        sqdmlal v0.2d, v1.2s, v2.s[2]
115*9880d681SAndroid Build Coastguard Worker        sqdmlal v0.2d, v1.2s, v22.s[2]
116*9880d681SAndroid Build Coastguard Worker        sqdmlal2 v0.4s, v1.8h, v1.h[2]
117*9880d681SAndroid Build Coastguard Worker        sqdmlal2 v0.2d, v1.4s, v1.s[2]
118*9880d681SAndroid Build Coastguard Worker        sqdmlal2 v0.2d, v1.4s, v22.s[2]
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0x30,0x62,0x0f]
121*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0x38,0x82,0x0f]
122*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0x38,0x96,0x0f]
123*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal2	v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x30,0x61,0x4f]
124*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal2	v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x38,0x81,0x4f]
125*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal2	v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x38,0x96,0x4f]
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker        umlal v0.4s, v1.4h, v2.h[2]
128*9880d681SAndroid Build Coastguard Worker        umlal v0.2d, v1.2s, v2.s[2]
129*9880d681SAndroid Build Coastguard Worker        umlal v0.2d, v1.2s, v22.s[2]
130*9880d681SAndroid Build Coastguard Worker        umlal2 v0.4s, v1.8h, v1.h[2]
131*9880d681SAndroid Build Coastguard Worker        umlal2 v0.2d, v1.4s, v1.s[2]
132*9880d681SAndroid Build Coastguard Worker        umlal2 v0.2d, v1.4s, v22.s[2]
133*9880d681SAndroid Build Coastguard Worker
134*9880d681SAndroid Build Coastguard Worker// CHECK: umlal	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0x20,0x62,0x2f]
135*9880d681SAndroid Build Coastguard Worker// CHECK: umlal	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0x28,0x82,0x2f]
136*9880d681SAndroid Build Coastguard Worker// CHECK: umlal	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0x28,0x96,0x2f]
137*9880d681SAndroid Build Coastguard Worker// CHECK: umlal2	v0.4s, v1.8h, v1.h[2]   // encoding: [0x20,0x20,0x61,0x6f]
138*9880d681SAndroid Build Coastguard Worker// CHECK: umlal2	v0.2d, v1.4s, v1.s[2]   // encoding: [0x20,0x28,0x81,0x6f]
139*9880d681SAndroid Build Coastguard Worker// CHECK: umlal2	v0.2d, v1.4s, v22.s[2]  // encoding: [0x20,0x28,0x96,0x6f]
140*9880d681SAndroid Build Coastguard Worker
141*9880d681SAndroid Build Coastguard Worker        umlsl v0.4s, v1.4h, v2.h[2]
142*9880d681SAndroid Build Coastguard Worker        umlsl v0.2d, v1.2s, v2.s[2]
143*9880d681SAndroid Build Coastguard Worker        umlsl v0.2d, v1.2s, v22.s[2]
144*9880d681SAndroid Build Coastguard Worker        umlsl2 v0.4s, v1.8h, v1.h[2]
145*9880d681SAndroid Build Coastguard Worker        umlsl2 v0.2d, v1.4s, v1.s[2]
146*9880d681SAndroid Build Coastguard Worker        umlsl2 v0.2d, v1.4s, v22.s[2]
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0x60,0x62,0x2f]
149*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0x68,0x82,0x2f]
150*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0x68,0x96,0x2f]
151*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl2	v0.4s, v1.8h, v1.h[2]   // encoding: [0x20,0x60,0x61,0x6f]
152*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl2	v0.2d, v1.4s, v1.s[2]   // encoding: [0x20,0x68,0x81,0x6f]
153*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl2	v0.2d, v1.4s, v22.s[2]  // encoding: [0x20,0x68,0x96,0x6f]
154*9880d681SAndroid Build Coastguard Worker
155*9880d681SAndroid Build Coastguard Worker        sqdmlsl v0.4s, v1.4h, v2.h[2]
156*9880d681SAndroid Build Coastguard Worker        sqdmlsl v0.2d, v1.2s, v2.s[2]
157*9880d681SAndroid Build Coastguard Worker        sqdmlsl v0.2d, v1.2s, v22.s[2]
158*9880d681SAndroid Build Coastguard Worker        sqdmlsl2 v0.4s, v1.8h, v1.h[2]
159*9880d681SAndroid Build Coastguard Worker        sqdmlsl2 v0.2d, v1.4s, v1.s[2]
160*9880d681SAndroid Build Coastguard Worker        sqdmlsl2 v0.2d, v1.4s, v22.s[2]
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0x70,0x62,0x0f]
163*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0x78,0x82,0x0f]
164*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0x78,0x96,0x0f]
165*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl2	v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x70,0x61,0x4f]
166*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl2	v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x78,0x81,0x4f]
167*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl2	v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x78,0x96,0x4f]
168*9880d681SAndroid Build Coastguard Worker
169*9880d681SAndroid Build Coastguard Worker        mul v0.4h, v1.4h, v2.h[2]
170*9880d681SAndroid Build Coastguard Worker        mul v0.8h, v1.8h, v2.h[2]
171*9880d681SAndroid Build Coastguard Worker        mul v0.2s, v1.2s, v2.s[2]
172*9880d681SAndroid Build Coastguard Worker        mul v0.2s, v1.2s, v22.s[2]
173*9880d681SAndroid Build Coastguard Worker        mul v0.4s, v1.4s, v2.s[2]
174*9880d681SAndroid Build Coastguard Worker        mul v0.4s, v1.4s, v22.s[2]
175*9880d681SAndroid Build Coastguard Worker
176*9880d681SAndroid Build Coastguard Worker// CHECK: mul	v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x80,0x62,0x0f]
177*9880d681SAndroid Build Coastguard Worker// CHECK: mul	v0.8h, v1.8h, v2.h[2]   // encoding: [0x20,0x80,0x62,0x4f]
178*9880d681SAndroid Build Coastguard Worker// CHECK: mul	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x88,0x82,0x0f]
179*9880d681SAndroid Build Coastguard Worker// CHECK: mul	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x88,0x96,0x0f]
180*9880d681SAndroid Build Coastguard Worker// CHECK: mul	v0.4s, v1.4s, v2.s[2]   // encoding: [0x20,0x88,0x82,0x4f]
181*9880d681SAndroid Build Coastguard Worker// CHECK: mul	v0.4s, v1.4s, v22.s[2]  // encoding: [0x20,0x88,0x96,0x4f]
182*9880d681SAndroid Build Coastguard Worker
183*9880d681SAndroid Build Coastguard Worker        fmul v0.4h, v1.4h, v2.h[2]
184*9880d681SAndroid Build Coastguard Worker        fmul v0.8h, v1.8h, v2.h[2]
185*9880d681SAndroid Build Coastguard Worker        fmul v0.2s, v1.2s, v2.s[2]
186*9880d681SAndroid Build Coastguard Worker        fmul v0.2s, v1.2s, v22.s[2]
187*9880d681SAndroid Build Coastguard Worker        fmul v0.4s, v1.4s, v2.s[2]
188*9880d681SAndroid Build Coastguard Worker        fmul v0.4s, v1.4s, v22.s[2]
189*9880d681SAndroid Build Coastguard Worker        fmul v0.2d, v1.2d, v2.d[1]
190*9880d681SAndroid Build Coastguard Worker        fmul v0.2d, v1.2d, v22.d[1]
191*9880d681SAndroid Build Coastguard Worker
192*9880d681SAndroid Build Coastguard Worker// CHECK: fmul    v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x90,0x22,0x0f]
193*9880d681SAndroid Build Coastguard Worker// CHECK: fmul    v0.8h, v1.8h, v2.h[2]   // encoding: [0x20,0x90,0x22,0x4f]
194*9880d681SAndroid Build Coastguard Worker// CHECK: fmul	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x98,0x82,0x0f]
195*9880d681SAndroid Build Coastguard Worker// CHECK: fmul	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x98,0x96,0x0f]
196*9880d681SAndroid Build Coastguard Worker// CHECK: fmul	v0.4s, v1.4s, v2.s[2]   // encoding: [0x20,0x98,0x82,0x4f]
197*9880d681SAndroid Build Coastguard Worker// CHECK: fmul	v0.4s, v1.4s, v22.s[2]  // encoding: [0x20,0x98,0x96,0x4f]
198*9880d681SAndroid Build Coastguard Worker// CHECK: fmul	v0.2d, v1.2d, v2.d[1]   // encoding: [0x20,0x98,0xc2,0x4f]
199*9880d681SAndroid Build Coastguard Worker// CHECK: fmul	v0.2d, v1.2d, v22.d[1]  // encoding: [0x20,0x98,0xd6,0x4f]
200*9880d681SAndroid Build Coastguard Worker
201*9880d681SAndroid Build Coastguard Worker        fmulx v0.4h, v1.4h, v2.h[2]
202*9880d681SAndroid Build Coastguard Worker        fmulx v0.8h, v1.8h, v2.h[2]
203*9880d681SAndroid Build Coastguard Worker        fmulx v0.2s, v1.2s, v2.s[2]
204*9880d681SAndroid Build Coastguard Worker        fmulx v0.2s, v1.2s, v22.s[2]
205*9880d681SAndroid Build Coastguard Worker        fmulx v0.4s, v1.4s, v2.s[2]
206*9880d681SAndroid Build Coastguard Worker        fmulx v0.4s, v1.4s, v22.s[2]
207*9880d681SAndroid Build Coastguard Worker        fmulx v0.2d, v1.2d, v2.d[1]
208*9880d681SAndroid Build Coastguard Worker        fmulx v0.2d, v1.2d, v22.d[1]
209*9880d681SAndroid Build Coastguard Worker
210*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx   v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0x90,0x22,0x2f]
211*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx   v0.8h, v1.8h, v2.h[2]   // encoding: [0x20,0x90,0x22,0x6f]
212*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0x98,0x82,0x2f]
213*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0x98,0x96,0x2f]
214*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx	v0.4s, v1.4s, v2.s[2]   // encoding: [0x20,0x98,0x82,0x6f]
215*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx	v0.4s, v1.4s, v22.s[2]  // encoding: [0x20,0x98,0x96,0x6f]
216*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx	v0.2d, v1.2d, v2.d[1]   // encoding: [0x20,0x98,0xc2,0x6f]
217*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx	v0.2d, v1.2d, v22.d[1]  // encoding: [0x20,0x98,0xd6,0x6f]
218*9880d681SAndroid Build Coastguard Worker
219*9880d681SAndroid Build Coastguard Worker        smull v0.4s, v1.4h, v2.h[2]
220*9880d681SAndroid Build Coastguard Worker        smull v0.2d, v1.2s, v2.s[2]
221*9880d681SAndroid Build Coastguard Worker        smull v0.2d, v1.2s, v22.s[2]
222*9880d681SAndroid Build Coastguard Worker        smull2 v0.4s, v1.8h, v2.h[2]
223*9880d681SAndroid Build Coastguard Worker        smull2 v0.2d, v1.4s, v2.s[2]
224*9880d681SAndroid Build Coastguard Worker        smull2 v0.2d, v1.4s, v22.s[2]
225*9880d681SAndroid Build Coastguard Worker
226*9880d681SAndroid Build Coastguard Worker// CHECK: smull	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0xa0,0x62,0x0f]
227*9880d681SAndroid Build Coastguard Worker// CHECK: smull	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0xa8,0x82,0x0f]
228*9880d681SAndroid Build Coastguard Worker// CHECK: smull	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0xa8,0x96,0x0f]
229*9880d681SAndroid Build Coastguard Worker// CHECK: smull2	v0.4s, v1.8h, v2.h[2]   // encoding: [0x20,0xa0,0x62,0x4f]
230*9880d681SAndroid Build Coastguard Worker// CHECK: smull2	v0.2d, v1.4s, v2.s[2]   // encoding: [0x20,0xa8,0x82,0x4f]
231*9880d681SAndroid Build Coastguard Worker// CHECK: smull2	v0.2d, v1.4s, v22.s[2]  // encoding: [0x20,0xa8,0x96,0x4f]
232*9880d681SAndroid Build Coastguard Worker
233*9880d681SAndroid Build Coastguard Worker        umull v0.4s, v1.4h, v2.h[2]
234*9880d681SAndroid Build Coastguard Worker        umull v0.2d, v1.2s, v2.s[2]
235*9880d681SAndroid Build Coastguard Worker        umull v0.2d, v1.2s, v22.s[2]
236*9880d681SAndroid Build Coastguard Worker        umull2 v0.4s, v1.8h, v2.h[2]
237*9880d681SAndroid Build Coastguard Worker        umull2 v0.2d, v1.4s, v2.s[2]
238*9880d681SAndroid Build Coastguard Worker        umull2 v0.2d, v1.4s, v22.s[2]
239*9880d681SAndroid Build Coastguard Worker
240*9880d681SAndroid Build Coastguard Worker// CHECK: umull	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0xa0,0x62,0x2f]
241*9880d681SAndroid Build Coastguard Worker// CHECK: umull	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0xa8,0x82,0x2f]
242*9880d681SAndroid Build Coastguard Worker// CHECK: umull	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0xa8,0x96,0x2f]
243*9880d681SAndroid Build Coastguard Worker// CHECK: umull2	v0.4s, v1.8h, v2.h[2]   // encoding: [0x20,0xa0,0x62,0x6f]
244*9880d681SAndroid Build Coastguard Worker// CHECK: umull2	v0.2d, v1.4s, v2.s[2]   // encoding: [0x20,0xa8,0x82,0x6f]
245*9880d681SAndroid Build Coastguard Worker// CHECK: umull2	v0.2d, v1.4s, v22.s[2]  // encoding: [0x20,0xa8,0x96,0x6f]
246*9880d681SAndroid Build Coastguard Worker
247*9880d681SAndroid Build Coastguard Worker        sqdmull v0.4s, v1.4h, v2.h[2]
248*9880d681SAndroid Build Coastguard Worker        sqdmull v0.2d, v1.2s, v2.s[2]
249*9880d681SAndroid Build Coastguard Worker        sqdmull v0.2d, v1.2s, v22.s[2]
250*9880d681SAndroid Build Coastguard Worker        sqdmull2 v0.4s, v1.8h, v2.h[2]
251*9880d681SAndroid Build Coastguard Worker        sqdmull2 v0.2d, v1.4s, v2.s[2]
252*9880d681SAndroid Build Coastguard Worker        sqdmull2 v0.2d, v1.4s, v22.s[2]
253*9880d681SAndroid Build Coastguard Worker
254*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull	v0.4s, v1.4h, v2.h[2]   // encoding: [0x20,0xb0,0x62,0x0f]
255*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull	v0.2d, v1.2s, v2.s[2]   // encoding: [0x20,0xb8,0x82,0x0f]
256*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull	v0.2d, v1.2s, v22.s[2]  // encoding: [0x20,0xb8,0x96,0x0f]
257*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull2	v0.4s, v1.8h, v2.h[2] // encoding: [0x20,0xb0,0x62,0x4f]
258*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull2	v0.2d, v1.4s, v2.s[2] // encoding: [0x20,0xb8,0x82,0x4f]
259*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull2	v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0xb8,0x96,0x4f]
260*9880d681SAndroid Build Coastguard Worker
261*9880d681SAndroid Build Coastguard Worker        sqdmulh v0.4h, v1.4h, v2.h[2]
262*9880d681SAndroid Build Coastguard Worker        sqdmulh v0.8h, v1.8h, v2.h[2]
263*9880d681SAndroid Build Coastguard Worker        sqdmulh v0.2s, v1.2s, v2.s[2]
264*9880d681SAndroid Build Coastguard Worker        sqdmulh v0.2s, v1.2s, v22.s[2]
265*9880d681SAndroid Build Coastguard Worker        sqdmulh v0.4s, v1.4s, v2.s[2]
266*9880d681SAndroid Build Coastguard Worker        sqdmulh v0.4s, v1.4s, v22.s[2]
267*9880d681SAndroid Build Coastguard Worker
268*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh	v0.4h, v1.4h, v2.h[2]   // encoding: [0x20,0xc0,0x62,0x0f]
269*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh	v0.8h, v1.8h, v2.h[2]   // encoding: [0x20,0xc0,0x62,0x4f]
270*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh	v0.2s, v1.2s, v2.s[2]   // encoding: [0x20,0xc8,0x82,0x0f]
271*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh	v0.2s, v1.2s, v22.s[2]  // encoding: [0x20,0xc8,0x96,0x0f]
272*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh	v0.4s, v1.4s, v2.s[2]   // encoding: [0x20,0xc8,0x82,0x4f]
273*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh	v0.4s, v1.4s, v22.s[2]  // encoding: [0x20,0xc8,0x96,0x4f]
274*9880d681SAndroid Build Coastguard Worker
275*9880d681SAndroid Build Coastguard Worker        sqrdmulh v0.4h, v1.4h, v2.h[2]
276*9880d681SAndroid Build Coastguard Worker        sqrdmulh v0.8h, v1.8h, v2.h[2]
277*9880d681SAndroid Build Coastguard Worker        sqrdmulh v0.2s, v1.2s, v2.s[2]
278*9880d681SAndroid Build Coastguard Worker        sqrdmulh v0.2s, v1.2s, v22.s[2]
279*9880d681SAndroid Build Coastguard Worker        sqrdmulh v0.4s, v1.4s, v2.s[2]
280*9880d681SAndroid Build Coastguard Worker        sqrdmulh v0.4s, v1.4s, v22.s[2]
281*9880d681SAndroid Build Coastguard Worker
282*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh	v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0xd0,0x62,0x0f]
283*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh	v0.8h, v1.8h, v2.h[2] // encoding: [0x20,0xd0,0x62,0x4f]
284*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh	v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0xd8,0x82,0x0f]
285*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh	v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0xd8,0x96,0x0f]
286*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh	v0.4s, v1.4s, v2.s[2] // encoding: [0x20,0xd8,0x82,0x4f]
287*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh	v0.4s, v1.4s, v22.s[2] // encoding: [0x20,0xd8,0x96,0x4f]
288