xref: /llvm-project/llvm/test/tools/llvm-mca/ARM/m85-mve-fp.s (revision 0d2fb9c02bec8e553db715e177c796fb7317d9be)
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=thumbv8.1-m.main-none-none-eabi -mcpu=cortex-m85 -mattr=+mve.fp -instruction-tables < %s | FileCheck %s
3
4vabd.f16 q0, q2, q1
5vabd.f32 q0, q2, q1
6vabs.f16 q0, q2
7vabs.f32 q0, q2
8vadd.f16 q0, q2, q1
9vadd.f32 q0, q2, q1
10vadd.f16 q0, q2, r0
11vadd.f32 q0, q2, r0
12vcadd.f16 q0, q2, q1, #90
13vcadd.f32 q0, q2, q1, #90
14vcmla.f16 q0, q2, q1, #90
15vcmla.f32 q0, q2, q1, #90
16vcmul.f16 q0, q2, q1, #90
17vcmul.f32 q0, q2, q1, #90
18vcvt.f16.s16 q0, q1, #4
19vcvt.f16.u16 q0, q1, #4
20vcvt.s16.f16 q0, q1, #4
21vcvt.u16.f16 q0, q1, #4
22vcvt.f32.s32 q0, q1, #4
23vcvt.f32.u32 q0, q1, #4
24vcvt.s32.f32 q0, q1, #4
25vcvt.u32.f32 q0, q1, #4
26vcvt.f16.s16 q0, q1
27vcvt.f32.s32 q0, q1
28vcvt.f16.u16 q0, q1
29vcvt.f32.u32 q0, q1
30vcvt.s16.f16 q0, q1
31vcvt.s32.f32 q0, q1
32vcvt.u16.f16 q0, q1
33vcvt.u32.f32 q0, q1
34vcvtb.f16.f32 q0, q1
35vcvtb.f32.f16 q0, q1
36vcvtt.f16.f32 q0, q1
37vcvtt.f32.f16 q0, q1
38vcvta.s16.f16 q0, q1
39vcvta.s32.f32 q0, q1
40vcvta.u16.f16 q0, q1
41vcvta.u32.f32 q0, q1
42vcvtm.s16.f16 q0, q1
43vcvtm.s32.f32 q0, q1
44vcvtm.u16.f16 q0, q1
45vcvtm.u32.f32 q0, q1
46vcvtn.s16.f16 q0, q1
47vcvtn.s32.f32 q0, q1
48vcvtn.u16.f16 q0, q1
49vcvtn.u32.f32 q0, q1
50vcvtp.s16.f16 q0, q1
51vcvtp.s32.f32 q0, q1
52vcvtp.u16.f16 q0, q1
53vcvtp.u32.f32 q0, q1
54vfma.f16 q0, q2, r0
55vfma.f32 q0, q2, r0
56vfma.f16 q0, q2, q1
57vfma.f32 q0, q2, q1
58vfms.f16 q0, q2, q1
59vfms.f32 q0, q2, q1
60vfmas.f16 q0, q2, r0
61vfmas.f32 q0, q2, r0
62vmaxnm.f16 q0, q2, q1
63vmaxnm.f32 q0, q2, q1
64vmaxnma.f16 q0, q2
65vmaxnma.f32 q0, q2
66vmaxnmv.f16 r0, q2
67vmaxnmv.f32 r0, q2
68vmaxnmav.f16 r0, q2
69vmaxnmav.f32 r0, q2
70vminnm.f16 q0, q2, q1
71vminnm.f32 q0, q2, q1
72vminnma.f16 q0, q2
73vminnma.f32 q0, q2
74vminnmv.f16 r0, q2
75vminnmv.f32 r0, q2
76vminnmav.f16 r0, q2
77vminnmav.f32 r0, q2
78vmul.f16 q0, q2, q1
79vmul.f32 q0, q2, q1
80vmul.f16 q0, q2, r0
81vmul.f32 q0, q2, r0
82vneg.f16 q0, q2
83vneg.f32 q0, q2
84vrinta.f16 q0, q2
85vrinta.f32 q0, q2
86vrintm.f16 q0, q2
87vrintm.f32 q0, q2
88vrintn.f16 q0, q2
89vrintn.f32 q0, q2
90vrintp.f16 q0, q2
91vrintp.f32 q0, q2
92vrintx.f16 q0, q2
93vrintx.f32 q0, q2
94vrintz.f16 q0, q2
95vrintz.f32 q0, q2
96vsub.f16 q0, q2, q1
97vsub.f32 q0, q2, q1
98vsub.f16 q0, q2, r0
99vsub.f32 q0, q2, r0
100
101# CHECK:      Instruction Info:
102# CHECK-NEXT: [1]: #uOps
103# CHECK-NEXT: [2]: Latency
104# CHECK-NEXT: [3]: RThroughput
105# CHECK-NEXT: [4]: MayLoad
106# CHECK-NEXT: [5]: MayStore
107# CHECK-NEXT: [6]: HasSideEffects (U)
108
109# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
110# CHECK-NEXT:  1      2     2.00                        vabd.f16	q0, q2, q1
111# CHECK-NEXT:  1      2     2.00                        vabd.f32	q0, q2, q1
112# CHECK-NEXT:  1      1     2.00                        vabs.f16	q0, q2
113# CHECK-NEXT:  1      1     2.00                        vabs.f32	q0, q2
114# CHECK-NEXT:  1      2     2.00                        vadd.f16	q0, q2, q1
115# CHECK-NEXT:  1      2     2.00                        vadd.f32	q0, q2, q1
116# CHECK-NEXT:  1      2     2.00                        vadd.f16	q0, q2, r0
117# CHECK-NEXT:  1      2     2.00                        vadd.f32	q0, q2, r0
118# CHECK-NEXT:  1      2     2.00                        vcadd.f16	q0, q2, q1, #90
119# CHECK-NEXT:  1      2     2.00                        vcadd.f32	q0, q2, q1, #90
120# CHECK-NEXT:  1      4     2.00                        vcmla.f16	q0, q2, q1, #90
121# CHECK-NEXT:  1      4     2.00                        vcmla.f32	q0, q2, q1, #90
122# CHECK-NEXT:  1      3     2.00                        vcmul.f16	q0, q2, q1, #90
123# CHECK-NEXT:  1      3     2.00                        vcmul.f32	q0, q2, q1, #90
124# CHECK-NEXT:  1      2     2.00                        vcvt.f16.s16	q0, q1, #4
125# CHECK-NEXT:  1      2     2.00                        vcvt.f16.u16	q0, q1, #4
126# CHECK-NEXT:  1      2     2.00                        vcvt.s16.f16	q0, q1, #4
127# CHECK-NEXT:  1      2     2.00                        vcvt.u16.f16	q0, q1, #4
128# CHECK-NEXT:  1      2     2.00                        vcvt.f32.s32	q0, q1, #4
129# CHECK-NEXT:  1      2     2.00                        vcvt.f32.u32	q0, q1, #4
130# CHECK-NEXT:  1      2     2.00                        vcvt.s32.f32	q0, q1, #4
131# CHECK-NEXT:  1      2     2.00                        vcvt.u32.f32	q0, q1, #4
132# CHECK-NEXT:  1      2     2.00                        vcvt.f16.s16	q0, q1
133# CHECK-NEXT:  1      2     2.00                        vcvt.f32.s32	q0, q1
134# CHECK-NEXT:  1      2     2.00                        vcvt.f16.u16	q0, q1
135# CHECK-NEXT:  1      2     2.00                        vcvt.f32.u32	q0, q1
136# CHECK-NEXT:  1      2     2.00                        vcvt.s16.f16	q0, q1
137# CHECK-NEXT:  1      2     2.00                        vcvt.s32.f32	q0, q1
138# CHECK-NEXT:  1      2     2.00                        vcvt.u16.f16	q0, q1
139# CHECK-NEXT:  1      2     2.00                        vcvt.u32.f32	q0, q1
140# CHECK-NEXT:  1      2     2.00                        vcvtb.f16.f32	q0, q1
141# CHECK-NEXT:  1      2     2.00                        vcvtb.f32.f16	q0, q1
142# CHECK-NEXT:  1      2     2.00                        vcvtt.f16.f32	q0, q1
143# CHECK-NEXT:  1      2     2.00                        vcvtt.f32.f16	q0, q1
144# CHECK-NEXT:  1      2     2.00                        vcvta.s16.f16	q0, q1
145# CHECK-NEXT:  1      2     2.00                        vcvta.s32.f32	q0, q1
146# CHECK-NEXT:  1      2     2.00                        vcvta.u16.f16	q0, q1
147# CHECK-NEXT:  1      2     2.00                        vcvta.u32.f32	q0, q1
148# CHECK-NEXT:  1      2     2.00                        vcvtm.s16.f16	q0, q1
149# CHECK-NEXT:  1      2     2.00                        vcvtm.s32.f32	q0, q1
150# CHECK-NEXT:  1      2     2.00                        vcvtm.u16.f16	q0, q1
151# CHECK-NEXT:  1      2     2.00                        vcvtm.u32.f32	q0, q1
152# CHECK-NEXT:  1      2     2.00                        vcvtn.s16.f16	q0, q1
153# CHECK-NEXT:  1      2     2.00                        vcvtn.s32.f32	q0, q1
154# CHECK-NEXT:  1      2     2.00                        vcvtn.u16.f16	q0, q1
155# CHECK-NEXT:  1      2     2.00                        vcvtn.u32.f32	q0, q1
156# CHECK-NEXT:  1      2     2.00                        vcvtp.s16.f16	q0, q1
157# CHECK-NEXT:  1      2     2.00                        vcvtp.s32.f32	q0, q1
158# CHECK-NEXT:  1      2     2.00                        vcvtp.u16.f16	q0, q1
159# CHECK-NEXT:  1      2     2.00                        vcvtp.u32.f32	q0, q1
160# CHECK-NEXT:  1      4     2.00                        vfma.f16	q0, q2, r0
161# CHECK-NEXT:  1      4     2.00                        vfma.f32	q0, q2, r0
162# CHECK-NEXT:  1      4     2.00                        vfma.f16	q0, q2, q1
163# CHECK-NEXT:  1      4     2.00                        vfma.f32	q0, q2, q1
164# CHECK-NEXT:  1      4     2.00                        vfms.f16	q0, q2, q1
165# CHECK-NEXT:  1      4     2.00                        vfms.f32	q0, q2, q1
166# CHECK-NEXT:  1      4     2.00                        vfmas.f16	q0, q2, r0
167# CHECK-NEXT:  1      4     2.00                        vfmas.f32	q0, q2, r0
168# CHECK-NEXT:  1      1     2.00                        vmaxnm.f16	q0, q2, q1
169# CHECK-NEXT:  1      1     2.00                        vmaxnm.f32	q0, q2, q1
170# CHECK-NEXT:  1      1     2.00                        vmaxnma.f16	q0, q2
171# CHECK-NEXT:  1      1     2.00                        vmaxnma.f32	q0, q2
172# CHECK-NEXT:  1      4     2.00                        vmaxnmv.f16	r0, q2
173# CHECK-NEXT:  1      4     2.00                        vmaxnmv.f32	r0, q2
174# CHECK-NEXT:  1      4     2.00                        vmaxnmav.f16	r0, q2
175# CHECK-NEXT:  1      4     2.00                        vmaxnmav.f32	r0, q2
176# CHECK-NEXT:  1      1     2.00                        vminnm.f16	q0, q2, q1
177# CHECK-NEXT:  1      1     2.00                        vminnm.f32	q0, q2, q1
178# CHECK-NEXT:  1      1     2.00                        vminnma.f16	q0, q2
179# CHECK-NEXT:  1      1     2.00                        vminnma.f32	q0, q2
180# CHECK-NEXT:  1      4     2.00                        vminnmv.f16	r0, q2
181# CHECK-NEXT:  1      4     2.00                        vminnmv.f32	r0, q2
182# CHECK-NEXT:  1      4     2.00                        vminnmav.f16	r0, q2
183# CHECK-NEXT:  1      4     2.00                        vminnmav.f32	r0, q2
184# CHECK-NEXT:  1      3     2.00                        vmul.f16	q0, q2, q1
185# CHECK-NEXT:  1      3     2.00                        vmul.f32	q0, q2, q1
186# CHECK-NEXT:  1      3     2.00                        vmul.f16	q0, q2, r0
187# CHECK-NEXT:  1      3     2.00                        vmul.f32	q0, q2, r0
188# CHECK-NEXT:  1      1     2.00                        vneg.f16	q0, q2
189# CHECK-NEXT:  1      1     2.00                        vneg.f32	q0, q2
190# CHECK-NEXT:  1      2     2.00                        vrinta.f16	q0, q2
191# CHECK-NEXT:  1      2     2.00                        vrinta.f32	q0, q2
192# CHECK-NEXT:  1      2     2.00                        vrintm.f16	q0, q2
193# CHECK-NEXT:  1      2     2.00                        vrintm.f32	q0, q2
194# CHECK-NEXT:  1      2     2.00                        vrintn.f16	q0, q2
195# CHECK-NEXT:  1      2     2.00                        vrintn.f32	q0, q2
196# CHECK-NEXT:  1      2     2.00                        vrintp.f16	q0, q2
197# CHECK-NEXT:  1      2     2.00                        vrintp.f32	q0, q2
198# CHECK-NEXT:  1      2     2.00                        vrintx.f16	q0, q2
199# CHECK-NEXT:  1      2     2.00                        vrintx.f32	q0, q2
200# CHECK-NEXT:  1      2     2.00                        vrintz.f16	q0, q2
201# CHECK-NEXT:  1      2     2.00                        vrintz.f32	q0, q2
202# CHECK-NEXT:  1      2     2.00                        vsub.f16	q0, q2, q1
203# CHECK-NEXT:  1      2     2.00                        vsub.f32	q0, q2, q1
204# CHECK-NEXT:  1      2     2.00                        vsub.f16	q0, q2, r0
205# CHECK-NEXT:  1      2     2.00                        vsub.f32	q0, q2, r0
206
207# CHECK:      Resources:
208# CHECK-NEXT: [0.0] - M85UnitALU
209# CHECK-NEXT: [0.1] - M85UnitALU
210# CHECK-NEXT: [1]   - M85UnitBranch
211# CHECK-NEXT: [2]   - M85UnitDiv
212# CHECK-NEXT: [3]   - M85UnitLShift
213# CHECK-NEXT: [4]   - M85UnitLoadH
214# CHECK-NEXT: [5]   - M85UnitLoadL
215# CHECK-NEXT: [6]   - M85UnitMAC
216# CHECK-NEXT: [7]   - M85UnitSIMD
217# CHECK-NEXT: [8]   - M85UnitShift1
218# CHECK-NEXT: [9]   - M85UnitShift2
219# CHECK-NEXT: [10]  - M85UnitSlot0
220# CHECK-NEXT: [11]  - M85UnitStoreH
221# CHECK-NEXT: [12]  - M85UnitStoreL
222# CHECK-NEXT: [13]  - M85UnitVFPAH
223# CHECK-NEXT: [14]  - M85UnitVFPAL
224# CHECK-NEXT: [15]  - M85UnitVFPBH
225# CHECK-NEXT: [16]  - M85UnitVFPBL
226# CHECK-NEXT: [17]  - M85UnitVFPCH
227# CHECK-NEXT: [18]  - M85UnitVFPCL
228# CHECK-NEXT: [19]  - M85UnitVFPD
229# CHECK-NEXT: [20]  - M85UnitVPortH
230# CHECK-NEXT: [21]  - M85UnitVPortL
231
232# CHECK:      Resource pressure per iteration:
233# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   [17]   [18]   [19]   [20]   [21]
234# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     96.00   -      -     24.00  24.00  168.00 168.00  -      -      -     96.00  96.00
235
236# CHECK:      Resource pressure by instruction:
237# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16]   [17]   [18]   [19]   [20]   [21]   Instructions:
238# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vabd.f16	q0, q2, q1
239# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vabd.f32	q0, q2, q1
240# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vabs.f16	q0, q2
241# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vabs.f32	q0, q2
242# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vadd.f16	q0, q2, q1
243# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vadd.f32	q0, q2, q1
244# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vadd.f16	q0, q2, r0
245# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vadd.f32	q0, q2, r0
246# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vcadd.f16	q0, q2, q1, #90
247# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vcadd.f32	q0, q2, q1, #90
248# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcmla.f16	q0, q2, q1, #90
249# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcmla.f32	q0, q2, q1, #90
250# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcmul.f16	q0, q2, q1, #90
251# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcmul.f32	q0, q2, q1, #90
252# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f16.s16	q0, q1, #4
253# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f16.u16	q0, q1, #4
254# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.s16.f16	q0, q1, #4
255# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.u16.f16	q0, q1, #4
256# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f32.s32	q0, q1, #4
257# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f32.u32	q0, q1, #4
258# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.s32.f32	q0, q1, #4
259# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.u32.f32	q0, q1, #4
260# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f16.s16	q0, q1
261# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f32.s32	q0, q1
262# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f16.u16	q0, q1
263# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.f32.u32	q0, q1
264# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.s16.f16	q0, q1
265# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.s32.f32	q0, q1
266# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.u16.f16	q0, q1
267# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvt.u32.f32	q0, q1
268# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtb.f16.f32	q0, q1
269# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtb.f32.f16	q0, q1
270# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtt.f16.f32	q0, q1
271# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtt.f32.f16	q0, q1
272# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvta.s16.f16	q0, q1
273# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvta.s32.f32	q0, q1
274# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvta.u16.f16	q0, q1
275# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvta.u32.f32	q0, q1
276# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtm.s16.f16	q0, q1
277# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtm.s32.f32	q0, q1
278# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtm.u16.f16	q0, q1
279# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtm.u32.f32	q0, q1
280# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtn.s16.f16	q0, q1
281# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtn.s32.f32	q0, q1
282# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtn.u16.f16	q0, q1
283# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtn.u32.f32	q0, q1
284# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtp.s16.f16	q0, q1
285# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtp.s32.f32	q0, q1
286# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtp.u16.f16	q0, q1
287# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vcvtp.u32.f32	q0, q1
288# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfma.f16	q0, q2, r0
289# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfma.f32	q0, q2, r0
290# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfma.f16	q0, q2, q1
291# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfma.f32	q0, q2, q1
292# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfms.f16	q0, q2, q1
293# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfms.f32	q0, q2, q1
294# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfmas.f16	q0, q2, r0
295# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vfmas.f32	q0, q2, r0
296# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnm.f16	q0, q2, q1
297# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnm.f32	q0, q2, q1
298# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnma.f16	q0, q2
299# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnma.f32	q0, q2
300# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnmv.f16	r0, q2
301# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnmv.f32	r0, q2
302# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnmav.f16	r0, q2
303# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmaxnmav.f32	r0, q2
304# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnm.f16	q0, q2, q1
305# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnm.f32	q0, q2, q1
306# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnma.f16	q0, q2
307# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnma.f32	q0, q2
308# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnmv.f16	r0, q2
309# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnmv.f32	r0, q2
310# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnmav.f16	r0, q2
311# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vminnmav.f32	r0, q2
312# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmul.f16	q0, q2, q1
313# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmul.f32	q0, q2, q1
314# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmul.f16	q0, q2, r0
315# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vmul.f32	q0, q2, r0
316# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vneg.f16	q0, q2
317# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vneg.f32	q0, q2
318# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrinta.f16	q0, q2
319# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrinta.f32	q0, q2
320# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintm.f16	q0, q2
321# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintm.f32	q0, q2
322# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintn.f16	q0, q2
323# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintn.f32	q0, q2
324# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintp.f16	q0, q2
325# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintp.f32	q0, q2
326# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintx.f16	q0, q2
327# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintx.f32	q0, q2
328# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintz.f16	q0, q2
329# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -      -      -     1.00   1.00   vrintz.f32	q0, q2
330# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vsub.f16	q0, q2, q1
331# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vsub.f32	q0, q2, q1
332# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vsub.f16	q0, q2, r0
333# CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -      -     1.00    -      -     2.00   2.00    -      -      -      -      -     1.00   1.00   vsub.f32	q0, q2, r0
334