xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/arm/arm_neon_builtins.def (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
1/* NEON builtin definitions for ARM.
2   Copyright (C) 2013-2020 Free Software Foundation, Inc.
3   Contributed by ARM Ltd.
4
5   This file is part of GCC.
6
7   GCC is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published
9   by the Free Software Foundation; either version 3, or (at your
10   option) any later version.
11
12   GCC is distributed in the hope that it will be useful, but WITHOUT
13   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
15   License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with GCC; see the file COPYING3.  If not see
19   <http://www.gnu.org/licenses/>.  */
20
21VAR2 (BINOP, vadd, v2sf, v4sf)
22VAR2 (BINOP, vadd, v8hf, v4hf)
23VAR3 (BINOP, vaddls, v8qi, v4hi, v2si)
24VAR3 (BINOP, vaddlu, v8qi, v4hi, v2si)
25VAR3 (BINOP, vaddws, v8qi, v4hi, v2si)
26VAR3 (BINOP, vaddwu, v8qi, v4hi, v2si)
27VAR6 (BINOP, vhaddu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
28VAR6 (BINOP, vhadds, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
29VAR6 (BINOP, vrhaddu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
30VAR6 (BINOP, vrhadds, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
31VAR8 (BINOP, vqadds, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
32VAR8 (BINOP, vqaddu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
33VAR3 (BINOP, vaddhn, v8hi, v4si, v2di)
34VAR3 (BINOP, vraddhn, v8hi, v4si, v2di)
35VAR2 (BINOP, vmulf, v2sf, v4sf)
36VAR2 (BINOP, vmulf, v8hf, v4hf)
37VAR2 (BINOP, vmulp, v8qi, v16qi)
38VAR8 (TERNOP, vmla, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
39VAR3 (TERNOP, vmlals, v8qi, v4hi, v2si)
40VAR3 (TERNOP, vmlalu, v8qi, v4hi, v2si)
41VAR2 (TERNOP, vfma, v2sf, v4sf)
42VAR2 (TERNOP, vfma, v4hf, v8hf)
43VAR2 (TERNOP, vfms, v2sf, v4sf)
44VAR2 (TERNOP, vfms, v4hf, v8hf)
45VAR8 (TERNOP, vmls, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
46VAR3 (TERNOP, vmlsls, v8qi, v4hi, v2si)
47VAR3 (TERNOP, vmlslu, v8qi, v4hi, v2si)
48VAR4 (BINOP, vqdmulh, v4hi, v2si, v8hi, v4si)
49VAR4 (BINOP, vqrdmulh, v4hi, v2si, v8hi, v4si)
50VAR2 (TERNOP, vqdmlal, v4hi, v2si)
51VAR2 (TERNOP, vqdmlsl, v4hi, v2si)
52VAR4 (TERNOP, vqrdmlah, v4hi, v2si, v8hi, v4si)
53VAR4 (TERNOP, vqrdmlsh, v4hi, v2si, v8hi, v4si)
54VAR2 (TERNOP, vfmal_low, v2sf, v4sf)
55VAR2 (TERNOP, vfmal_high, v2sf, v4sf)
56VAR2 (TERNOP, vfmsl_low, v2sf, v4sf)
57VAR2 (TERNOP, vfmsl_high, v2sf, v4sf)
58VAR2 (MAC_LANE, vfmal_lane_low, v2sf, v4sf)
59VAR1 (MAC_LANE, vfmal_lane_lowv4hf, v4sf)
60VAR1 (MAC_LANE, vfmal_lane_lowv8hf, v2sf)
61VAR2 (MAC_LANE, vfmal_lane_high, v2sf, v4sf)
62VAR1 (MAC_LANE, vfmal_lane_highv4hf, v4sf)
63VAR1 (MAC_LANE, vfmal_lane_highv8hf, v2sf)
64VAR2 (MAC_LANE, vfmsl_lane_low, v2sf, v4sf)
65VAR1 (MAC_LANE, vfmsl_lane_lowv4hf, v4sf)
66VAR1 (MAC_LANE, vfmsl_lane_lowv8hf, v2sf)
67VAR2 (MAC_LANE, vfmsl_lane_high, v2sf, v4sf)
68VAR1 (MAC_LANE, vfmsl_lane_highv4hf, v4sf)
69VAR1 (MAC_LANE, vfmsl_lane_highv8hf, v2sf)
70VAR3 (BINOP, vmullp, v8qi, v4hi, v2si)
71VAR3 (BINOP, vmulls, v8qi, v4hi, v2si)
72VAR3 (BINOP, vmullu, v8qi, v4hi, v2si)
73VAR2 (BINOP, vmulls_n, v4hi, v2si)
74VAR2 (BINOP, vmullu_n, v4hi, v2si)
75VAR2 (SETLANE, vmulls_lane, v4hi, v2si)
76VAR2 (SETLANE, vmullu_lane, v4hi, v2si)
77VAR2 (BINOP, vqdmull_n, v4hi, v2si)
78VAR2 (SETLANE, vqdmull_lane, v4hi, v2si)
79VAR4 (BINOP, vqdmulh_n, v4hi, v2si, v8hi, v4si)
80VAR4 (BINOP, vqrdmulh_n, v4hi, v2si, v8hi, v4si)
81VAR4 (SETLANE, vqdmulh_lane, v4hi, v2si, v8hi, v4si)
82VAR4 (SETLANE, vqrdmulh_lane, v4hi, v2si, v8hi, v4si)
83VAR4 (MAC_LANE, vqrdmlah_lane, v4hi, v2si, v8hi, v4si)
84VAR4 (MAC_LANE, vqrdmlsh_lane, v4hi, v2si, v8hi, v4si)
85VAR2 (BINOP, vqdmull, v4hi, v2si)
86VAR8 (BINOP, vshls, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
87VAR8 (BINOP, vshlu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
88VAR8 (BINOP, vrshls, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
89VAR8 (BINOP, vrshlu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
90VAR8 (BINOP, vqshls, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
91VAR8 (BINOP, vqshlu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
92VAR8 (BINOP, vqrshls, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
93VAR8 (BINOP, vqrshlu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
94VAR8 (BINOP_IMM, vshrs_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
95VAR8 (BINOP_IMM, vshru_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
96VAR8 (BINOP_IMM, vrshrs_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
97VAR8 (BINOP_IMM, vrshru_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
98VAR3 (BINOP_IMM, vshrn_n, v8hi, v4si, v2di)
99VAR3 (BINOP_IMM, vrshrn_n, v8hi, v4si, v2di)
100VAR3 (BINOP_IMM, vqshrns_n, v8hi, v4si, v2di)
101VAR3 (BINOP_IMM, vqshrnu_n, v8hi, v4si, v2di)
102VAR3 (BINOP_IMM, vqrshrns_n, v8hi, v4si, v2di)
103VAR3 (BINOP_IMM, vqrshrnu_n, v8hi, v4si, v2di)
104VAR3 (BINOP_IMM, vqshrun_n, v8hi, v4si, v2di)
105VAR3 (BINOP_IMM, vqrshrun_n, v8hi, v4si, v2di)
106VAR8 (BINOP_IMM, vshl_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
107VAR8 (BINOP_IMM, vqshl_s_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
108VAR8 (BINOP_IMM, vqshl_u_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
109VAR8 (BINOP_IMM, vqshlu_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
110VAR3 (BINOP_IMM, vshlls_n, v8qi, v4hi, v2si)
111VAR3 (BINOP_IMM, vshllu_n, v8qi, v4hi, v2si)
112VAR8 (TERNOP_IMM, vsras_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
113VAR8 (TERNOP_IMM, vsrau_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
114VAR8 (TERNOP_IMM, vrsras_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
115VAR8 (TERNOP_IMM, vrsrau_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
116VAR2 (BINOP, vsub, v2sf, v4sf)
117VAR2 (BINOP, vsub, v8hf, v4hf)
118VAR3 (BINOP, vsubls, v8qi, v4hi, v2si)
119VAR3 (BINOP, vsublu, v8qi, v4hi, v2si)
120VAR3 (BINOP, vsubws, v8qi, v4hi, v2si)
121VAR3 (BINOP, vsubwu, v8qi, v4hi, v2si)
122VAR8 (BINOP, vqsubs, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
123VAR8 (BINOP, vqsubu, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
124VAR6 (BINOP, vhsubs, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
125VAR6 (BINOP, vhsubu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
126VAR3 (BINOP, vsubhn, v8hi, v4si, v2di)
127VAR3 (BINOP, vrsubhn, v8hi, v4si, v2di)
128VAR8 (BINOP, vceq, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
129VAR8 (BINOP, vcge, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
130VAR6 (BINOP, vcgeu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
131VAR8 (BINOP, vcgt, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
132VAR6 (BINOP, vcgtu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
133VAR2 (BINOP, vcage, v2sf, v4sf)
134VAR2 (BINOP, vcagt, v2sf, v4sf)
135VAR2 (BINOP, vcage, v4hf, v8hf)
136VAR2 (BINOP, vcagt, v4hf, v8hf)
137VAR2 (BINOP, vcale, v4hf, v8hf)
138VAR2 (BINOP, vcalt, v4hf, v8hf)
139VAR2 (BINOP, vceq, v4hf, v8hf)
140VAR2 (BINOP, vcge, v4hf, v8hf)
141VAR2 (BINOP, vcgt, v4hf, v8hf)
142VAR2 (BINOP, vcle, v4hf, v8hf)
143VAR2 (BINOP, vclt, v4hf, v8hf)
144VAR2 (UNOP, vceqz, v4hf, v8hf)
145VAR2 (UNOP, vcgez, v4hf, v8hf)
146VAR2 (UNOP, vcgtz, v4hf, v8hf)
147VAR2 (UNOP, vclez, v4hf, v8hf)
148VAR2 (UNOP, vcltz, v4hf, v8hf)
149VAR6 (BINOP, vtst, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
150VAR6 (BINOP, vabds, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
151VAR6 (BINOP, vabdu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
152VAR2 (BINOP, vabdf, v2sf, v4sf)
153VAR3 (BINOP, vabdls, v8qi, v4hi, v2si)
154VAR3 (BINOP, vabdlu, v8qi, v4hi, v2si)
155VAR2 (BINOP, vabd, v8hf, v4hf)
156
157VAR6 (TERNOP, vabas, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
158VAR6 (TERNOP, vabau, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
159VAR3 (TERNOP, vabals, v8qi, v4hi, v2si)
160VAR3 (TERNOP, vabalu, v8qi, v4hi, v2si)
161
162VAR6 (BINOP, vmaxs, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
163VAR6 (BINOP, vmaxu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
164VAR2 (BINOP, vmaxf, v2sf, v4sf)
165VAR2 (BINOP, vmaxf, v8hf, v4hf)
166VAR4 (BINOP, vmaxnm, v2sf, v4sf, v4hf, v8hf)
167VAR6 (BINOP, vmins, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
168VAR6 (BINOP, vminu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
169VAR2 (BINOP, vminf, v2sf, v4sf)
170VAR2 (BINOP, vminf, v4hf, v8hf)
171VAR4 (BINOP, vminnm, v2sf, v4sf, v8hf, v4hf)
172
173VAR3 (BINOP, vpmaxs, v8qi, v4hi, v2si)
174VAR3 (BINOP, vpmaxu, v8qi, v4hi, v2si)
175VAR1 (BINOP, vpmaxf, v2sf)
176VAR1 (BINOP, vpmaxf, v4hf)
177VAR3 (BINOP, vpmins, v8qi, v4hi, v2si)
178VAR3 (BINOP, vpminu, v8qi, v4hi, v2si)
179VAR1 (BINOP, vpminf, v2sf)
180VAR1 (BINOP, vpminf, v4hf)
181
182VAR4 (BINOP, vpadd, v8qi, v4hi, v2si, v2sf)
183VAR1 (BINOP, vpadd, v4hf)
184VAR6 (UNOP, vpaddls, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
185VAR6 (UNOP, vpaddlu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
186VAR6 (BINOP, vpadals, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
187VAR6 (BINOP, vpadalu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
188VAR2 (BINOP, vrecps, v2sf, v4sf)
189VAR2 (BINOP, vrsqrts, v2sf, v4sf)
190VAR2 (BINOP, vrecps, v4hf, v8hf)
191VAR2 (BINOP, vrsqrts, v4hf, v8hf)
192VAR8 (TERNOP_IMM, vsri_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
193VAR8 (TERNOP_IMM, vsli_n, v8qi, v4hi, v2si, di, v16qi, v8hi, v4si, v2di)
194VAR8 (UNOP, vabs, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
195VAR2 (UNOP, vabs, v8hf, v4hf)
196VAR2 (UNOP, vneg, v8hf, v4hf)
197VAR6 (UNOP, vqabs, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
198VAR8 (UNOP, vneg, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
199VAR6 (UNOP, vqneg, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
200VAR6 (UNOP, vcls, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
201VAR6 (UNOP, vclz, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
202VAR5 (BSWAP, bswap, v4hi, v8hi, v2si, v4si, v2di)
203VAR2 (UNOP, vcnt, v8qi, v16qi)
204VAR4 (UNOP, vrecpe, v2si, v2sf, v4si, v4sf)
205VAR2 (UNOP, vrecpe, v8hf, v4hf)
206VAR4 (UNOP, vrsqrte, v2si, v2sf, v4si, v4sf)
207VAR2 (UNOP, vrsqrte, v4hf, v8hf)
208VAR6 (UNOP, vmvn, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
209VAR2 (UNOP, vrnd, v8hf, v4hf)
210VAR2 (UNOP, vrnda, v8hf, v4hf)
211VAR2 (UNOP, vrndm, v8hf, v4hf)
212VAR2 (UNOP, vrndn, v8hf, v4hf)
213VAR2 (UNOP, vrndp, v8hf, v4hf)
214VAR2 (UNOP, vrndx, v8hf, v4hf)
215  /* FIXME: vget_lane supports more variants than this!  */
216VAR10 (GETLANE, vget_lane,
217	 v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
218VAR6 (GETLANE, vget_laneu, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
219VAR10 (SETLANE, vset_lane,
220	 v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
221VAR5 (UNOP, vcreate, v8qi, v4hi, v2si, v2sf, di)
222VAR10 (UNOP, vdup_n,
223	 v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
224VAR4 (UNOP, vdup_n, v8hf, v4hf, v8bf, v4bf)
225VAR10 (GETLANE, vdup_lane,
226	 v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
227VAR4 (GETLANE, vdup_lane, v8hf, v4hf, v8bf, v4bf)
228VAR7 (COMBINE, vcombine, v8qi, v4hi, v4hf, v2si, v2sf, di, v4bf)
229VAR7 (UNOP, vget_high, v16qi, v8hi, v8hf, v8bf, v4si, v4sf, v2di)
230VAR7 (UNOP, vget_low, v16qi, v8hi, v8hf, v8bf, v4si, v4sf, v2di)
231VAR3 (UNOP, vmovn, v8hi, v4si, v2di)
232VAR3 (UNOP, vqmovns, v8hi, v4si, v2di)
233VAR3 (UNOP, vqmovnu, v8hi, v4si, v2di)
234VAR3 (UNOP, vqmovun, v8hi, v4si, v2di)
235VAR3 (UNOP, vmovls, v8qi, v4hi, v2si)
236VAR3 (UNOP, vmovlu, v8qi, v4hi, v2si)
237VAR8 (SETLANE, vmul_lane, v4hi, v2si, v2sf, v8hi, v4si, v4sf, v4hf, v8hf)
238VAR6 (MAC_LANE, vmla_lane, v4hi, v2si, v2sf, v8hi, v4si, v4sf)
239VAR2 (MAC_LANE, vmlals_lane, v4hi, v2si)
240VAR2 (MAC_LANE, vmlalu_lane, v4hi, v2si)
241VAR2 (MAC_LANE, vqdmlal_lane, v4hi, v2si)
242VAR6 (MAC_LANE, vmls_lane, v4hi, v2si, v2sf, v8hi, v4si, v4sf)
243VAR2 (MAC_LANE, vmlsls_lane, v4hi, v2si)
244VAR2 (MAC_LANE, vmlslu_lane, v4hi, v2si)
245VAR2 (MAC_LANE, vqdmlsl_lane, v4hi, v2si)
246VAR8 (BINOP, vmul_n, v4hi, v2si, v2sf, v8hi, v4si, v4sf, v4hf, v8hf)
247VAR6 (MAC_N, vmla_n, v4hi, v2si, v2sf, v8hi, v4si, v4sf)
248VAR2 (MAC_N, vmlals_n, v4hi, v2si)
249VAR2 (MAC_N, vmlalu_n, v4hi, v2si)
250VAR2 (MAC_N, vqdmlal_n, v4hi, v2si)
251VAR6 (MAC_N, vmls_n, v4hi, v2si, v2sf, v8hi, v4si, v4sf)
252VAR2 (MAC_N, vmlsls_n, v4hi, v2si)
253VAR2 (MAC_N, vmlslu_n, v4hi, v2si)
254VAR2 (MAC_N, vqdmlsl_n, v4hi, v2si)
255VAR10 (SETLANE, vext,
256	 v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
257VAR2 (SETLANE, vext, v8hf, v4hf)
258VAR8 (UNOP, vrev64, v8qi, v4hi, v2si, v2sf, v16qi, v8hi, v4si, v4sf)
259VAR4 (UNOP, vrev32, v8qi, v4hi, v16qi, v8hi)
260VAR2 (UNOP, vrev16, v8qi, v16qi)
261VAR4 (UNOP, vcvts, v2si, v2sf, v4si, v4sf)
262VAR2 (UNOP, vcvts, v4hi, v8hi)
263VAR2 (UNOP, vcvts, v4hf, v8hf)
264VAR2 (UNOP, vcvtu, v4hi, v8hi)
265VAR2 (UNOP, vcvtu, v4hf, v8hf)
266VAR4 (UNOP, vcvtu, v2si, v2sf, v4si, v4sf)
267VAR4 (BINOP, vcvts_n, v2si, v2sf, v4si, v4sf)
268VAR4 (BINOP, vcvtu_n, v2si, v2sf, v4si, v4sf)
269VAR2 (BINOP, vcvts_n, v4hf, v8hf)
270VAR2 (BINOP, vcvtu_n, v4hi, v8hi)
271VAR2 (BINOP, vcvts_n, v4hi, v8hi)
272VAR2 (BINOP, vcvtu_n, v4hf, v8hf)
273VAR1 (UNOP, vcvtv4sf, v4hf)
274VAR1 (UNOP, vcvtv4hf, v4sf)
275VAR10 (TERNOP, vbsl,
276	 v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
277VAR2 (TERNOP, vbsl, v8hf, v4hf)
278VAR2 (UNOP, copysignf, v2sf, v4sf)
279VAR2 (UNOP, vrintn, v2sf, v4sf)
280VAR2 (UNOP, vrinta, v2sf, v4sf)
281VAR2 (UNOP, vrintp, v2sf, v4sf)
282VAR2 (UNOP, vrintm, v2sf, v4sf)
283VAR2 (UNOP, vrintz, v2sf, v4sf)
284VAR2 (UNOP, vrintx, v2sf, v4sf)
285VAR1 (UNOP, vcvtav2sf, v2si)
286VAR1 (UNOP, vcvtav4sf, v4si)
287VAR1 (UNOP, vcvtauv2sf, v2si)
288VAR1 (UNOP, vcvtauv4sf, v4si)
289VAR2 (UNOP, vcvtas, v4hf, v8hf)
290VAR2 (UNOP, vcvtau, v4hf, v8hf)
291VAR2 (UNOP, vcvtms, v4hf, v8hf)
292VAR2 (UNOP, vcvtmu, v4hf, v8hf)
293VAR2 (UNOP, vcvtns, v4hf, v8hf)
294VAR2 (UNOP, vcvtnu, v4hf, v8hf)
295VAR2 (UNOP, vcvtps, v4hf, v8hf)
296VAR2 (UNOP, vcvtpu, v4hf, v8hf)
297VAR1 (UNOP, vcvtpv2sf, v2si)
298VAR1 (UNOP, vcvtpv4sf, v4si)
299VAR1 (UNOP, vcvtpuv2sf, v2si)
300VAR1 (UNOP, vcvtpuv4sf, v4si)
301VAR1 (UNOP, vcvtmv2sf, v2si)
302VAR1 (UNOP, vcvtmv4sf, v4si)
303VAR1 (UNOP, vcvtmuv2sf, v2si)
304VAR1 (UNOP, vcvtmuv4sf, v4si)
305VAR1 (COMBINE, vtbl1, v8qi)
306VAR1 (COMBINE, vtbl2, v8qi)
307VAR1 (COMBINE, vtbl3, v8qi)
308VAR1 (COMBINE, vtbl4, v8qi)
309VAR1 (TERNOP, vtbx1, v8qi)
310VAR1 (TERNOP, vtbx2, v8qi)
311VAR1 (TERNOP, vtbx3, v8qi)
312VAR1 (TERNOP, vtbx4, v8qi)
313VAR14 (LOAD1, vld1,
314        v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v2di,
315        v4bf, v8bf)
316VAR12 (LOAD1LANE, vld1_lane,
317	v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di, v4bf, v8bf)
318VAR10 (LOAD1, vld1_dup,
319	v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di)
320VAR14 (STORE1, vst1,
321        v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v2di,
322        v4bf, v8bf)
323VAR14 (STORE1LANE, vst1_lane,
324       v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v2di, v4bf, v8bf)
325VAR13 (LOAD1, vld2,
326	v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
327VAR11 (LOAD1LANE, vld2_lane,
328       v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
329VAR8 (LOAD1, vld2_dup, v8qi, v4hi, v4hf, v2si, v2sf, di, v4bf, v8bf)
330VAR13 (STORE1, vst2,
331	v8qi, v4hi, v4hf, v4bf, v2si, v2sf, di, v16qi, v8hi, v8hf, v8bf, v4si, v4sf)
332VAR11 (STORE1LANE, vst2_lane,
333        v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
334VAR13 (LOAD1, vld3,
335	v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
336VAR11 (LOAD1LANE, vld3_lane,
337        v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
338VAR8 (LOAD1, vld3_dup, v8qi, v4hi, v4hf, v2si, v2sf, di, v4bf, v8bf)
339VAR13 (STORE1, vst3,
340	v8qi, v4hi, v4hf, v4bf, v2si, v2sf, di, v16qi, v8hi, v8hf, v8bf, v4si, v4sf)
341VAR11 (STORE1LANE, vst3_lane,
342	v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
343VAR13 (LOAD1, vld4,
344	v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
345VAR11 (LOAD1LANE, vld4_lane,
346        v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
347VAR8 (LOAD1, vld4_dup, v8qi, v4hi, v4hf, v2si, v2sf, di, v4bf, v8bf)
348VAR13 (STORE1, vst4,
349	v8qi, v4hi, v4hf, v4bf, v2si, v2sf, di, v16qi, v8hi, v8hf, v8bf, v4si, v4sf)
350VAR11 (STORE1LANE, vst4_lane,
351	v8qi, v4hi, v4hf, v2si, v2sf, v8hi, v8hf, v4si, v4sf, v4bf, v8bf)
352VAR2 (TERNOP, sdot, v8qi, v16qi)
353VAR2 (UTERNOP, udot, v8qi, v16qi)
354VAR2 (MAC_LANE, sdot_lane, v8qi, v16qi)
355VAR2 (UMAC_LANE, udot_lane, v8qi, v16qi)
356
357VAR1 (USTERNOP, usdot, v8qi)
358VAR2 (USMAC_LANE_QUADTUP, usdot_lane, v8qi, v16qi)
359VAR2 (SUMAC_LANE_QUADTUP, sudot_lane, v8qi, v16qi)
360
361VAR4 (BINOP, vcadd90, v4hf, v2sf, v8hf, v4sf)
362VAR4 (BINOP, vcadd270, v4hf, v2sf, v8hf, v4sf)
363VAR4 (TERNOP, vcmla0, v2sf, v4sf, v4hf, v8hf)
364VAR4 (TERNOP, vcmla90, v2sf, v4sf, v4hf, v8hf)
365VAR4 (TERNOP, vcmla180, v2sf, v4sf, v4hf, v8hf)
366VAR4 (TERNOP, vcmla270, v2sf, v4sf, v4hf, v8hf)
367
368VAR4 (MAC_LANE_PAIR, vcmla_lane0, v2sf, v4hf, v8hf, v4sf)
369VAR4 (MAC_LANE_PAIR, vcmla_lane90, v2sf, v4hf, v8hf, v4sf)
370VAR4 (MAC_LANE_PAIR, vcmla_lane180, v2sf, v4hf, v8hf, v4sf)
371VAR4 (MAC_LANE_PAIR, vcmla_lane270, v2sf, v4hf, v8hf, v4sf)
372
373VAR2 (MAC_LANE_PAIR, vcmla_laneq0, v2sf, v4hf)
374VAR2 (MAC_LANE_PAIR, vcmla_laneq90, v2sf, v4hf)
375VAR2 (MAC_LANE_PAIR, vcmla_laneq180, v2sf, v4hf)
376VAR2 (MAC_LANE_PAIR, vcmla_laneq270, v2sf, v4hf)
377
378VAR2 (MAC_LANE_PAIR, vcmlaq_lane0, v4sf, v8hf)
379VAR2 (MAC_LANE_PAIR, vcmlaq_lane90, v4sf, v8hf)
380VAR2 (MAC_LANE_PAIR, vcmlaq_lane180, v4sf, v8hf)
381VAR2 (MAC_LANE_PAIR, vcmlaq_lane270, v4sf, v8hf)
382
383VAR1 (TERNOP, smmla, v16qi)
384VAR1 (UTERNOP, ummla, v16qi)
385VAR1 (USTERNOP, usmmla, v16qi)
386
387VAR2 (TERNOP, vbfdot, v2sf, v4sf)
388VAR2 (MAC_LANE_PAIR, vbfdot_lanev4bf, v2sf, v4sf)
389VAR2 (MAC_LANE_PAIR, vbfdot_lanev8bf, v2sf, v4sf)
390
391VAR2 (UNOP, vbfcvt, sf, bf)
392VAR2 (UNOP, vbfcvt, v4bf, v8bf)
393VAR1 (UNOP, vbfcvt_high, v8bf)
394VAR2 (UNOP, vbfcvtv4sf, v4bf, v8bf)
395VAR1 (BINOP, vbfcvtv4sf_high, v8bf)
396
397VAR1 (TERNOP, vmmla, v8bf)
398
399VAR1 (TERNOP, vfmab, v8bf)
400VAR1 (TERNOP, vfmat, v8bf)
401VAR1 (MAC_LANE, vfmab_lane, v8bf)
402VAR1 (MAC_LANE, vfmat_lane, v8bf)
403VAR1 (MAC_LANE, vfmab_laneq, v8bf)
404VAR1 (MAC_LANE, vfmat_laneq, v8bf)
405