• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2013.11/lib/gcc/arm-none-eabi/4.8.1/plugin/include/
1/* Generated automatically by the program `genflags'
2   from the machine description file `md'.  */
3
4#ifndef GCC_INSN_FLAGS_H
5#define GCC_INSN_FLAGS_H
6
7#define HAVE_addsi3_compare0 (TARGET_ARM)
8#define HAVE_thumb1_subsi3_insn (TARGET_THUMB1)
9#define HAVE_mulhisi3 (TARGET_DSP_MULTIPLY)
10#define HAVE_maddhisi4 (TARGET_DSP_MULTIPLY)
11#define HAVE_maddhidi4 (TARGET_DSP_MULTIPLY)
12#define HAVE_insv_zero (arm_arch_thumb2)
13#define HAVE_insv_t2 (arm_arch_thumb2)
14#define HAVE_andsi_notsi_si (TARGET_32BIT)
15#define HAVE_thumb1_bicsi3 (TARGET_THUMB1)
16#define HAVE_andsi_not_shiftsi_si (TARGET_ARM)
17#define HAVE_arm_ashldi3_1bit (TARGET_32BIT)
18#define HAVE_arm_ashrdi3_1bit (TARGET_32BIT)
19#define HAVE_arm_lshrdi3_1bit (TARGET_32BIT)
20#define HAVE_unaligned_loadsi (unaligned_access && TARGET_32BIT)
21#define HAVE_unaligned_loadhis (unaligned_access && TARGET_32BIT)
22#define HAVE_unaligned_loadhiu (unaligned_access && TARGET_32BIT)
23#define HAVE_unaligned_storesi (unaligned_access && TARGET_32BIT)
24#define HAVE_unaligned_storehi (unaligned_access && TARGET_32BIT)
25#define HAVE_extzv_t2 (arm_arch_thumb2)
26#define HAVE_divsi3 (TARGET_IDIV)
27#define HAVE_udivsi3 (TARGET_IDIV)
28#define HAVE_one_cmpldi2 (TARGET_32BIT)
29#define HAVE_zero_extendqidi2 (TARGET_32BIT )
30#define HAVE_zero_extendhidi2 (TARGET_32BIT && arm_arch6)
31#define HAVE_zero_extendsidi2 (TARGET_32BIT )
32#define HAVE_extendqidi2 (TARGET_32BIT && arm_arch6)
33#define HAVE_extendhidi2 (TARGET_32BIT && arm_arch6)
34#define HAVE_extendsidi2 (TARGET_32BIT )
35#define HAVE_thumb1_extendhisi2 (TARGET_THUMB1)
36#define HAVE_thumb1_extendqisi2 (TARGET_THUMB1)
37#define HAVE_pic_load_addr_unified (flag_pic)
38#define HAVE_pic_load_addr_32bit (TARGET_32BIT && flag_pic)
39#define HAVE_pic_load_addr_thumb1 (TARGET_THUMB1 && flag_pic)
40#define HAVE_pic_add_dot_plus_four (TARGET_THUMB)
41#define HAVE_pic_add_dot_plus_eight (TARGET_ARM)
42#define HAVE_tls_load_dot_plus_eight (TARGET_ARM)
43#define HAVE_movmem12b (TARGET_THUMB1)
44#define HAVE_movmem8b (TARGET_THUMB1)
45#define HAVE_cbranchsi4_insn (TARGET_THUMB1)
46#define HAVE_cbranchsi4_scratch (TARGET_THUMB1)
47#define HAVE_arm_cond_branch (TARGET_32BIT)
48#define HAVE_cstoresi_nltu_thumb1 (TARGET_THUMB1)
49#define HAVE_cstoresi_ltu_thumb1 (TARGET_THUMB1)
50#define HAVE_thumb1_addsi3_addgeu (TARGET_THUMB1)
51#define HAVE_blockage 1
52#define HAVE_arm_casesi_internal (TARGET_ARM)
53#define HAVE_thumb1_casesi_dispatch (TARGET_THUMB1)
54#define HAVE_nop 1
55#define HAVE_movcond (TARGET_ARM)
56#define HAVE_prologue_thumb1_interwork (TARGET_THUMB1)
57#define HAVE_stack_tie 1
58#define HAVE_align_4 1
59#define HAVE_align_8 1
60#define HAVE_consttable_end 1
61#define HAVE_consttable_1 (TARGET_THUMB1)
62#define HAVE_consttable_2 (TARGET_THUMB1)
63#define HAVE_consttable_4 1
64#define HAVE_consttable_8 1
65#define HAVE_consttable_16 1
66#define HAVE_clzsi2 (TARGET_32BIT && arm_arch5)
67#define HAVE_rbitsi2 (TARGET_32BIT && arm_arch_thumb2)
68#define HAVE_prefetch (TARGET_32BIT && arm_arch5e)
69#define HAVE_force_register_use 1
70#define HAVE_arm_eh_return (TARGET_ARM)
71#define HAVE_thumb_eh_return (TARGET_THUMB1)
72#define HAVE_load_tp_hard (TARGET_HARD_TP)
73#define HAVE_load_tp_soft (TARGET_SOFT_TP)
74#define HAVE_tlscall (TARGET_GNU2_TLS)
75#define HAVE_tbcstv8qi (TARGET_REALLY_IWMMXT)
76#define HAVE_tbcstv4hi (TARGET_REALLY_IWMMXT)
77#define HAVE_tbcstv2si (TARGET_REALLY_IWMMXT)
78#define HAVE_iwmmxt_iordi3 (TARGET_REALLY_IWMMXT)
79#define HAVE_iwmmxt_xordi3 (TARGET_REALLY_IWMMXT)
80#define HAVE_iwmmxt_anddi3 (TARGET_REALLY_IWMMXT)
81#define HAVE_iwmmxt_nanddi3 (TARGET_REALLY_IWMMXT)
82#define HAVE_movv2si_internal (TARGET_REALLY_IWMMXT)
83#define HAVE_movv4hi_internal (TARGET_REALLY_IWMMXT)
84#define HAVE_movv8qi_internal (TARGET_REALLY_IWMMXT)
85#define HAVE_ssaddv8qi3 (TARGET_REALLY_IWMMXT)
86#define HAVE_ssaddv4hi3 (TARGET_REALLY_IWMMXT)
87#define HAVE_ssaddv2si3 (TARGET_REALLY_IWMMXT)
88#define HAVE_usaddv8qi3 (TARGET_REALLY_IWMMXT)
89#define HAVE_usaddv4hi3 (TARGET_REALLY_IWMMXT)
90#define HAVE_usaddv2si3 (TARGET_REALLY_IWMMXT)
91#define HAVE_sssubv8qi3 (TARGET_REALLY_IWMMXT)
92#define HAVE_sssubv4hi3 (TARGET_REALLY_IWMMXT)
93#define HAVE_sssubv2si3 (TARGET_REALLY_IWMMXT)
94#define HAVE_ussubv8qi3 (TARGET_REALLY_IWMMXT)
95#define HAVE_ussubv4hi3 (TARGET_REALLY_IWMMXT)
96#define HAVE_ussubv2si3 (TARGET_REALLY_IWMMXT)
97#define HAVE_smulv4hi3_highpart (TARGET_REALLY_IWMMXT)
98#define HAVE_umulv4hi3_highpart (TARGET_REALLY_IWMMXT)
99#define HAVE_iwmmxt_wmacs (TARGET_REALLY_IWMMXT)
100#define HAVE_iwmmxt_wmacsz (TARGET_REALLY_IWMMXT)
101#define HAVE_iwmmxt_wmacu (TARGET_REALLY_IWMMXT)
102#define HAVE_iwmmxt_wmacuz (TARGET_REALLY_IWMMXT)
103#define HAVE_iwmmxt_clrdi (TARGET_REALLY_IWMMXT)
104#define HAVE_iwmmxt_clrv8qi (TARGET_REALLY_IWMMXT)
105#define HAVE_iwmmxt_clrv4hi (TARGET_REALLY_IWMMXT)
106#define HAVE_iwmmxt_clrv2si (TARGET_REALLY_IWMMXT)
107#define HAVE_iwmmxt_uavgrndv8qi3 (TARGET_REALLY_IWMMXT)
108#define HAVE_iwmmxt_uavgrndv4hi3 (TARGET_REALLY_IWMMXT)
109#define HAVE_iwmmxt_uavgv8qi3 (TARGET_REALLY_IWMMXT)
110#define HAVE_iwmmxt_uavgv4hi3 (TARGET_REALLY_IWMMXT)
111#define HAVE_iwmmxt_tinsrb (TARGET_REALLY_IWMMXT)
112#define HAVE_iwmmxt_tinsrh (TARGET_REALLY_IWMMXT)
113#define HAVE_iwmmxt_tinsrw (TARGET_REALLY_IWMMXT)
114#define HAVE_iwmmxt_textrmub (TARGET_REALLY_IWMMXT)
115#define HAVE_iwmmxt_textrmsb (TARGET_REALLY_IWMMXT)
116#define HAVE_iwmmxt_textrmuh (TARGET_REALLY_IWMMXT)
117#define HAVE_iwmmxt_textrmsh (TARGET_REALLY_IWMMXT)
118#define HAVE_iwmmxt_textrmw (TARGET_REALLY_IWMMXT)
119#define HAVE_iwmmxt_wshufh (TARGET_REALLY_IWMMXT)
120#define HAVE_eqv8qi3 (TARGET_REALLY_IWMMXT)
121#define HAVE_eqv4hi3 (TARGET_REALLY_IWMMXT)
122#define HAVE_eqv2si3 (TARGET_REALLY_IWMMXT)
123#define HAVE_gtuv8qi3 (TARGET_REALLY_IWMMXT)
124#define HAVE_gtuv4hi3 (TARGET_REALLY_IWMMXT)
125#define HAVE_gtuv2si3 (TARGET_REALLY_IWMMXT)
126#define HAVE_gtv8qi3 (TARGET_REALLY_IWMMXT)
127#define HAVE_gtv4hi3 (TARGET_REALLY_IWMMXT)
128#define HAVE_gtv2si3 (TARGET_REALLY_IWMMXT)
129#define HAVE_iwmmxt_wpackhss (TARGET_REALLY_IWMMXT)
130#define HAVE_iwmmxt_wpackwss (TARGET_REALLY_IWMMXT)
131#define HAVE_iwmmxt_wpackdss (TARGET_REALLY_IWMMXT)
132#define HAVE_iwmmxt_wpackhus (TARGET_REALLY_IWMMXT)
133#define HAVE_iwmmxt_wpackwus (TARGET_REALLY_IWMMXT)
134#define HAVE_iwmmxt_wpackdus (TARGET_REALLY_IWMMXT)
135#define HAVE_iwmmxt_wunpckihb (TARGET_REALLY_IWMMXT)
136#define HAVE_iwmmxt_wunpckihh (TARGET_REALLY_IWMMXT)
137#define HAVE_iwmmxt_wunpckihw (TARGET_REALLY_IWMMXT)
138#define HAVE_iwmmxt_wunpckilb (TARGET_REALLY_IWMMXT)
139#define HAVE_iwmmxt_wunpckilh (TARGET_REALLY_IWMMXT)
140#define HAVE_iwmmxt_wunpckilw (TARGET_REALLY_IWMMXT)
141#define HAVE_iwmmxt_wunpckehub (TARGET_REALLY_IWMMXT)
142#define HAVE_iwmmxt_wunpckehuh (TARGET_REALLY_IWMMXT)
143#define HAVE_iwmmxt_wunpckehuw (TARGET_REALLY_IWMMXT)
144#define HAVE_iwmmxt_wunpckehsb (TARGET_REALLY_IWMMXT)
145#define HAVE_iwmmxt_wunpckehsh (TARGET_REALLY_IWMMXT)
146#define HAVE_iwmmxt_wunpckehsw (TARGET_REALLY_IWMMXT)
147#define HAVE_iwmmxt_wunpckelub (TARGET_REALLY_IWMMXT)
148#define HAVE_iwmmxt_wunpckeluh (TARGET_REALLY_IWMMXT)
149#define HAVE_iwmmxt_wunpckeluw (TARGET_REALLY_IWMMXT)
150#define HAVE_iwmmxt_wunpckelsb (TARGET_REALLY_IWMMXT)
151#define HAVE_iwmmxt_wunpckelsh (TARGET_REALLY_IWMMXT)
152#define HAVE_iwmmxt_wunpckelsw (TARGET_REALLY_IWMMXT)
153#define HAVE_rorv4hi3 (TARGET_REALLY_IWMMXT)
154#define HAVE_rorv2si3 (TARGET_REALLY_IWMMXT)
155#define HAVE_rordi3 (TARGET_REALLY_IWMMXT)
156#define HAVE_ashrv4hi3_iwmmxt (TARGET_REALLY_IWMMXT)
157#define HAVE_ashrv2si3_iwmmxt (TARGET_REALLY_IWMMXT)
158#define HAVE_ashrdi3_iwmmxt (TARGET_REALLY_IWMMXT)
159#define HAVE_lshrv4hi3_iwmmxt (TARGET_REALLY_IWMMXT)
160#define HAVE_lshrv2si3_iwmmxt (TARGET_REALLY_IWMMXT)
161#define HAVE_lshrdi3_iwmmxt (TARGET_REALLY_IWMMXT)
162#define HAVE_ashlv4hi3_iwmmxt (TARGET_REALLY_IWMMXT)
163#define HAVE_ashlv2si3_iwmmxt (TARGET_REALLY_IWMMXT)
164#define HAVE_ashldi3_iwmmxt (TARGET_REALLY_IWMMXT)
165#define HAVE_rorv4hi3_di (TARGET_REALLY_IWMMXT)
166#define HAVE_rorv2si3_di (TARGET_REALLY_IWMMXT)
167#define HAVE_rordi3_di (TARGET_REALLY_IWMMXT)
168#define HAVE_ashrv4hi3_di (TARGET_REALLY_IWMMXT)
169#define HAVE_ashrv2si3_di (TARGET_REALLY_IWMMXT)
170#define HAVE_ashrdi3_di (TARGET_REALLY_IWMMXT)
171#define HAVE_lshrv4hi3_di (TARGET_REALLY_IWMMXT)
172#define HAVE_lshrv2si3_di (TARGET_REALLY_IWMMXT)
173#define HAVE_lshrdi3_di (TARGET_REALLY_IWMMXT)
174#define HAVE_ashlv4hi3_di (TARGET_REALLY_IWMMXT)
175#define HAVE_ashlv2si3_di (TARGET_REALLY_IWMMXT)
176#define HAVE_ashldi3_di (TARGET_REALLY_IWMMXT)
177#define HAVE_iwmmxt_wmadds (TARGET_REALLY_IWMMXT)
178#define HAVE_iwmmxt_wmaddu (TARGET_REALLY_IWMMXT)
179#define HAVE_iwmmxt_tmia (TARGET_REALLY_IWMMXT)
180#define HAVE_iwmmxt_tmiaph (TARGET_REALLY_IWMMXT)
181#define HAVE_iwmmxt_tmiabb (TARGET_REALLY_IWMMXT)
182#define HAVE_iwmmxt_tmiatb (TARGET_REALLY_IWMMXT)
183#define HAVE_iwmmxt_tmiabt (TARGET_REALLY_IWMMXT)
184#define HAVE_iwmmxt_tmiatt (TARGET_REALLY_IWMMXT)
185#define HAVE_iwmmxt_tmovmskb (TARGET_REALLY_IWMMXT)
186#define HAVE_iwmmxt_tmovmskh (TARGET_REALLY_IWMMXT)
187#define HAVE_iwmmxt_tmovmskw (TARGET_REALLY_IWMMXT)
188#define HAVE_iwmmxt_waccb (TARGET_REALLY_IWMMXT)
189#define HAVE_iwmmxt_wacch (TARGET_REALLY_IWMMXT)
190#define HAVE_iwmmxt_waccw (TARGET_REALLY_IWMMXT)
191#define HAVE_iwmmxt_waligni (TARGET_REALLY_IWMMXT)
192#define HAVE_iwmmxt_walignr (TARGET_REALLY_IWMMXT)
193#define HAVE_iwmmxt_walignr0 (TARGET_REALLY_IWMMXT)
194#define HAVE_iwmmxt_walignr1 (TARGET_REALLY_IWMMXT)
195#define HAVE_iwmmxt_walignr2 (TARGET_REALLY_IWMMXT)
196#define HAVE_iwmmxt_walignr3 (TARGET_REALLY_IWMMXT)
197#define HAVE_iwmmxt_wsadb (TARGET_REALLY_IWMMXT)
198#define HAVE_iwmmxt_wsadh (TARGET_REALLY_IWMMXT)
199#define HAVE_iwmmxt_wsadbz (TARGET_REALLY_IWMMXT)
200#define HAVE_iwmmxt_wsadhz (TARGET_REALLY_IWMMXT)
201#define HAVE_iwmmxt_wabsv2si3 (TARGET_REALLY_IWMMXT)
202#define HAVE_iwmmxt_wabsv4hi3 (TARGET_REALLY_IWMMXT)
203#define HAVE_iwmmxt_wabsv8qi3 (TARGET_REALLY_IWMMXT)
204#define HAVE_iwmmxt_wabsdiffb (TARGET_REALLY_IWMMXT)
205#define HAVE_iwmmxt_wabsdiffh (TARGET_REALLY_IWMMXT)
206#define HAVE_iwmmxt_wabsdiffw (TARGET_REALLY_IWMMXT)
207#define HAVE_iwmmxt_waddsubhx (TARGET_REALLY_IWMMXT)
208#define HAVE_iwmmxt_wsubaddhx (TARGET_REALLY_IWMMXT)
209#define HAVE_addcv4hi3 (TARGET_REALLY_IWMMXT)
210#define HAVE_addcv2si3 (TARGET_REALLY_IWMMXT)
211#define HAVE_iwmmxt_avg4 (TARGET_REALLY_IWMMXT)
212#define HAVE_iwmmxt_avg4r (TARGET_REALLY_IWMMXT)
213#define HAVE_iwmmxt_wmaddsx (TARGET_REALLY_IWMMXT)
214#define HAVE_iwmmxt_wmaddux (TARGET_REALLY_IWMMXT)
215#define HAVE_iwmmxt_wmaddsn (TARGET_REALLY_IWMMXT)
216#define HAVE_iwmmxt_wmaddun (TARGET_REALLY_IWMMXT)
217#define HAVE_iwmmxt_wmulwsm (TARGET_REALLY_IWMMXT)
218#define HAVE_iwmmxt_wmulwum (TARGET_REALLY_IWMMXT)
219#define HAVE_iwmmxt_wmulsmr (TARGET_REALLY_IWMMXT)
220#define HAVE_iwmmxt_wmulumr (TARGET_REALLY_IWMMXT)
221#define HAVE_iwmmxt_wmulwsmr (TARGET_REALLY_IWMMXT)
222#define HAVE_iwmmxt_wmulwumr (TARGET_REALLY_IWMMXT)
223#define HAVE_iwmmxt_wmulwl (TARGET_REALLY_IWMMXT)
224#define HAVE_iwmmxt_wqmulm (TARGET_REALLY_IWMMXT)
225#define HAVE_iwmmxt_wqmulwm (TARGET_REALLY_IWMMXT)
226#define HAVE_iwmmxt_wqmulmr (TARGET_REALLY_IWMMXT)
227#define HAVE_iwmmxt_wqmulwmr (TARGET_REALLY_IWMMXT)
228#define HAVE_iwmmxt_waddbhusm (TARGET_REALLY_IWMMXT)
229#define HAVE_iwmmxt_waddbhusl (TARGET_REALLY_IWMMXT)
230#define HAVE_iwmmxt_wqmiabb (TARGET_REALLY_IWMMXT)
231#define HAVE_iwmmxt_wqmiabt (TARGET_REALLY_IWMMXT)
232#define HAVE_iwmmxt_wqmiatb (TARGET_REALLY_IWMMXT)
233#define HAVE_iwmmxt_wqmiatt (TARGET_REALLY_IWMMXT)
234#define HAVE_iwmmxt_wqmiabbn (TARGET_REALLY_IWMMXT)
235#define HAVE_iwmmxt_wqmiabtn (TARGET_REALLY_IWMMXT)
236#define HAVE_iwmmxt_wqmiatbn (TARGET_REALLY_IWMMXT)
237#define HAVE_iwmmxt_wqmiattn (TARGET_REALLY_IWMMXT)
238#define HAVE_iwmmxt_wmiabb (TARGET_REALLY_IWMMXT)
239#define HAVE_iwmmxt_wmiabt (TARGET_REALLY_IWMMXT)
240#define HAVE_iwmmxt_wmiatb (TARGET_REALLY_IWMMXT)
241#define HAVE_iwmmxt_wmiatt (TARGET_REALLY_IWMMXT)
242#define HAVE_iwmmxt_wmiabbn (TARGET_REALLY_IWMMXT)
243#define HAVE_iwmmxt_wmiabtn (TARGET_REALLY_IWMMXT)
244#define HAVE_iwmmxt_wmiatbn (TARGET_REALLY_IWMMXT)
245#define HAVE_iwmmxt_wmiattn (TARGET_REALLY_IWMMXT)
246#define HAVE_iwmmxt_wmiawbb (TARGET_REALLY_IWMMXT)
247#define HAVE_iwmmxt_wmiawbt (TARGET_REALLY_IWMMXT)
248#define HAVE_iwmmxt_wmiawtb (TARGET_REALLY_IWMMXT)
249#define HAVE_iwmmxt_wmiawtt (TARGET_REALLY_IWMMXT)
250#define HAVE_iwmmxt_wmiawbbn (TARGET_REALLY_IWMMXT)
251#define HAVE_iwmmxt_wmiawbtn (TARGET_REALLY_IWMMXT)
252#define HAVE_iwmmxt_wmiawtbn (TARGET_REALLY_IWMMXT)
253#define HAVE_iwmmxt_wmiawttn (TARGET_REALLY_IWMMXT)
254#define HAVE_iwmmxt_wmerge (TARGET_REALLY_IWMMXT)
255#define HAVE_iwmmxt_tandcv2si3 (TARGET_REALLY_IWMMXT)
256#define HAVE_iwmmxt_tandcv4hi3 (TARGET_REALLY_IWMMXT)
257#define HAVE_iwmmxt_tandcv8qi3 (TARGET_REALLY_IWMMXT)
258#define HAVE_iwmmxt_torcv2si3 (TARGET_REALLY_IWMMXT)
259#define HAVE_iwmmxt_torcv4hi3 (TARGET_REALLY_IWMMXT)
260#define HAVE_iwmmxt_torcv8qi3 (TARGET_REALLY_IWMMXT)
261#define HAVE_iwmmxt_torvscv2si3 (TARGET_REALLY_IWMMXT)
262#define HAVE_iwmmxt_torvscv4hi3 (TARGET_REALLY_IWMMXT)
263#define HAVE_iwmmxt_torvscv8qi3 (TARGET_REALLY_IWMMXT)
264#define HAVE_iwmmxt_textrcv2si3 (TARGET_REALLY_IWMMXT)
265#define HAVE_iwmmxt_textrcv4hi3 (TARGET_REALLY_IWMMXT)
266#define HAVE_iwmmxt_textrcv8qi3 (TARGET_REALLY_IWMMXT)
267#define HAVE_fmasf4 ((TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_FMA) && (TARGET_VFP))
268#define HAVE_fmadf4 ((TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_FMA) && (TARGET_VFP_DOUBLE))
269#define HAVE_extendhfsf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_FP16)
270#define HAVE_truncsfhf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_FP16)
271#define HAVE_fixuns_truncsfsi2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP)
272#define HAVE_fixuns_truncdfsi2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE)
273#define HAVE_floatunssisf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP)
274#define HAVE_floatunssidf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE)
275#define HAVE_btruncsf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
276#define HAVE_ceilsf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
277#define HAVE_floorsf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
278#define HAVE_nearbyintsf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
279#define HAVE_rintsf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
280#define HAVE_roundsf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
281#define HAVE_btruncdf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
282#define HAVE_ceildf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
283#define HAVE_floordf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
284#define HAVE_nearbyintdf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
285#define HAVE_rintdf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
286#define HAVE_rounddf2 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
287#define HAVE_smaxsf3 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
288#define HAVE_smaxdf3 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
289#define HAVE_sminsf3 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 ) && (TARGET_VFP))
290#define HAVE_smindf3 ((TARGET_HARD_FLOAT && TARGET_FPU_ARMV8 && TARGET_VFP_DOUBLE) && (TARGET_VFP_DOUBLE))
291#define HAVE_tls_load_dot_plus_four (TARGET_THUMB2)
292#define HAVE_thumb2_zero_extendqisi2_v6 (TARGET_THUMB2 && arm_arch6)
293#define HAVE_thumb2_casesi_internal (TARGET_THUMB2 && !flag_pic)
294#define HAVE_thumb2_casesi_internal_pic (TARGET_THUMB2 && flag_pic)
295#define HAVE_thumb2_eh_return (TARGET_THUMB2)
296#define HAVE_thumb2_addsi3_compare0 (TARGET_THUMB2)
297#define HAVE_vec_setv8qi_internal (TARGET_NEON)
298#define HAVE_vec_setv4hi_internal (TARGET_NEON)
299#define HAVE_vec_setv2si_internal (TARGET_NEON)
300#define HAVE_vec_setv2sf_internal (TARGET_NEON)
301#define HAVE_vec_setv16qi_internal (TARGET_NEON)
302#define HAVE_vec_setv8hi_internal (TARGET_NEON)
303#define HAVE_vec_setv4si_internal (TARGET_NEON)
304#define HAVE_vec_setv4sf_internal (TARGET_NEON)
305#define HAVE_vec_setv2di_internal (TARGET_NEON)
306#define HAVE_vec_extractv8qi (TARGET_NEON)
307#define HAVE_vec_extractv4hi (TARGET_NEON)
308#define HAVE_vec_extractv2si (TARGET_NEON)
309#define HAVE_vec_extractv2sf (TARGET_NEON)
310#define HAVE_vec_extractv16qi (TARGET_NEON)
311#define HAVE_vec_extractv8hi (TARGET_NEON)
312#define HAVE_vec_extractv4si (TARGET_NEON)
313#define HAVE_vec_extractv4sf (TARGET_NEON)
314#define HAVE_vec_extractv2di (TARGET_NEON)
315#define HAVE_adddi3_neon (TARGET_NEON)
316#define HAVE_subdi3_neon (TARGET_NEON)
317#define HAVE_mulv8qi3addv8qi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
318#define HAVE_mulv16qi3addv16qi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
319#define HAVE_mulv4hi3addv4hi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
320#define HAVE_mulv8hi3addv8hi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
321#define HAVE_mulv2si3addv2si_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
322#define HAVE_mulv4si3addv4si_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
323#define HAVE_mulv2sf3addv2sf_neon (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
324#define HAVE_mulv4sf3addv4sf_neon (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
325#define HAVE_mulv2di3addv2di_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
326#define HAVE_mulv8qi3negv8qiaddv8qi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
327#define HAVE_mulv16qi3negv16qiaddv16qi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
328#define HAVE_mulv4hi3negv4hiaddv4hi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
329#define HAVE_mulv8hi3negv8hiaddv8hi_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
330#define HAVE_mulv2si3negv2siaddv2si_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
331#define HAVE_mulv4si3negv4siaddv4si_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
332#define HAVE_mulv2sf3negv2sfaddv2sf_neon (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
333#define HAVE_mulv4sf3negv4sfaddv4sf_neon (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
334#define HAVE_mulv2di3negv2diaddv2di_neon (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
335#define HAVE_fmav2sf4 (TARGET_NEON && TARGET_FMA && flag_unsafe_math_optimizations)
336#define HAVE_fmav4sf4 (TARGET_NEON && TARGET_FMA && flag_unsafe_math_optimizations)
337#define HAVE_fmav2sf4_intrinsic (TARGET_NEON && TARGET_FMA)
338#define HAVE_fmav4sf4_intrinsic (TARGET_NEON && TARGET_FMA)
339#define HAVE_fmsubv2sf4_intrinsic (TARGET_NEON && TARGET_FMA)
340#define HAVE_fmsubv4sf4_intrinsic (TARGET_NEON && TARGET_FMA)
341#define HAVE_neon_vrintpv2sf (TARGET_NEON && TARGET_FPU_ARMV8)
342#define HAVE_neon_vrintzv2sf (TARGET_NEON && TARGET_FPU_ARMV8)
343#define HAVE_neon_vrintmv2sf (TARGET_NEON && TARGET_FPU_ARMV8)
344#define HAVE_neon_vrintxv2sf (TARGET_NEON && TARGET_FPU_ARMV8)
345#define HAVE_neon_vrintav2sf (TARGET_NEON && TARGET_FPU_ARMV8)
346#define HAVE_neon_vrintnv2sf (TARGET_NEON && TARGET_FPU_ARMV8)
347#define HAVE_neon_vrintpv4sf (TARGET_NEON && TARGET_FPU_ARMV8)
348#define HAVE_neon_vrintzv4sf (TARGET_NEON && TARGET_FPU_ARMV8)
349#define HAVE_neon_vrintmv4sf (TARGET_NEON && TARGET_FPU_ARMV8)
350#define HAVE_neon_vrintxv4sf (TARGET_NEON && TARGET_FPU_ARMV8)
351#define HAVE_neon_vrintav4sf (TARGET_NEON && TARGET_FPU_ARMV8)
352#define HAVE_neon_vrintnv4sf (TARGET_NEON && TARGET_FPU_ARMV8)
353#define HAVE_iorv8qi3 (TARGET_NEON)
354#define HAVE_iorv16qi3 (TARGET_NEON)
355#define HAVE_iorv4hi3 (TARGET_NEON)
356#define HAVE_iorv8hi3 (TARGET_NEON)
357#define HAVE_iorv2si3 (TARGET_NEON)
358#define HAVE_iorv4si3 (TARGET_NEON)
359#define HAVE_iorv2sf3 (TARGET_NEON)
360#define HAVE_iorv4sf3 (TARGET_NEON)
361#define HAVE_iorv2di3 (TARGET_NEON)
362#define HAVE_iordi3_neon (TARGET_NEON)
363#define HAVE_andv8qi3 (TARGET_NEON)
364#define HAVE_andv16qi3 (TARGET_NEON)
365#define HAVE_andv4hi3 (TARGET_NEON)
366#define HAVE_andv8hi3 (TARGET_NEON)
367#define HAVE_andv2si3 (TARGET_NEON)
368#define HAVE_andv4si3 (TARGET_NEON)
369#define HAVE_andv2sf3 (TARGET_NEON)
370#define HAVE_andv4sf3 (TARGET_NEON)
371#define HAVE_andv2di3 (TARGET_NEON)
372#define HAVE_anddi3_neon (TARGET_NEON)
373#define HAVE_ornv8qi3_neon (TARGET_NEON)
374#define HAVE_ornv16qi3_neon (TARGET_NEON)
375#define HAVE_ornv4hi3_neon (TARGET_NEON)
376#define HAVE_ornv8hi3_neon (TARGET_NEON)
377#define HAVE_ornv2si3_neon (TARGET_NEON)
378#define HAVE_ornv4si3_neon (TARGET_NEON)
379#define HAVE_ornv2sf3_neon (TARGET_NEON)
380#define HAVE_ornv4sf3_neon (TARGET_NEON)
381#define HAVE_ornv2di3_neon (TARGET_NEON)
382#define HAVE_orndi3_neon (TARGET_NEON)
383#define HAVE_bicv8qi3_neon (TARGET_NEON)
384#define HAVE_bicv16qi3_neon (TARGET_NEON)
385#define HAVE_bicv4hi3_neon (TARGET_NEON)
386#define HAVE_bicv8hi3_neon (TARGET_NEON)
387#define HAVE_bicv2si3_neon (TARGET_NEON)
388#define HAVE_bicv4si3_neon (TARGET_NEON)
389#define HAVE_bicv2sf3_neon (TARGET_NEON)
390#define HAVE_bicv4sf3_neon (TARGET_NEON)
391#define HAVE_bicv2di3_neon (TARGET_NEON)
392#define HAVE_bicdi3_neon (TARGET_NEON)
393#define HAVE_xorv8qi3 (TARGET_NEON)
394#define HAVE_xorv16qi3 (TARGET_NEON)
395#define HAVE_xorv4hi3 (TARGET_NEON)
396#define HAVE_xorv8hi3 (TARGET_NEON)
397#define HAVE_xorv2si3 (TARGET_NEON)
398#define HAVE_xorv4si3 (TARGET_NEON)
399#define HAVE_xorv2sf3 (TARGET_NEON)
400#define HAVE_xorv4sf3 (TARGET_NEON)
401#define HAVE_xorv2di3 (TARGET_NEON)
402#define HAVE_xordi3_neon (TARGET_NEON)
403#define HAVE_one_cmplv8qi2 (TARGET_NEON)
404#define HAVE_one_cmplv16qi2 (TARGET_NEON)
405#define HAVE_one_cmplv4hi2 (TARGET_NEON)
406#define HAVE_one_cmplv8hi2 (TARGET_NEON)
407#define HAVE_one_cmplv2si2 (TARGET_NEON)
408#define HAVE_one_cmplv4si2 (TARGET_NEON)
409#define HAVE_one_cmplv2sf2 (TARGET_NEON)
410#define HAVE_one_cmplv4sf2 (TARGET_NEON)
411#define HAVE_one_cmplv2di2 (TARGET_NEON)
412#define HAVE_absv8qi2 (TARGET_NEON)
413#define HAVE_absv16qi2 (TARGET_NEON)
414#define HAVE_absv4hi2 (TARGET_NEON)
415#define HAVE_absv8hi2 (TARGET_NEON)
416#define HAVE_absv2si2 (TARGET_NEON)
417#define HAVE_absv4si2 (TARGET_NEON)
418#define HAVE_absv2sf2 (TARGET_NEON)
419#define HAVE_absv4sf2 (TARGET_NEON)
420#define HAVE_negv8qi2 (TARGET_NEON)
421#define HAVE_negv16qi2 (TARGET_NEON)
422#define HAVE_negv4hi2 (TARGET_NEON)
423#define HAVE_negv8hi2 (TARGET_NEON)
424#define HAVE_negv2si2 (TARGET_NEON)
425#define HAVE_negv4si2 (TARGET_NEON)
426#define HAVE_negv2sf2 (TARGET_NEON)
427#define HAVE_negv4sf2 (TARGET_NEON)
428#define HAVE_negdi2_neon (TARGET_NEON)
429#define HAVE_vashlv8qi3 (TARGET_NEON)
430#define HAVE_vashlv16qi3 (TARGET_NEON)
431#define HAVE_vashlv4hi3 (TARGET_NEON)
432#define HAVE_vashlv8hi3 (TARGET_NEON)
433#define HAVE_vashlv2si3 (TARGET_NEON)
434#define HAVE_vashlv4si3 (TARGET_NEON)
435#define HAVE_vashrv8qi3_imm (TARGET_NEON)
436#define HAVE_vashrv16qi3_imm (TARGET_NEON)
437#define HAVE_vashrv4hi3_imm (TARGET_NEON)
438#define HAVE_vashrv8hi3_imm (TARGET_NEON)
439#define HAVE_vashrv2si3_imm (TARGET_NEON)
440#define HAVE_vashrv4si3_imm (TARGET_NEON)
441#define HAVE_vlshrv8qi3_imm (TARGET_NEON)
442#define HAVE_vlshrv16qi3_imm (TARGET_NEON)
443#define HAVE_vlshrv4hi3_imm (TARGET_NEON)
444#define HAVE_vlshrv8hi3_imm (TARGET_NEON)
445#define HAVE_vlshrv2si3_imm (TARGET_NEON)
446#define HAVE_vlshrv4si3_imm (TARGET_NEON)
447#define HAVE_ashlv8qi3_signed (TARGET_NEON)
448#define HAVE_ashlv16qi3_signed (TARGET_NEON)
449#define HAVE_ashlv4hi3_signed (TARGET_NEON)
450#define HAVE_ashlv8hi3_signed (TARGET_NEON)
451#define HAVE_ashlv2si3_signed (TARGET_NEON)
452#define HAVE_ashlv4si3_signed (TARGET_NEON)
453#define HAVE_ashlv2di3_signed (TARGET_NEON)
454#define HAVE_ashlv8qi3_unsigned (TARGET_NEON)
455#define HAVE_ashlv16qi3_unsigned (TARGET_NEON)
456#define HAVE_ashlv4hi3_unsigned (TARGET_NEON)
457#define HAVE_ashlv8hi3_unsigned (TARGET_NEON)
458#define HAVE_ashlv2si3_unsigned (TARGET_NEON)
459#define HAVE_ashlv4si3_unsigned (TARGET_NEON)
460#define HAVE_ashlv2di3_unsigned (TARGET_NEON)
461#define HAVE_neon_load_count (TARGET_NEON)
462#define HAVE_ashldi3_neon_noclobber (TARGET_NEON && reload_completed \
463   && (!CONST_INT_P (operands[2]) \
464       || (INTVAL (operands[2]) >= 0 && INTVAL (operands[2]) < 64)))
465#define HAVE_ashldi3_neon (TARGET_NEON)
466#define HAVE_signed_shift_di3_neon (TARGET_NEON && reload_completed)
467#define HAVE_unsigned_shift_di3_neon (TARGET_NEON && reload_completed)
468#define HAVE_ashrdi3_neon_imm_noclobber (TARGET_NEON && reload_completed \
469   && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 64)
470#define HAVE_lshrdi3_neon_imm_noclobber (TARGET_NEON && reload_completed \
471   && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) <= 64)
472#define HAVE_ashrdi3_neon (TARGET_NEON)
473#define HAVE_lshrdi3_neon (TARGET_NEON)
474#define HAVE_widen_ssumv8qi3 (TARGET_NEON)
475#define HAVE_widen_ssumv4hi3 (TARGET_NEON)
476#define HAVE_widen_ssumv2si3 (TARGET_NEON)
477#define HAVE_widen_usumv8qi3 (TARGET_NEON)
478#define HAVE_widen_usumv4hi3 (TARGET_NEON)
479#define HAVE_widen_usumv2si3 (TARGET_NEON)
480#define HAVE_quad_halves_plusv4si (TARGET_NEON)
481#define HAVE_quad_halves_sminv4si (TARGET_NEON)
482#define HAVE_quad_halves_smaxv4si (TARGET_NEON)
483#define HAVE_quad_halves_uminv4si (TARGET_NEON)
484#define HAVE_quad_halves_umaxv4si (TARGET_NEON)
485#define HAVE_quad_halves_plusv4sf (TARGET_NEON && flag_unsafe_math_optimizations)
486#define HAVE_quad_halves_sminv4sf (TARGET_NEON && flag_unsafe_math_optimizations)
487#define HAVE_quad_halves_smaxv4sf (TARGET_NEON && flag_unsafe_math_optimizations)
488#define HAVE_quad_halves_plusv8hi (TARGET_NEON)
489#define HAVE_quad_halves_sminv8hi (TARGET_NEON)
490#define HAVE_quad_halves_smaxv8hi (TARGET_NEON)
491#define HAVE_quad_halves_uminv8hi (TARGET_NEON)
492#define HAVE_quad_halves_umaxv8hi (TARGET_NEON)
493#define HAVE_quad_halves_plusv16qi (TARGET_NEON)
494#define HAVE_quad_halves_sminv16qi (TARGET_NEON)
495#define HAVE_quad_halves_smaxv16qi (TARGET_NEON)
496#define HAVE_quad_halves_uminv16qi (TARGET_NEON)
497#define HAVE_quad_halves_umaxv16qi (TARGET_NEON)
498#define HAVE_reduc_splus_v2di (TARGET_NEON && !BYTES_BIG_ENDIAN)
499#define HAVE_neon_vpadd_internalv8qi (TARGET_NEON)
500#define HAVE_neon_vpadd_internalv4hi (TARGET_NEON)
501#define HAVE_neon_vpadd_internalv2si (TARGET_NEON)
502#define HAVE_neon_vpadd_internalv2sf (TARGET_NEON)
503#define HAVE_neon_vpsminv8qi (TARGET_NEON)
504#define HAVE_neon_vpsminv4hi (TARGET_NEON)
505#define HAVE_neon_vpsminv2si (TARGET_NEON)
506#define HAVE_neon_vpsminv2sf (TARGET_NEON)
507#define HAVE_neon_vpsmaxv8qi (TARGET_NEON)
508#define HAVE_neon_vpsmaxv4hi (TARGET_NEON)
509#define HAVE_neon_vpsmaxv2si (TARGET_NEON)
510#define HAVE_neon_vpsmaxv2sf (TARGET_NEON)
511#define HAVE_neon_vpuminv8qi (TARGET_NEON)
512#define HAVE_neon_vpuminv4hi (TARGET_NEON)
513#define HAVE_neon_vpuminv2si (TARGET_NEON)
514#define HAVE_neon_vpumaxv8qi (TARGET_NEON)
515#define HAVE_neon_vpumaxv4hi (TARGET_NEON)
516#define HAVE_neon_vpumaxv2si (TARGET_NEON)
517#define HAVE_neon_vaddv8qi_unspec (TARGET_NEON)
518#define HAVE_neon_vaddv16qi_unspec (TARGET_NEON)
519#define HAVE_neon_vaddv4hi_unspec (TARGET_NEON)
520#define HAVE_neon_vaddv8hi_unspec (TARGET_NEON)
521#define HAVE_neon_vaddv2si_unspec (TARGET_NEON)
522#define HAVE_neon_vaddv4si_unspec (TARGET_NEON)
523#define HAVE_neon_vaddv2sf_unspec (TARGET_NEON)
524#define HAVE_neon_vaddv4sf_unspec (TARGET_NEON)
525#define HAVE_neon_vadddi_unspec (TARGET_NEON)
526#define HAVE_neon_vaddv2di_unspec (TARGET_NEON)
527#define HAVE_neon_vaddlv8qi (TARGET_NEON)
528#define HAVE_neon_vaddlv4hi (TARGET_NEON)
529#define HAVE_neon_vaddlv2si (TARGET_NEON)
530#define HAVE_neon_vaddwv8qi (TARGET_NEON)
531#define HAVE_neon_vaddwv4hi (TARGET_NEON)
532#define HAVE_neon_vaddwv2si (TARGET_NEON)
533#define HAVE_neon_vhaddv8qi (TARGET_NEON)
534#define HAVE_neon_vhaddv16qi (TARGET_NEON)
535#define HAVE_neon_vhaddv4hi (TARGET_NEON)
536#define HAVE_neon_vhaddv8hi (TARGET_NEON)
537#define HAVE_neon_vhaddv2si (TARGET_NEON)
538#define HAVE_neon_vhaddv4si (TARGET_NEON)
539#define HAVE_neon_vqaddv8qi (TARGET_NEON)
540#define HAVE_neon_vqaddv16qi (TARGET_NEON)
541#define HAVE_neon_vqaddv4hi (TARGET_NEON)
542#define HAVE_neon_vqaddv8hi (TARGET_NEON)
543#define HAVE_neon_vqaddv2si (TARGET_NEON)
544#define HAVE_neon_vqaddv4si (TARGET_NEON)
545#define HAVE_neon_vqadddi (TARGET_NEON)
546#define HAVE_neon_vqaddv2di (TARGET_NEON)
547#define HAVE_neon_vaddhnv8hi (TARGET_NEON)
548#define HAVE_neon_vaddhnv4si (TARGET_NEON)
549#define HAVE_neon_vaddhnv2di (TARGET_NEON)
550#define HAVE_neon_vmulv8qi (TARGET_NEON)
551#define HAVE_neon_vmulv16qi (TARGET_NEON)
552#define HAVE_neon_vmulv4hi (TARGET_NEON)
553#define HAVE_neon_vmulv8hi (TARGET_NEON)
554#define HAVE_neon_vmulv2si (TARGET_NEON)
555#define HAVE_neon_vmulv4si (TARGET_NEON)
556#define HAVE_neon_vmulv2sf (TARGET_NEON)
557#define HAVE_neon_vmulv4sf (TARGET_NEON)
558#define HAVE_neon_vmlav8qi_unspec (TARGET_NEON)
559#define HAVE_neon_vmlav16qi_unspec (TARGET_NEON)
560#define HAVE_neon_vmlav4hi_unspec (TARGET_NEON)
561#define HAVE_neon_vmlav8hi_unspec (TARGET_NEON)
562#define HAVE_neon_vmlav2si_unspec (TARGET_NEON)
563#define HAVE_neon_vmlav4si_unspec (TARGET_NEON)
564#define HAVE_neon_vmlav2sf_unspec (TARGET_NEON)
565#define HAVE_neon_vmlav4sf_unspec (TARGET_NEON)
566#define HAVE_neon_vmlav2di_unspec (TARGET_NEON)
567#define HAVE_neon_vmlalv8qi (TARGET_NEON)
568#define HAVE_neon_vmlalv4hi (TARGET_NEON)
569#define HAVE_neon_vmlalv2si (TARGET_NEON)
570#define HAVE_neon_vmlsv8qi_unspec (TARGET_NEON)
571#define HAVE_neon_vmlsv16qi_unspec (TARGET_NEON)
572#define HAVE_neon_vmlsv4hi_unspec (TARGET_NEON)
573#define HAVE_neon_vmlsv8hi_unspec (TARGET_NEON)
574#define HAVE_neon_vmlsv2si_unspec (TARGET_NEON)
575#define HAVE_neon_vmlsv4si_unspec (TARGET_NEON)
576#define HAVE_neon_vmlsv2sf_unspec (TARGET_NEON)
577#define HAVE_neon_vmlsv4sf_unspec (TARGET_NEON)
578#define HAVE_neon_vmlsv2di_unspec (TARGET_NEON)
579#define HAVE_neon_vmlslv8qi (TARGET_NEON)
580#define HAVE_neon_vmlslv4hi (TARGET_NEON)
581#define HAVE_neon_vmlslv2si (TARGET_NEON)
582#define HAVE_neon_vqdmulhv4hi (TARGET_NEON)
583#define HAVE_neon_vqdmulhv2si (TARGET_NEON)
584#define HAVE_neon_vqdmulhv8hi (TARGET_NEON)
585#define HAVE_neon_vqdmulhv4si (TARGET_NEON)
586#define HAVE_neon_vqdmlalv4hi (TARGET_NEON)
587#define HAVE_neon_vqdmlalv2si (TARGET_NEON)
588#define HAVE_neon_vqdmlslv4hi (TARGET_NEON)
589#define HAVE_neon_vqdmlslv2si (TARGET_NEON)
590#define HAVE_neon_vmullv8qi (TARGET_NEON)
591#define HAVE_neon_vmullv4hi (TARGET_NEON)
592#define HAVE_neon_vmullv2si (TARGET_NEON)
593#define HAVE_neon_vqdmullv4hi (TARGET_NEON)
594#define HAVE_neon_vqdmullv2si (TARGET_NEON)
595#define HAVE_neon_vsubv8qi_unspec (TARGET_NEON)
596#define HAVE_neon_vsubv16qi_unspec (TARGET_NEON)
597#define HAVE_neon_vsubv4hi_unspec (TARGET_NEON)
598#define HAVE_neon_vsubv8hi_unspec (TARGET_NEON)
599#define HAVE_neon_vsubv2si_unspec (TARGET_NEON)
600#define HAVE_neon_vsubv4si_unspec (TARGET_NEON)
601#define HAVE_neon_vsubv2sf_unspec (TARGET_NEON)
602#define HAVE_neon_vsubv4sf_unspec (TARGET_NEON)
603#define HAVE_neon_vsubdi_unspec (TARGET_NEON)
604#define HAVE_neon_vsubv2di_unspec (TARGET_NEON)
605#define HAVE_neon_vsublv8qi (TARGET_NEON)
606#define HAVE_neon_vsublv4hi (TARGET_NEON)
607#define HAVE_neon_vsublv2si (TARGET_NEON)
608#define HAVE_neon_vsubwv8qi (TARGET_NEON)
609#define HAVE_neon_vsubwv4hi (TARGET_NEON)
610#define HAVE_neon_vsubwv2si (TARGET_NEON)
611#define HAVE_neon_vqsubv8qi (TARGET_NEON)
612#define HAVE_neon_vqsubv16qi (TARGET_NEON)
613#define HAVE_neon_vqsubv4hi (TARGET_NEON)
614#define HAVE_neon_vqsubv8hi (TARGET_NEON)
615#define HAVE_neon_vqsubv2si (TARGET_NEON)
616#define HAVE_neon_vqsubv4si (TARGET_NEON)
617#define HAVE_neon_vqsubdi (TARGET_NEON)
618#define HAVE_neon_vqsubv2di (TARGET_NEON)
619#define HAVE_neon_vhsubv8qi (TARGET_NEON)
620#define HAVE_neon_vhsubv16qi (TARGET_NEON)
621#define HAVE_neon_vhsubv4hi (TARGET_NEON)
622#define HAVE_neon_vhsubv8hi (TARGET_NEON)
623#define HAVE_neon_vhsubv2si (TARGET_NEON)
624#define HAVE_neon_vhsubv4si (TARGET_NEON)
625#define HAVE_neon_vsubhnv8hi (TARGET_NEON)
626#define HAVE_neon_vsubhnv4si (TARGET_NEON)
627#define HAVE_neon_vsubhnv2di (TARGET_NEON)
628#define HAVE_neon_vceqv8qi (TARGET_NEON)
629#define HAVE_neon_vceqv16qi (TARGET_NEON)
630#define HAVE_neon_vceqv4hi (TARGET_NEON)
631#define HAVE_neon_vceqv8hi (TARGET_NEON)
632#define HAVE_neon_vceqv2si (TARGET_NEON)
633#define HAVE_neon_vceqv4si (TARGET_NEON)
634#define HAVE_neon_vceqv2sf (TARGET_NEON)
635#define HAVE_neon_vceqv4sf (TARGET_NEON)
636#define HAVE_neon_vcgev8qi (TARGET_NEON)
637#define HAVE_neon_vcgev16qi (TARGET_NEON)
638#define HAVE_neon_vcgev4hi (TARGET_NEON)
639#define HAVE_neon_vcgev8hi (TARGET_NEON)
640#define HAVE_neon_vcgev2si (TARGET_NEON)
641#define HAVE_neon_vcgev4si (TARGET_NEON)
642#define HAVE_neon_vcgev2sf (TARGET_NEON)
643#define HAVE_neon_vcgev4sf (TARGET_NEON)
644#define HAVE_neon_vcgeuv8qi (TARGET_NEON)
645#define HAVE_neon_vcgeuv16qi (TARGET_NEON)
646#define HAVE_neon_vcgeuv4hi (TARGET_NEON)
647#define HAVE_neon_vcgeuv8hi (TARGET_NEON)
648#define HAVE_neon_vcgeuv2si (TARGET_NEON)
649#define HAVE_neon_vcgeuv4si (TARGET_NEON)
650#define HAVE_neon_vcgtv8qi (TARGET_NEON)
651#define HAVE_neon_vcgtv16qi (TARGET_NEON)
652#define HAVE_neon_vcgtv4hi (TARGET_NEON)
653#define HAVE_neon_vcgtv8hi (TARGET_NEON)
654#define HAVE_neon_vcgtv2si (TARGET_NEON)
655#define HAVE_neon_vcgtv4si (TARGET_NEON)
656#define HAVE_neon_vcgtv2sf (TARGET_NEON)
657#define HAVE_neon_vcgtv4sf (TARGET_NEON)
658#define HAVE_neon_vcgtuv8qi (TARGET_NEON)
659#define HAVE_neon_vcgtuv16qi (TARGET_NEON)
660#define HAVE_neon_vcgtuv4hi (TARGET_NEON)
661#define HAVE_neon_vcgtuv8hi (TARGET_NEON)
662#define HAVE_neon_vcgtuv2si (TARGET_NEON)
663#define HAVE_neon_vcgtuv4si (TARGET_NEON)
664#define HAVE_neon_vclev8qi (TARGET_NEON)
665#define HAVE_neon_vclev16qi (TARGET_NEON)
666#define HAVE_neon_vclev4hi (TARGET_NEON)
667#define HAVE_neon_vclev8hi (TARGET_NEON)
668#define HAVE_neon_vclev2si (TARGET_NEON)
669#define HAVE_neon_vclev4si (TARGET_NEON)
670#define HAVE_neon_vclev2sf (TARGET_NEON)
671#define HAVE_neon_vclev4sf (TARGET_NEON)
672#define HAVE_neon_vcltv8qi (TARGET_NEON)
673#define HAVE_neon_vcltv16qi (TARGET_NEON)
674#define HAVE_neon_vcltv4hi (TARGET_NEON)
675#define HAVE_neon_vcltv8hi (TARGET_NEON)
676#define HAVE_neon_vcltv2si (TARGET_NEON)
677#define HAVE_neon_vcltv4si (TARGET_NEON)
678#define HAVE_neon_vcltv2sf (TARGET_NEON)
679#define HAVE_neon_vcltv4sf (TARGET_NEON)
680#define HAVE_neon_vcagev2sf (TARGET_NEON)
681#define HAVE_neon_vcagev4sf (TARGET_NEON)
682#define HAVE_neon_vcagtv2sf (TARGET_NEON)
683#define HAVE_neon_vcagtv4sf (TARGET_NEON)
684#define HAVE_neon_vtstv8qi (TARGET_NEON)
685#define HAVE_neon_vtstv16qi (TARGET_NEON)
686#define HAVE_neon_vtstv4hi (TARGET_NEON)
687#define HAVE_neon_vtstv8hi (TARGET_NEON)
688#define HAVE_neon_vtstv2si (TARGET_NEON)
689#define HAVE_neon_vtstv4si (TARGET_NEON)
690#define HAVE_neon_vabdv8qi (TARGET_NEON)
691#define HAVE_neon_vabdv16qi (TARGET_NEON)
692#define HAVE_neon_vabdv4hi (TARGET_NEON)
693#define HAVE_neon_vabdv8hi (TARGET_NEON)
694#define HAVE_neon_vabdv2si (TARGET_NEON)
695#define HAVE_neon_vabdv4si (TARGET_NEON)
696#define HAVE_neon_vabdv2sf (TARGET_NEON)
697#define HAVE_neon_vabdv4sf (TARGET_NEON)
698#define HAVE_neon_vabdlv8qi (TARGET_NEON)
699#define HAVE_neon_vabdlv4hi (TARGET_NEON)
700#define HAVE_neon_vabdlv2si (TARGET_NEON)
701#define HAVE_neon_vabav8qi (TARGET_NEON)
702#define HAVE_neon_vabav16qi (TARGET_NEON)
703#define HAVE_neon_vabav4hi (TARGET_NEON)
704#define HAVE_neon_vabav8hi (TARGET_NEON)
705#define HAVE_neon_vabav2si (TARGET_NEON)
706#define HAVE_neon_vabav4si (TARGET_NEON)
707#define HAVE_neon_vabalv8qi (TARGET_NEON)
708#define HAVE_neon_vabalv4hi (TARGET_NEON)
709#define HAVE_neon_vabalv2si (TARGET_NEON)
710#define HAVE_neon_vmaxv8qi (TARGET_NEON)
711#define HAVE_neon_vmaxv16qi (TARGET_NEON)
712#define HAVE_neon_vmaxv4hi (TARGET_NEON)
713#define HAVE_neon_vmaxv8hi (TARGET_NEON)
714#define HAVE_neon_vmaxv2si (TARGET_NEON)
715#define HAVE_neon_vmaxv4si (TARGET_NEON)
716#define HAVE_neon_vmaxv2sf (TARGET_NEON)
717#define HAVE_neon_vmaxv4sf (TARGET_NEON)
718#define HAVE_neon_vminv8qi (TARGET_NEON)
719#define HAVE_neon_vminv16qi (TARGET_NEON)
720#define HAVE_neon_vminv4hi (TARGET_NEON)
721#define HAVE_neon_vminv8hi (TARGET_NEON)
722#define HAVE_neon_vminv2si (TARGET_NEON)
723#define HAVE_neon_vminv4si (TARGET_NEON)
724#define HAVE_neon_vminv2sf (TARGET_NEON)
725#define HAVE_neon_vminv4sf (TARGET_NEON)
726#define HAVE_neon_vpaddlv8qi (TARGET_NEON)
727#define HAVE_neon_vpaddlv16qi (TARGET_NEON)
728#define HAVE_neon_vpaddlv4hi (TARGET_NEON)
729#define HAVE_neon_vpaddlv8hi (TARGET_NEON)
730#define HAVE_neon_vpaddlv2si (TARGET_NEON)
731#define HAVE_neon_vpaddlv4si (TARGET_NEON)
732#define HAVE_neon_vpadalv8qi (TARGET_NEON)
733#define HAVE_neon_vpadalv16qi (TARGET_NEON)
734#define HAVE_neon_vpadalv4hi (TARGET_NEON)
735#define HAVE_neon_vpadalv8hi (TARGET_NEON)
736#define HAVE_neon_vpadalv2si (TARGET_NEON)
737#define HAVE_neon_vpadalv4si (TARGET_NEON)
738#define HAVE_neon_vpmaxv8qi (TARGET_NEON)
739#define HAVE_neon_vpmaxv4hi (TARGET_NEON)
740#define HAVE_neon_vpmaxv2si (TARGET_NEON)
741#define HAVE_neon_vpmaxv2sf (TARGET_NEON)
742#define HAVE_neon_vpminv8qi (TARGET_NEON)
743#define HAVE_neon_vpminv4hi (TARGET_NEON)
744#define HAVE_neon_vpminv2si (TARGET_NEON)
745#define HAVE_neon_vpminv2sf (TARGET_NEON)
746#define HAVE_neon_vrecpsv2sf (TARGET_NEON)
747#define HAVE_neon_vrecpsv4sf (TARGET_NEON)
748#define HAVE_neon_vrsqrtsv2sf (TARGET_NEON)
749#define HAVE_neon_vrsqrtsv4sf (TARGET_NEON)
750#define HAVE_neon_vqabsv8qi (TARGET_NEON)
751#define HAVE_neon_vqabsv16qi (TARGET_NEON)
752#define HAVE_neon_vqabsv4hi (TARGET_NEON)
753#define HAVE_neon_vqabsv8hi (TARGET_NEON)
754#define HAVE_neon_vqabsv2si (TARGET_NEON)
755#define HAVE_neon_vqabsv4si (TARGET_NEON)
756#define HAVE_neon_vqnegv8qi (TARGET_NEON)
757#define HAVE_neon_vqnegv16qi (TARGET_NEON)
758#define HAVE_neon_vqnegv4hi (TARGET_NEON)
759#define HAVE_neon_vqnegv8hi (TARGET_NEON)
760#define HAVE_neon_vqnegv2si (TARGET_NEON)
761#define HAVE_neon_vqnegv4si (TARGET_NEON)
762#define HAVE_neon_vclsv8qi (TARGET_NEON)
763#define HAVE_neon_vclsv16qi (TARGET_NEON)
764#define HAVE_neon_vclsv4hi (TARGET_NEON)
765#define HAVE_neon_vclsv8hi (TARGET_NEON)
766#define HAVE_neon_vclsv2si (TARGET_NEON)
767#define HAVE_neon_vclsv4si (TARGET_NEON)
768#define HAVE_clzv8qi2 (TARGET_NEON)
769#define HAVE_clzv16qi2 (TARGET_NEON)
770#define HAVE_clzv4hi2 (TARGET_NEON)
771#define HAVE_clzv8hi2 (TARGET_NEON)
772#define HAVE_clzv2si2 (TARGET_NEON)
773#define HAVE_clzv4si2 (TARGET_NEON)
774#define HAVE_popcountv8qi2 (TARGET_NEON)
775#define HAVE_popcountv16qi2 (TARGET_NEON)
776#define HAVE_neon_vrecpev2si (TARGET_NEON)
777#define HAVE_neon_vrecpev2sf (TARGET_NEON)
778#define HAVE_neon_vrecpev4si (TARGET_NEON)
779#define HAVE_neon_vrecpev4sf (TARGET_NEON)
780#define HAVE_neon_vrsqrtev2si (TARGET_NEON)
781#define HAVE_neon_vrsqrtev2sf (TARGET_NEON)
782#define HAVE_neon_vrsqrtev4si (TARGET_NEON)
783#define HAVE_neon_vrsqrtev4sf (TARGET_NEON)
784#define HAVE_neon_vget_lanev8qi_sext_internal (TARGET_NEON)
785#define HAVE_neon_vget_lanev4hi_sext_internal (TARGET_NEON)
786#define HAVE_neon_vget_lanev2si_sext_internal (TARGET_NEON)
787#define HAVE_neon_vget_lanev2sf_sext_internal (TARGET_NEON)
788#define HAVE_neon_vget_lanev8qi_zext_internal (TARGET_NEON)
789#define HAVE_neon_vget_lanev4hi_zext_internal (TARGET_NEON)
790#define HAVE_neon_vget_lanev2si_zext_internal (TARGET_NEON)
791#define HAVE_neon_vget_lanev2sf_zext_internal (TARGET_NEON)
792#define HAVE_neon_vget_lanev16qi_sext_internal (TARGET_NEON)
793#define HAVE_neon_vget_lanev8hi_sext_internal (TARGET_NEON)
794#define HAVE_neon_vget_lanev4si_sext_internal (TARGET_NEON)
795#define HAVE_neon_vget_lanev4sf_sext_internal (TARGET_NEON)
796#define HAVE_neon_vget_lanev16qi_zext_internal (TARGET_NEON)
797#define HAVE_neon_vget_lanev8hi_zext_internal (TARGET_NEON)
798#define HAVE_neon_vget_lanev4si_zext_internal (TARGET_NEON)
799#define HAVE_neon_vget_lanev4sf_zext_internal (TARGET_NEON)
800#define HAVE_neon_vdup_nv8qi (TARGET_NEON)
801#define HAVE_neon_vdup_nv4hi (TARGET_NEON)
802#define HAVE_neon_vdup_nv16qi (TARGET_NEON)
803#define HAVE_neon_vdup_nv8hi (TARGET_NEON)
804#define HAVE_neon_vdup_nv2si (TARGET_NEON)
805#define HAVE_neon_vdup_nv2sf (TARGET_NEON)
806#define HAVE_neon_vdup_nv4si (TARGET_NEON)
807#define HAVE_neon_vdup_nv4sf (TARGET_NEON)
808#define HAVE_neon_vdup_nv2di (TARGET_NEON)
809#define HAVE_neon_vdup_lanev8qi_internal (TARGET_NEON)
810#define HAVE_neon_vdup_lanev16qi_internal (TARGET_NEON)
811#define HAVE_neon_vdup_lanev4hi_internal (TARGET_NEON)
812#define HAVE_neon_vdup_lanev8hi_internal (TARGET_NEON)
813#define HAVE_neon_vdup_lanev2si_internal (TARGET_NEON)
814#define HAVE_neon_vdup_lanev4si_internal (TARGET_NEON)
815#define HAVE_neon_vdup_lanev2sf_internal (TARGET_NEON)
816#define HAVE_neon_vdup_lanev4sf_internal (TARGET_NEON)
817#define HAVE_neon_vcombinev8qi (TARGET_NEON)
818#define HAVE_neon_vcombinev4hi (TARGET_NEON)
819#define HAVE_neon_vcombinev2si (TARGET_NEON)
820#define HAVE_neon_vcombinev2sf (TARGET_NEON)
821#define HAVE_neon_vcombinedi (TARGET_NEON)
822#define HAVE_floatv2siv2sf2 (TARGET_NEON && !flag_rounding_math)
823#define HAVE_floatv4siv4sf2 (TARGET_NEON && !flag_rounding_math)
824#define HAVE_floatunsv2siv2sf2 (TARGET_NEON && !flag_rounding_math)
825#define HAVE_floatunsv4siv4sf2 (TARGET_NEON && !flag_rounding_math)
826#define HAVE_fix_truncv2sfv2si2 (TARGET_NEON)
827#define HAVE_fix_truncv4sfv4si2 (TARGET_NEON)
828#define HAVE_fixuns_truncv2sfv2si2 (TARGET_NEON)
829#define HAVE_fixuns_truncv4sfv4si2 (TARGET_NEON)
830#define HAVE_neon_vcvtv2sf (TARGET_NEON)
831#define HAVE_neon_vcvtv4sf (TARGET_NEON)
832#define HAVE_neon_vcvtv2si (TARGET_NEON)
833#define HAVE_neon_vcvtv4si (TARGET_NEON)
834#define HAVE_neon_vcvt_nv2sf (TARGET_NEON)
835#define HAVE_neon_vcvt_nv4sf (TARGET_NEON)
836#define HAVE_neon_vcvt_nv2si (TARGET_NEON)
837#define HAVE_neon_vcvt_nv4si (TARGET_NEON)
838#define HAVE_neon_vmovnv8hi (TARGET_NEON)
839#define HAVE_neon_vmovnv4si (TARGET_NEON)
840#define HAVE_neon_vmovnv2di (TARGET_NEON)
841#define HAVE_neon_vqmovnv8hi (TARGET_NEON)
842#define HAVE_neon_vqmovnv4si (TARGET_NEON)
843#define HAVE_neon_vqmovnv2di (TARGET_NEON)
844#define HAVE_neon_vqmovunv8hi (TARGET_NEON)
845#define HAVE_neon_vqmovunv4si (TARGET_NEON)
846#define HAVE_neon_vqmovunv2di (TARGET_NEON)
847#define HAVE_neon_vmovlv8qi (TARGET_NEON)
848#define HAVE_neon_vmovlv4hi (TARGET_NEON)
849#define HAVE_neon_vmovlv2si (TARGET_NEON)
850#define HAVE_neon_vmul_lanev4hi (TARGET_NEON)
851#define HAVE_neon_vmul_lanev2si (TARGET_NEON)
852#define HAVE_neon_vmul_lanev2sf (TARGET_NEON)
853#define HAVE_neon_vmul_lanev8hi (TARGET_NEON)
854#define HAVE_neon_vmul_lanev4si (TARGET_NEON)
855#define HAVE_neon_vmul_lanev4sf (TARGET_NEON)
856#define HAVE_neon_vmull_lanev4hi (TARGET_NEON)
857#define HAVE_neon_vmull_lanev2si (TARGET_NEON)
858#define HAVE_neon_vqdmull_lanev4hi (TARGET_NEON)
859#define HAVE_neon_vqdmull_lanev2si (TARGET_NEON)
860#define HAVE_neon_vqdmulh_lanev8hi (TARGET_NEON)
861#define HAVE_neon_vqdmulh_lanev4si (TARGET_NEON)
862#define HAVE_neon_vqdmulh_lanev4hi (TARGET_NEON)
863#define HAVE_neon_vqdmulh_lanev2si (TARGET_NEON)
864#define HAVE_neon_vmla_lanev4hi (TARGET_NEON)
865#define HAVE_neon_vmla_lanev2si (TARGET_NEON)
866#define HAVE_neon_vmla_lanev2sf (TARGET_NEON)
867#define HAVE_neon_vmla_lanev8hi (TARGET_NEON)
868#define HAVE_neon_vmla_lanev4si (TARGET_NEON)
869#define HAVE_neon_vmla_lanev4sf (TARGET_NEON)
870#define HAVE_neon_vmlal_lanev4hi (TARGET_NEON)
871#define HAVE_neon_vmlal_lanev2si (TARGET_NEON)
872#define HAVE_neon_vqdmlal_lanev4hi (TARGET_NEON)
873#define HAVE_neon_vqdmlal_lanev2si (TARGET_NEON)
874#define HAVE_neon_vmls_lanev4hi (TARGET_NEON)
875#define HAVE_neon_vmls_lanev2si (TARGET_NEON)
876#define HAVE_neon_vmls_lanev2sf (TARGET_NEON)
877#define HAVE_neon_vmls_lanev8hi (TARGET_NEON)
878#define HAVE_neon_vmls_lanev4si (TARGET_NEON)
879#define HAVE_neon_vmls_lanev4sf (TARGET_NEON)
880#define HAVE_neon_vmlsl_lanev4hi (TARGET_NEON)
881#define HAVE_neon_vmlsl_lanev2si (TARGET_NEON)
882#define HAVE_neon_vqdmlsl_lanev4hi (TARGET_NEON)
883#define HAVE_neon_vqdmlsl_lanev2si (TARGET_NEON)
884#define HAVE_neon_vextv8qi (TARGET_NEON)
885#define HAVE_neon_vextv16qi (TARGET_NEON)
886#define HAVE_neon_vextv4hi (TARGET_NEON)
887#define HAVE_neon_vextv8hi (TARGET_NEON)
888#define HAVE_neon_vextv2si (TARGET_NEON)
889#define HAVE_neon_vextv4si (TARGET_NEON)
890#define HAVE_neon_vextv2sf (TARGET_NEON)
891#define HAVE_neon_vextv4sf (TARGET_NEON)
892#define HAVE_neon_vextdi (TARGET_NEON)
893#define HAVE_neon_vextv2di (TARGET_NEON)
894#define HAVE_neon_vrev64v8qi (TARGET_NEON)
895#define HAVE_neon_vrev64v16qi (TARGET_NEON)
896#define HAVE_neon_vrev64v4hi (TARGET_NEON)
897#define HAVE_neon_vrev64v8hi (TARGET_NEON)
898#define HAVE_neon_vrev64v2si (TARGET_NEON)
899#define HAVE_neon_vrev64v4si (TARGET_NEON)
900#define HAVE_neon_vrev64v2sf (TARGET_NEON)
901#define HAVE_neon_vrev64v4sf (TARGET_NEON)
902#define HAVE_neon_vrev64v2di (TARGET_NEON)
903#define HAVE_neon_vrev32v8qi (TARGET_NEON)
904#define HAVE_neon_vrev32v4hi (TARGET_NEON)
905#define HAVE_neon_vrev32v16qi (TARGET_NEON)
906#define HAVE_neon_vrev32v8hi (TARGET_NEON)
907#define HAVE_neon_vrev16v8qi (TARGET_NEON)
908#define HAVE_neon_vrev16v16qi (TARGET_NEON)
909#define HAVE_neon_vbslv8qi_internal (TARGET_NEON)
910#define HAVE_neon_vbslv16qi_internal (TARGET_NEON)
911#define HAVE_neon_vbslv4hi_internal (TARGET_NEON)
912#define HAVE_neon_vbslv8hi_internal (TARGET_NEON)
913#define HAVE_neon_vbslv2si_internal (TARGET_NEON)
914#define HAVE_neon_vbslv4si_internal (TARGET_NEON)
915#define HAVE_neon_vbslv2sf_internal (TARGET_NEON)
916#define HAVE_neon_vbslv4sf_internal (TARGET_NEON)
917#define HAVE_neon_vbsldi_internal (TARGET_NEON)
918#define HAVE_neon_vbslv2di_internal (TARGET_NEON)
919#define HAVE_neon_vshlv8qi (TARGET_NEON)
920#define HAVE_neon_vshlv16qi (TARGET_NEON)
921#define HAVE_neon_vshlv4hi (TARGET_NEON)
922#define HAVE_neon_vshlv8hi (TARGET_NEON)
923#define HAVE_neon_vshlv2si (TARGET_NEON)
924#define HAVE_neon_vshlv4si (TARGET_NEON)
925#define HAVE_neon_vshldi (TARGET_NEON)
926#define HAVE_neon_vshlv2di (TARGET_NEON)
927#define HAVE_neon_vqshlv8qi (TARGET_NEON)
928#define HAVE_neon_vqshlv16qi (TARGET_NEON)
929#define HAVE_neon_vqshlv4hi (TARGET_NEON)
930#define HAVE_neon_vqshlv8hi (TARGET_NEON)
931#define HAVE_neon_vqshlv2si (TARGET_NEON)
932#define HAVE_neon_vqshlv4si (TARGET_NEON)
933#define HAVE_neon_vqshldi (TARGET_NEON)
934#define HAVE_neon_vqshlv2di (TARGET_NEON)
935#define HAVE_neon_vshr_nv8qi (TARGET_NEON)
936#define HAVE_neon_vshr_nv16qi (TARGET_NEON)
937#define HAVE_neon_vshr_nv4hi (TARGET_NEON)
938#define HAVE_neon_vshr_nv8hi (TARGET_NEON)
939#define HAVE_neon_vshr_nv2si (TARGET_NEON)
940#define HAVE_neon_vshr_nv4si (TARGET_NEON)
941#define HAVE_neon_vshr_ndi (TARGET_NEON)
942#define HAVE_neon_vshr_nv2di (TARGET_NEON)
943#define HAVE_neon_vshrn_nv8hi (TARGET_NEON)
944#define HAVE_neon_vshrn_nv4si (TARGET_NEON)
945#define HAVE_neon_vshrn_nv2di (TARGET_NEON)
946#define HAVE_neon_vqshrn_nv8hi (TARGET_NEON)
947#define HAVE_neon_vqshrn_nv4si (TARGET_NEON)
948#define HAVE_neon_vqshrn_nv2di (TARGET_NEON)
949#define HAVE_neon_vqshrun_nv8hi (TARGET_NEON)
950#define HAVE_neon_vqshrun_nv4si (TARGET_NEON)
951#define HAVE_neon_vqshrun_nv2di (TARGET_NEON)
952#define HAVE_neon_vshl_nv8qi (TARGET_NEON)
953#define HAVE_neon_vshl_nv16qi (TARGET_NEON)
954#define HAVE_neon_vshl_nv4hi (TARGET_NEON)
955#define HAVE_neon_vshl_nv8hi (TARGET_NEON)
956#define HAVE_neon_vshl_nv2si (TARGET_NEON)
957#define HAVE_neon_vshl_nv4si (TARGET_NEON)
958#define HAVE_neon_vshl_ndi (TARGET_NEON)
959#define HAVE_neon_vshl_nv2di (TARGET_NEON)
960#define HAVE_neon_vqshl_nv8qi (TARGET_NEON)
961#define HAVE_neon_vqshl_nv16qi (TARGET_NEON)
962#define HAVE_neon_vqshl_nv4hi (TARGET_NEON)
963#define HAVE_neon_vqshl_nv8hi (TARGET_NEON)
964#define HAVE_neon_vqshl_nv2si (TARGET_NEON)
965#define HAVE_neon_vqshl_nv4si (TARGET_NEON)
966#define HAVE_neon_vqshl_ndi (TARGET_NEON)
967#define HAVE_neon_vqshl_nv2di (TARGET_NEON)
968#define HAVE_neon_vqshlu_nv8qi (TARGET_NEON)
969#define HAVE_neon_vqshlu_nv16qi (TARGET_NEON)
970#define HAVE_neon_vqshlu_nv4hi (TARGET_NEON)
971#define HAVE_neon_vqshlu_nv8hi (TARGET_NEON)
972#define HAVE_neon_vqshlu_nv2si (TARGET_NEON)
973#define HAVE_neon_vqshlu_nv4si (TARGET_NEON)
974#define HAVE_neon_vqshlu_ndi (TARGET_NEON)
975#define HAVE_neon_vqshlu_nv2di (TARGET_NEON)
976#define HAVE_neon_vshll_nv8qi (TARGET_NEON)
977#define HAVE_neon_vshll_nv4hi (TARGET_NEON)
978#define HAVE_neon_vshll_nv2si (TARGET_NEON)
979#define HAVE_neon_vsra_nv8qi (TARGET_NEON)
980#define HAVE_neon_vsra_nv16qi (TARGET_NEON)
981#define HAVE_neon_vsra_nv4hi (TARGET_NEON)
982#define HAVE_neon_vsra_nv8hi (TARGET_NEON)
983#define HAVE_neon_vsra_nv2si (TARGET_NEON)
984#define HAVE_neon_vsra_nv4si (TARGET_NEON)
985#define HAVE_neon_vsra_ndi (TARGET_NEON)
986#define HAVE_neon_vsra_nv2di (TARGET_NEON)
987#define HAVE_neon_vsri_nv8qi (TARGET_NEON)
988#define HAVE_neon_vsri_nv16qi (TARGET_NEON)
989#define HAVE_neon_vsri_nv4hi (TARGET_NEON)
990#define HAVE_neon_vsri_nv8hi (TARGET_NEON)
991#define HAVE_neon_vsri_nv2si (TARGET_NEON)
992#define HAVE_neon_vsri_nv4si (TARGET_NEON)
993#define HAVE_neon_vsri_ndi (TARGET_NEON)
994#define HAVE_neon_vsri_nv2di (TARGET_NEON)
995#define HAVE_neon_vsli_nv8qi (TARGET_NEON)
996#define HAVE_neon_vsli_nv16qi (TARGET_NEON)
997#define HAVE_neon_vsli_nv4hi (TARGET_NEON)
998#define HAVE_neon_vsli_nv8hi (TARGET_NEON)
999#define HAVE_neon_vsli_nv2si (TARGET_NEON)
1000#define HAVE_neon_vsli_nv4si (TARGET_NEON)
1001#define HAVE_neon_vsli_ndi (TARGET_NEON)
1002#define HAVE_neon_vsli_nv2di (TARGET_NEON)
1003#define HAVE_neon_vtbl1v8qi (TARGET_NEON)
1004#define HAVE_neon_vtbl2v8qi (TARGET_NEON)
1005#define HAVE_neon_vtbl3v8qi (TARGET_NEON)
1006#define HAVE_neon_vtbl4v8qi (TARGET_NEON)
1007#define HAVE_neon_vtbl1v16qi (TARGET_NEON)
1008#define HAVE_neon_vtbl2v16qi (TARGET_NEON)
1009#define HAVE_neon_vcombinev16qi (TARGET_NEON)
1010#define HAVE_neon_vtbx1v8qi (TARGET_NEON)
1011#define HAVE_neon_vtbx2v8qi (TARGET_NEON)
1012#define HAVE_neon_vtbx3v8qi (TARGET_NEON)
1013#define HAVE_neon_vtbx4v8qi (TARGET_NEON)
1014#define HAVE_neon_vld1v8qi (TARGET_NEON)
1015#define HAVE_neon_vld1v16qi (TARGET_NEON)
1016#define HAVE_neon_vld1v4hi (TARGET_NEON)
1017#define HAVE_neon_vld1v8hi (TARGET_NEON)
1018#define HAVE_neon_vld1v2si (TARGET_NEON)
1019#define HAVE_neon_vld1v4si (TARGET_NEON)
1020#define HAVE_neon_vld1v2sf (TARGET_NEON)
1021#define HAVE_neon_vld1v4sf (TARGET_NEON)
1022#define HAVE_neon_vld1di (TARGET_NEON)
1023#define HAVE_neon_vld1v2di (TARGET_NEON)
1024#define HAVE_neon_vld1_lanev8qi (TARGET_NEON)
1025#define HAVE_neon_vld1_lanev4hi (TARGET_NEON)
1026#define HAVE_neon_vld1_lanev2si (TARGET_NEON)
1027#define HAVE_neon_vld1_lanev2sf (TARGET_NEON)
1028#define HAVE_neon_vld1_lanedi (TARGET_NEON)
1029#define HAVE_neon_vld1_lanev16qi (TARGET_NEON)
1030#define HAVE_neon_vld1_lanev8hi (TARGET_NEON)
1031#define HAVE_neon_vld1_lanev4si (TARGET_NEON)
1032#define HAVE_neon_vld1_lanev4sf (TARGET_NEON)
1033#define HAVE_neon_vld1_lanev2di (TARGET_NEON)
1034#define HAVE_neon_vld1_dupv8qi (TARGET_NEON)
1035#define HAVE_neon_vld1_dupv4hi (TARGET_NEON)
1036#define HAVE_neon_vld1_dupv2si (TARGET_NEON)
1037#define HAVE_neon_vld1_dupv2sf (TARGET_NEON)
1038#define HAVE_neon_vld1_dupdi (TARGET_NEON)
1039#define HAVE_neon_vld1_dupv16qi (TARGET_NEON)
1040#define HAVE_neon_vld1_dupv8hi (TARGET_NEON)
1041#define HAVE_neon_vld1_dupv4si (TARGET_NEON)
1042#define HAVE_neon_vld1_dupv4sf (TARGET_NEON)
1043#define HAVE_neon_vld1_dupv2di (TARGET_NEON)
1044#define HAVE_neon_vst1v8qi (TARGET_NEON)
1045#define HAVE_neon_vst1v16qi (TARGET_NEON)
1046#define HAVE_neon_vst1v4hi (TARGET_NEON)
1047#define HAVE_neon_vst1v8hi (TARGET_NEON)
1048#define HAVE_neon_vst1v2si (TARGET_NEON)
1049#define HAVE_neon_vst1v4si (TARGET_NEON)
1050#define HAVE_neon_vst1v2sf (TARGET_NEON)
1051#define HAVE_neon_vst1v4sf (TARGET_NEON)
1052#define HAVE_neon_vst1di (TARGET_NEON)
1053#define HAVE_neon_vst1v2di (TARGET_NEON)
1054#define HAVE_neon_vst1_lanev8qi (TARGET_NEON)
1055#define HAVE_neon_vst1_lanev4hi (TARGET_NEON)
1056#define HAVE_neon_vst1_lanev2si (TARGET_NEON)
1057#define HAVE_neon_vst1_lanev2sf (TARGET_NEON)
1058#define HAVE_neon_vst1_lanedi (TARGET_NEON)
1059#define HAVE_neon_vst1_lanev16qi (TARGET_NEON)
1060#define HAVE_neon_vst1_lanev8hi (TARGET_NEON)
1061#define HAVE_neon_vst1_lanev4si (TARGET_NEON)
1062#define HAVE_neon_vst1_lanev4sf (TARGET_NEON)
1063#define HAVE_neon_vst1_lanev2di (TARGET_NEON)
1064#define HAVE_neon_vld2v8qi (TARGET_NEON)
1065#define HAVE_neon_vld2v4hi (TARGET_NEON)
1066#define HAVE_neon_vld2v2si (TARGET_NEON)
1067#define HAVE_neon_vld2v2sf (TARGET_NEON)
1068#define HAVE_neon_vld2di (TARGET_NEON)
1069#define HAVE_neon_vld2v16qi (TARGET_NEON)
1070#define HAVE_neon_vld2v8hi (TARGET_NEON)
1071#define HAVE_neon_vld2v4si (TARGET_NEON)
1072#define HAVE_neon_vld2v4sf (TARGET_NEON)
1073#define HAVE_neon_vld2_lanev8qi (TARGET_NEON)
1074#define HAVE_neon_vld2_lanev4hi (TARGET_NEON)
1075#define HAVE_neon_vld2_lanev2si (TARGET_NEON)
1076#define HAVE_neon_vld2_lanev2sf (TARGET_NEON)
1077#define HAVE_neon_vld2_lanev8hi (TARGET_NEON)
1078#define HAVE_neon_vld2_lanev4si (TARGET_NEON)
1079#define HAVE_neon_vld2_lanev4sf (TARGET_NEON)
1080#define HAVE_neon_vld2_dupv8qi (TARGET_NEON)
1081#define HAVE_neon_vld2_dupv4hi (TARGET_NEON)
1082#define HAVE_neon_vld2_dupv2si (TARGET_NEON)
1083#define HAVE_neon_vld2_dupv2sf (TARGET_NEON)
1084#define HAVE_neon_vld2_dupdi (TARGET_NEON)
1085#define HAVE_neon_vst2v8qi (TARGET_NEON)
1086#define HAVE_neon_vst2v4hi (TARGET_NEON)
1087#define HAVE_neon_vst2v2si (TARGET_NEON)
1088#define HAVE_neon_vst2v2sf (TARGET_NEON)
1089#define HAVE_neon_vst2di (TARGET_NEON)
1090#define HAVE_neon_vst2v16qi (TARGET_NEON)
1091#define HAVE_neon_vst2v8hi (TARGET_NEON)
1092#define HAVE_neon_vst2v4si (TARGET_NEON)
1093#define HAVE_neon_vst2v4sf (TARGET_NEON)
1094#define HAVE_neon_vst2_lanev8qi (TARGET_NEON)
1095#define HAVE_neon_vst2_lanev4hi (TARGET_NEON)
1096#define HAVE_neon_vst2_lanev2si (TARGET_NEON)
1097#define HAVE_neon_vst2_lanev2sf (TARGET_NEON)
1098#define HAVE_neon_vst2_lanev8hi (TARGET_NEON)
1099#define HAVE_neon_vst2_lanev4si (TARGET_NEON)
1100#define HAVE_neon_vst2_lanev4sf (TARGET_NEON)
1101#define HAVE_neon_vld3v8qi (TARGET_NEON)
1102#define HAVE_neon_vld3v4hi (TARGET_NEON)
1103#define HAVE_neon_vld3v2si (TARGET_NEON)
1104#define HAVE_neon_vld3v2sf (TARGET_NEON)
1105#define HAVE_neon_vld3di (TARGET_NEON)
1106#define HAVE_neon_vld3qav16qi (TARGET_NEON)
1107#define HAVE_neon_vld3qav8hi (TARGET_NEON)
1108#define HAVE_neon_vld3qav4si (TARGET_NEON)
1109#define HAVE_neon_vld3qav4sf (TARGET_NEON)
1110#define HAVE_neon_vld3qbv16qi (TARGET_NEON)
1111#define HAVE_neon_vld3qbv8hi (TARGET_NEON)
1112#define HAVE_neon_vld3qbv4si (TARGET_NEON)
1113#define HAVE_neon_vld3qbv4sf (TARGET_NEON)
1114#define HAVE_neon_vld3_lanev8qi (TARGET_NEON)
1115#define HAVE_neon_vld3_lanev4hi (TARGET_NEON)
1116#define HAVE_neon_vld3_lanev2si (TARGET_NEON)
1117#define HAVE_neon_vld3_lanev2sf (TARGET_NEON)
1118#define HAVE_neon_vld3_lanev8hi (TARGET_NEON)
1119#define HAVE_neon_vld3_lanev4si (TARGET_NEON)
1120#define HAVE_neon_vld3_lanev4sf (TARGET_NEON)
1121#define HAVE_neon_vld3_dupv8qi (TARGET_NEON)
1122#define HAVE_neon_vld3_dupv4hi (TARGET_NEON)
1123#define HAVE_neon_vld3_dupv2si (TARGET_NEON)
1124#define HAVE_neon_vld3_dupv2sf (TARGET_NEON)
1125#define HAVE_neon_vld3_dupdi (TARGET_NEON)
1126#define HAVE_neon_vst3v8qi (TARGET_NEON)
1127#define HAVE_neon_vst3v4hi (TARGET_NEON)
1128#define HAVE_neon_vst3v2si (TARGET_NEON)
1129#define HAVE_neon_vst3v2sf (TARGET_NEON)
1130#define HAVE_neon_vst3di (TARGET_NEON)
1131#define HAVE_neon_vst3qav16qi (TARGET_NEON)
1132#define HAVE_neon_vst3qav8hi (TARGET_NEON)
1133#define HAVE_neon_vst3qav4si (TARGET_NEON)
1134#define HAVE_neon_vst3qav4sf (TARGET_NEON)
1135#define HAVE_neon_vst3qbv16qi (TARGET_NEON)
1136#define HAVE_neon_vst3qbv8hi (TARGET_NEON)
1137#define HAVE_neon_vst3qbv4si (TARGET_NEON)
1138#define HAVE_neon_vst3qbv4sf (TARGET_NEON)
1139#define HAVE_neon_vst3_lanev8qi (TARGET_NEON)
1140#define HAVE_neon_vst3_lanev4hi (TARGET_NEON)
1141#define HAVE_neon_vst3_lanev2si (TARGET_NEON)
1142#define HAVE_neon_vst3_lanev2sf (TARGET_NEON)
1143#define HAVE_neon_vst3_lanev8hi (TARGET_NEON)
1144#define HAVE_neon_vst3_lanev4si (TARGET_NEON)
1145#define HAVE_neon_vst3_lanev4sf (TARGET_NEON)
1146#define HAVE_neon_vld4v8qi (TARGET_NEON)
1147#define HAVE_neon_vld4v4hi (TARGET_NEON)
1148#define HAVE_neon_vld4v2si (TARGET_NEON)
1149#define HAVE_neon_vld4v2sf (TARGET_NEON)
1150#define HAVE_neon_vld4di (TARGET_NEON)
1151#define HAVE_neon_vld4qav16qi (TARGET_NEON)
1152#define HAVE_neon_vld4qav8hi (TARGET_NEON)
1153#define HAVE_neon_vld4qav4si (TARGET_NEON)
1154#define HAVE_neon_vld4qav4sf (TARGET_NEON)
1155#define HAVE_neon_vld4qbv16qi (TARGET_NEON)
1156#define HAVE_neon_vld4qbv8hi (TARGET_NEON)
1157#define HAVE_neon_vld4qbv4si (TARGET_NEON)
1158#define HAVE_neon_vld4qbv4sf (TARGET_NEON)
1159#define HAVE_neon_vld4_lanev8qi (TARGET_NEON)
1160#define HAVE_neon_vld4_lanev4hi (TARGET_NEON)
1161#define HAVE_neon_vld4_lanev2si (TARGET_NEON)
1162#define HAVE_neon_vld4_lanev2sf (TARGET_NEON)
1163#define HAVE_neon_vld4_lanev8hi (TARGET_NEON)
1164#define HAVE_neon_vld4_lanev4si (TARGET_NEON)
1165#define HAVE_neon_vld4_lanev4sf (TARGET_NEON)
1166#define HAVE_neon_vld4_dupv8qi (TARGET_NEON)
1167#define HAVE_neon_vld4_dupv4hi (TARGET_NEON)
1168#define HAVE_neon_vld4_dupv2si (TARGET_NEON)
1169#define HAVE_neon_vld4_dupv2sf (TARGET_NEON)
1170#define HAVE_neon_vld4_dupdi (TARGET_NEON)
1171#define HAVE_neon_vst4v8qi (TARGET_NEON)
1172#define HAVE_neon_vst4v4hi (TARGET_NEON)
1173#define HAVE_neon_vst4v2si (TARGET_NEON)
1174#define HAVE_neon_vst4v2sf (TARGET_NEON)
1175#define HAVE_neon_vst4di (TARGET_NEON)
1176#define HAVE_neon_vst4qav16qi (TARGET_NEON)
1177#define HAVE_neon_vst4qav8hi (TARGET_NEON)
1178#define HAVE_neon_vst4qav4si (TARGET_NEON)
1179#define HAVE_neon_vst4qav4sf (TARGET_NEON)
1180#define HAVE_neon_vst4qbv16qi (TARGET_NEON)
1181#define HAVE_neon_vst4qbv8hi (TARGET_NEON)
1182#define HAVE_neon_vst4qbv4si (TARGET_NEON)
1183#define HAVE_neon_vst4qbv4sf (TARGET_NEON)
1184#define HAVE_neon_vst4_lanev8qi (TARGET_NEON)
1185#define HAVE_neon_vst4_lanev4hi (TARGET_NEON)
1186#define HAVE_neon_vst4_lanev2si (TARGET_NEON)
1187#define HAVE_neon_vst4_lanev2sf (TARGET_NEON)
1188#define HAVE_neon_vst4_lanev8hi (TARGET_NEON)
1189#define HAVE_neon_vst4_lanev4si (TARGET_NEON)
1190#define HAVE_neon_vst4_lanev4sf (TARGET_NEON)
1191#define HAVE_neon_vec_unpacks_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1192#define HAVE_neon_vec_unpacku_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1193#define HAVE_neon_vec_unpacks_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1194#define HAVE_neon_vec_unpacku_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1195#define HAVE_neon_vec_unpacks_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1196#define HAVE_neon_vec_unpacku_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1197#define HAVE_neon_vec_unpacks_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1198#define HAVE_neon_vec_unpacku_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1199#define HAVE_neon_vec_unpacks_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1200#define HAVE_neon_vec_unpacku_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1201#define HAVE_neon_vec_unpacks_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1202#define HAVE_neon_vec_unpacku_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1203#define HAVE_neon_vec_smult_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1204#define HAVE_neon_vec_umult_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1205#define HAVE_neon_vec_smult_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1206#define HAVE_neon_vec_umult_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1207#define HAVE_neon_vec_smult_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1208#define HAVE_neon_vec_umult_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1209#define HAVE_neon_vec_smult_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1210#define HAVE_neon_vec_umult_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1211#define HAVE_neon_vec_smult_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1212#define HAVE_neon_vec_umult_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1213#define HAVE_neon_vec_smult_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1214#define HAVE_neon_vec_umult_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1215#define HAVE_neon_vec_sshiftl_v8qi (TARGET_NEON)
1216#define HAVE_neon_vec_ushiftl_v8qi (TARGET_NEON)
1217#define HAVE_neon_vec_sshiftl_v4hi (TARGET_NEON)
1218#define HAVE_neon_vec_ushiftl_v4hi (TARGET_NEON)
1219#define HAVE_neon_vec_sshiftl_v2si (TARGET_NEON)
1220#define HAVE_neon_vec_ushiftl_v2si (TARGET_NEON)
1221#define HAVE_neon_unpacks_v8qi (TARGET_NEON)
1222#define HAVE_neon_unpacku_v8qi (TARGET_NEON)
1223#define HAVE_neon_unpacks_v4hi (TARGET_NEON)
1224#define HAVE_neon_unpacku_v4hi (TARGET_NEON)
1225#define HAVE_neon_unpacks_v2si (TARGET_NEON)
1226#define HAVE_neon_unpacku_v2si (TARGET_NEON)
1227#define HAVE_neon_vec_smult_v8qi (TARGET_NEON)
1228#define HAVE_neon_vec_umult_v8qi (TARGET_NEON)
1229#define HAVE_neon_vec_smult_v4hi (TARGET_NEON)
1230#define HAVE_neon_vec_umult_v4hi (TARGET_NEON)
1231#define HAVE_neon_vec_smult_v2si (TARGET_NEON)
1232#define HAVE_neon_vec_umult_v2si (TARGET_NEON)
1233#define HAVE_vec_pack_trunc_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1234#define HAVE_vec_pack_trunc_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1235#define HAVE_vec_pack_trunc_v2di (TARGET_NEON && !BYTES_BIG_ENDIAN)
1236#define HAVE_neon_vec_pack_trunc_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1237#define HAVE_neon_vec_pack_trunc_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1238#define HAVE_neon_vec_pack_trunc_v2di (TARGET_NEON && !BYTES_BIG_ENDIAN)
1239#define HAVE_neon_vabdv8qi_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1240#define HAVE_neon_vabdv16qi_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1241#define HAVE_neon_vabdv4hi_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1242#define HAVE_neon_vabdv8hi_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1243#define HAVE_neon_vabdv2si_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1244#define HAVE_neon_vabdv4si_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1245#define HAVE_neon_vabdv2sf_2 (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1246#define HAVE_neon_vabdv4sf_2 (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1247#define HAVE_neon_vabdv2di_2 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1248#define HAVE_neon_vabdv8qi_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1249#define HAVE_neon_vabdv16qi_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1250#define HAVE_neon_vabdv4hi_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1251#define HAVE_neon_vabdv8hi_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1252#define HAVE_neon_vabdv2si_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1253#define HAVE_neon_vabdv4si_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1254#define HAVE_neon_vabdv2sf_3 (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1255#define HAVE_neon_vabdv4sf_3 (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1256#define HAVE_neon_vabdv2di_3 (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1257#define HAVE_atomic_loaddi_1 (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN)
1258#define HAVE_atomic_compare_and_swapqi_1 (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1259#define HAVE_atomic_compare_and_swaphi_1 (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1260#define HAVE_atomic_compare_and_swapsi_1 (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1261#define HAVE_atomic_compare_and_swapdi_1 (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1262	&& TARGET_HAVE_MEMORY_BARRIER)
1263#define HAVE_atomic_exchangeqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1264#define HAVE_atomic_exchangehi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1265#define HAVE_atomic_exchangesi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1266#define HAVE_atomic_exchangedi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1267	&& TARGET_HAVE_MEMORY_BARRIER)
1268#define HAVE_atomic_addqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1269#define HAVE_atomic_subqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1270#define HAVE_atomic_orqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1271#define HAVE_atomic_xorqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1272#define HAVE_atomic_andqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1273#define HAVE_atomic_addhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1274#define HAVE_atomic_subhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1275#define HAVE_atomic_orhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1276#define HAVE_atomic_xorhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1277#define HAVE_atomic_andhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1278#define HAVE_atomic_addsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1279#define HAVE_atomic_subsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1280#define HAVE_atomic_orsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1281#define HAVE_atomic_xorsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1282#define HAVE_atomic_andsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1283#define HAVE_atomic_adddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1284	&& TARGET_HAVE_MEMORY_BARRIER)
1285#define HAVE_atomic_subdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1286	&& TARGET_HAVE_MEMORY_BARRIER)
1287#define HAVE_atomic_ordi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1288	&& TARGET_HAVE_MEMORY_BARRIER)
1289#define HAVE_atomic_xordi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1290	&& TARGET_HAVE_MEMORY_BARRIER)
1291#define HAVE_atomic_anddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1292	&& TARGET_HAVE_MEMORY_BARRIER)
1293#define HAVE_atomic_nandqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1294#define HAVE_atomic_nandhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1295#define HAVE_atomic_nandsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1296#define HAVE_atomic_nanddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1297	&& TARGET_HAVE_MEMORY_BARRIER)
1298#define HAVE_atomic_fetch_addqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1299#define HAVE_atomic_fetch_subqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1300#define HAVE_atomic_fetch_orqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1301#define HAVE_atomic_fetch_xorqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1302#define HAVE_atomic_fetch_andqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1303#define HAVE_atomic_fetch_addhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1304#define HAVE_atomic_fetch_subhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1305#define HAVE_atomic_fetch_orhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1306#define HAVE_atomic_fetch_xorhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1307#define HAVE_atomic_fetch_andhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1308#define HAVE_atomic_fetch_addsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1309#define HAVE_atomic_fetch_subsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1310#define HAVE_atomic_fetch_orsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1311#define HAVE_atomic_fetch_xorsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1312#define HAVE_atomic_fetch_andsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1313#define HAVE_atomic_fetch_adddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1314	&& TARGET_HAVE_MEMORY_BARRIER)
1315#define HAVE_atomic_fetch_subdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1316	&& TARGET_HAVE_MEMORY_BARRIER)
1317#define HAVE_atomic_fetch_ordi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1318	&& TARGET_HAVE_MEMORY_BARRIER)
1319#define HAVE_atomic_fetch_xordi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1320	&& TARGET_HAVE_MEMORY_BARRIER)
1321#define HAVE_atomic_fetch_anddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1322	&& TARGET_HAVE_MEMORY_BARRIER)
1323#define HAVE_atomic_fetch_nandqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1324#define HAVE_atomic_fetch_nandhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1325#define HAVE_atomic_fetch_nandsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1326#define HAVE_atomic_fetch_nanddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1327	&& TARGET_HAVE_MEMORY_BARRIER)
1328#define HAVE_atomic_add_fetchqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1329#define HAVE_atomic_sub_fetchqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1330#define HAVE_atomic_or_fetchqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1331#define HAVE_atomic_xor_fetchqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1332#define HAVE_atomic_and_fetchqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1333#define HAVE_atomic_add_fetchhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1334#define HAVE_atomic_sub_fetchhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1335#define HAVE_atomic_or_fetchhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1336#define HAVE_atomic_xor_fetchhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1337#define HAVE_atomic_and_fetchhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1338#define HAVE_atomic_add_fetchsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1339#define HAVE_atomic_sub_fetchsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1340#define HAVE_atomic_or_fetchsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1341#define HAVE_atomic_xor_fetchsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1342#define HAVE_atomic_and_fetchsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1343#define HAVE_atomic_add_fetchdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1344	&& TARGET_HAVE_MEMORY_BARRIER)
1345#define HAVE_atomic_sub_fetchdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1346	&& TARGET_HAVE_MEMORY_BARRIER)
1347#define HAVE_atomic_or_fetchdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1348	&& TARGET_HAVE_MEMORY_BARRIER)
1349#define HAVE_atomic_xor_fetchdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1350	&& TARGET_HAVE_MEMORY_BARRIER)
1351#define HAVE_atomic_and_fetchdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1352	&& TARGET_HAVE_MEMORY_BARRIER)
1353#define HAVE_atomic_nand_fetchqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1354#define HAVE_atomic_nand_fetchhi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1355#define HAVE_atomic_nand_fetchsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1356#define HAVE_atomic_nand_fetchdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1357	&& TARGET_HAVE_MEMORY_BARRIER)
1358#define HAVE_arm_load_exclusiveqi (TARGET_HAVE_LDREXBH)
1359#define HAVE_arm_load_exclusivehi (TARGET_HAVE_LDREXBH)
1360#define HAVE_arm_load_exclusivesi (TARGET_HAVE_LDREX)
1361#define HAVE_arm_load_exclusivedi (TARGET_HAVE_LDREXD)
1362#define HAVE_arm_store_exclusiveqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1363#define HAVE_arm_store_exclusivehi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
1364#define HAVE_arm_store_exclusivesi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
1365#define HAVE_arm_store_exclusivedi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
1366	&& TARGET_HAVE_MEMORY_BARRIER)
1367#define HAVE_addqq3 (TARGET_32BIT)
1368#define HAVE_addhq3 (TARGET_32BIT)
1369#define HAVE_addsq3 (TARGET_32BIT)
1370#define HAVE_adduqq3 (TARGET_32BIT)
1371#define HAVE_adduhq3 (TARGET_32BIT)
1372#define HAVE_addusq3 (TARGET_32BIT)
1373#define HAVE_addha3 (TARGET_32BIT)
1374#define HAVE_addsa3 (TARGET_32BIT)
1375#define HAVE_adduha3 (TARGET_32BIT)
1376#define HAVE_addusa3 (TARGET_32BIT)
1377#define HAVE_addv4qq3 (TARGET_INT_SIMD)
1378#define HAVE_addv2hq3 (TARGET_INT_SIMD)
1379#define HAVE_addv2ha3 (TARGET_INT_SIMD)
1380#define HAVE_usaddv4uqq3 (TARGET_INT_SIMD)
1381#define HAVE_usaddv2uhq3 (TARGET_INT_SIMD)
1382#define HAVE_usadduqq3 (TARGET_INT_SIMD)
1383#define HAVE_usadduhq3 (TARGET_INT_SIMD)
1384#define HAVE_usaddv2uha3 (TARGET_INT_SIMD)
1385#define HAVE_usadduha3 (TARGET_INT_SIMD)
1386#define HAVE_ssaddv4qq3 (TARGET_INT_SIMD)
1387#define HAVE_ssaddv2hq3 (TARGET_INT_SIMD)
1388#define HAVE_ssaddqq3 (TARGET_INT_SIMD)
1389#define HAVE_ssaddhq3 (TARGET_INT_SIMD)
1390#define HAVE_ssaddv2ha3 (TARGET_INT_SIMD)
1391#define HAVE_ssaddha3 (TARGET_INT_SIMD)
1392#define HAVE_ssaddsq3 (TARGET_INT_SIMD)
1393#define HAVE_ssaddsa3 (TARGET_INT_SIMD)
1394#define HAVE_subqq3 (TARGET_32BIT)
1395#define HAVE_subhq3 (TARGET_32BIT)
1396#define HAVE_subsq3 (TARGET_32BIT)
1397#define HAVE_subuqq3 (TARGET_32BIT)
1398#define HAVE_subuhq3 (TARGET_32BIT)
1399#define HAVE_subusq3 (TARGET_32BIT)
1400#define HAVE_subha3 (TARGET_32BIT)
1401#define HAVE_subsa3 (TARGET_32BIT)
1402#define HAVE_subuha3 (TARGET_32BIT)
1403#define HAVE_subusa3 (TARGET_32BIT)
1404#define HAVE_subv4qq3 (TARGET_INT_SIMD)
1405#define HAVE_subv2hq3 (TARGET_INT_SIMD)
1406#define HAVE_subv2ha3 (TARGET_INT_SIMD)
1407#define HAVE_ussubv4uqq3 (TARGET_INT_SIMD)
1408#define HAVE_ussubv2uhq3 (TARGET_INT_SIMD)
1409#define HAVE_ussubuqq3 (TARGET_INT_SIMD)
1410#define HAVE_ussubuhq3 (TARGET_INT_SIMD)
1411#define HAVE_ussubv2uha3 (TARGET_INT_SIMD)
1412#define HAVE_ussubuha3 (TARGET_INT_SIMD)
1413#define HAVE_sssubv4qq3 (TARGET_INT_SIMD)
1414#define HAVE_sssubv2hq3 (TARGET_INT_SIMD)
1415#define HAVE_sssubqq3 (TARGET_INT_SIMD)
1416#define HAVE_sssubhq3 (TARGET_INT_SIMD)
1417#define HAVE_sssubv2ha3 (TARGET_INT_SIMD)
1418#define HAVE_sssubha3 (TARGET_INT_SIMD)
1419#define HAVE_sssubsq3 (TARGET_INT_SIMD)
1420#define HAVE_sssubsa3 (TARGET_INT_SIMD)
1421#define HAVE_ssmulsa3 (TARGET_32BIT && arm_arch6)
1422#define HAVE_usmulusa3 (TARGET_32BIT && arm_arch6)
1423#define HAVE_arm_ssatsihi_shift (TARGET_32BIT && arm_arch6)
1424#define HAVE_arm_usatsihi (TARGET_INT_SIMD)
1425#define HAVE_adddi3 1
1426#define HAVE_addsi3 1
1427#define HAVE_incscc (TARGET_32BIT)
1428#define HAVE_addsf3 (TARGET_32BIT && TARGET_HARD_FLOAT)
1429#define HAVE_adddf3 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1430#define HAVE_subdi3 1
1431#define HAVE_subsi3 1
1432#define HAVE_decscc (TARGET_32BIT)
1433#define HAVE_subsf3 (TARGET_32BIT && TARGET_HARD_FLOAT)
1434#define HAVE_subdf3 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1435#define HAVE_mulsi3 1
1436#define HAVE_maddsidi4 (TARGET_32BIT && arm_arch3m)
1437#define HAVE_mulsidi3 (TARGET_32BIT && arm_arch3m)
1438#define HAVE_umulsidi3 (TARGET_32BIT && arm_arch3m)
1439#define HAVE_umaddsidi4 (TARGET_32BIT && arm_arch3m)
1440#define HAVE_smulsi3_highpart (TARGET_32BIT && arm_arch3m)
1441#define HAVE_umulsi3_highpart (TARGET_32BIT && arm_arch3m)
1442#define HAVE_mulsf3 (TARGET_32BIT && TARGET_HARD_FLOAT)
1443#define HAVE_muldf3 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1444#define HAVE_divsf3 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP)
1445#define HAVE_divdf3 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE)
1446#define HAVE_anddi3 (TARGET_32BIT)
1447#define HAVE_andsi3 1
1448#define HAVE_insv (TARGET_ARM || arm_arch_thumb2)
1449#define HAVE_iordi3 (TARGET_32BIT)
1450#define HAVE_iorsi3 1
1451#define HAVE_xordi3 (TARGET_32BIT)
1452#define HAVE_xorsi3 1
1453#define HAVE_smaxsi3 (TARGET_32BIT)
1454#define HAVE_sminsi3 (TARGET_32BIT)
1455#define HAVE_umaxsi3 (TARGET_32BIT)
1456#define HAVE_uminsi3 (TARGET_32BIT)
1457#define HAVE_ashldi3 (TARGET_32BIT)
1458#define HAVE_ashlsi3 1
1459#define HAVE_ashrdi3 (TARGET_32BIT)
1460#define HAVE_ashrsi3 1
1461#define HAVE_lshrdi3 (TARGET_32BIT)
1462#define HAVE_lshrsi3 1
1463#define HAVE_rotlsi3 (TARGET_32BIT)
1464#define HAVE_rotrsi3 1
1465#define HAVE_extzv (TARGET_THUMB1 || arm_arch_thumb2)
1466#define HAVE_extzv_t1 (TARGET_THUMB1)
1467#define HAVE_extv (arm_arch_thumb2)
1468#define HAVE_extv_regsi 1
1469#define HAVE_negdi2 1
1470#define HAVE_negsi2 1
1471#define HAVE_negsf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP)
1472#define HAVE_negdf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE)
1473#define HAVE_abssi2 1
1474#define HAVE_abssf2 (TARGET_32BIT && TARGET_HARD_FLOAT)
1475#define HAVE_absdf2 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1476#define HAVE_sqrtsf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP)
1477#define HAVE_sqrtdf2 (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE)
1478#define HAVE_one_cmplsi2 1
1479#define HAVE_floatsihf2 1
1480#define HAVE_floatdihf2 1
1481#define HAVE_floatsisf2 (TARGET_32BIT && TARGET_HARD_FLOAT)
1482#define HAVE_floatsidf2 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1483#define HAVE_fix_trunchfsi2 1
1484#define HAVE_fix_trunchfdi2 1
1485#define HAVE_fix_truncsfsi2 (TARGET_32BIT && TARGET_HARD_FLOAT)
1486#define HAVE_fix_truncdfsi2 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1487#define HAVE_truncdfsf2 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1488#define HAVE_truncdfhf2 1
1489#define HAVE_zero_extendhisi2 1
1490#define HAVE_zero_extendqisi2 1
1491#define HAVE_extendhisi2 1
1492#define HAVE_extendhisi2_mem (TARGET_ARM)
1493#define HAVE_extendqihi2 (TARGET_ARM)
1494#define HAVE_extendqisi2 1
1495#define HAVE_extendsfdf2 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1496#define HAVE_extendhfdf2 1
1497#define HAVE_movdi 1
1498#define HAVE_movsi 1
1499#define HAVE_calculate_pic_address (flag_pic)
1500#define HAVE_builtin_setjmp_receiver (flag_pic)
1501#define HAVE_storehi (TARGET_ARM)
1502#define HAVE_storehi_bigend (TARGET_ARM)
1503#define HAVE_storeinthi (TARGET_ARM)
1504#define HAVE_storehi_single_op (TARGET_32BIT && arm_arch4)
1505#define HAVE_movhi 1
1506#define HAVE_movhi_bytes (TARGET_ARM)
1507#define HAVE_movhi_bigend (TARGET_ARM)
1508#define HAVE_thumb_movhi_clobber (TARGET_THUMB1)
1509#define HAVE_reload_outhi 1
1510#define HAVE_reload_inhi 1
1511#define HAVE_movqi 1
1512#define HAVE_movhf 1
1513#define HAVE_movsf 1
1514#define HAVE_movdf 1
1515#define HAVE_reload_outdf (TARGET_THUMB2)
1516#define HAVE_load_multiple (TARGET_32BIT)
1517#define HAVE_store_multiple (TARGET_32BIT)
1518#define HAVE_movmemqi 1
1519#define HAVE_cbranchsi4 1
1520#define HAVE_cbranchqi4 (TARGET_THUMB1)
1521#define HAVE_cbranchsf4 (TARGET_32BIT && TARGET_HARD_FLOAT)
1522#define HAVE_cbranchdf4 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1523#define HAVE_cbranchdi4 (TARGET_32BIT)
1524#define HAVE_cbranch_cc (TARGET_32BIT)
1525#define HAVE_cstore_cc (TARGET_32BIT)
1526#define HAVE_cstoresi4 (TARGET_32BIT || TARGET_THUMB1)
1527#define HAVE_cstoresf4 (TARGET_32BIT && TARGET_HARD_FLOAT)
1528#define HAVE_cstoredf4 (TARGET_32BIT && TARGET_HARD_FLOAT && !TARGET_VFP_SINGLE)
1529#define HAVE_cstoredi4 (TARGET_32BIT)
1530#define HAVE_cstoresi_eq0_thumb1 (TARGET_THUMB1)
1531#define HAVE_cstoresi_ne0_thumb1 (TARGET_THUMB1)
1532#define HAVE_movsicc (TARGET_32BIT)
1533#define HAVE_movsfcc (TARGET_32BIT && TARGET_HARD_FLOAT)
1534#define HAVE_movdfcc (TARGET_32BIT && TARGET_HARD_FLOAT && TARGET_VFP_DOUBLE)
1535#define HAVE_jump 1
1536#define HAVE_call 1
1537#define HAVE_call_internal 1
1538#define HAVE_call_value 1
1539#define HAVE_call_value_internal 1
1540#define HAVE_sibcall (TARGET_32BIT)
1541#define HAVE_sibcall_value (TARGET_32BIT)
1542#define HAVE_return ((TARGET_ARM || (TARGET_THUMB2 \
1543                   && ARM_FUNC_TYPE (arm_current_func_type ()) == ARM_FT_NORMAL \
1544                   && !IS_STACKALIGN (arm_current_func_type ()))) \
1545    && USE_RETURN_INSN (FALSE))
1546#define HAVE_return_addr_mask (TARGET_ARM)
1547#define HAVE_untyped_call 1
1548#define HAVE_untyped_return 1
1549#define HAVE_casesi (TARGET_32BIT || optimize_size || flag_pic)
1550#define HAVE_thumb1_casesi_internal_pic (TARGET_THUMB1)
1551#define HAVE_indirect_jump 1
1552#define HAVE_prologue 1
1553#define HAVE_epilogue 1
1554#define HAVE_sibcall_epilogue (TARGET_32BIT)
1555#define HAVE_eh_epilogue 1
1556#define HAVE_tablejump (TARGET_THUMB1)
1557#define HAVE_ctzsi2 (TARGET_32BIT && arm_arch_thumb2)
1558#define HAVE_eh_return 1
1559#define HAVE_get_thread_pointersi 1
1560#define HAVE_arm_legacy_rev (TARGET_32BIT)
1561#define HAVE_thumb_legacy_rev (TARGET_THUMB)
1562#define HAVE_bswapsi2 (TARGET_EITHER && (arm_arch6 || !optimize_size))
1563#define HAVE_bswaphi2 (arm_arch6)
1564#define HAVE_movv2di (TARGET_NEON \
1565   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2DImode)))
1566#define HAVE_movv2si (TARGET_NEON \
1567   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1568#define HAVE_movv4hi (TARGET_NEON \
1569   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1570#define HAVE_movv8qi (TARGET_NEON \
1571   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1572#define HAVE_movv2sf (TARGET_NEON \
1573   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SFmode)))
1574#define HAVE_movv4si (TARGET_NEON \
1575   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1576#define HAVE_movv8hi (TARGET_NEON \
1577   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1578#define HAVE_movv16qi (TARGET_NEON \
1579   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1580#define HAVE_movv4sf (TARGET_NEON \
1581   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SFmode)))
1582#define HAVE_addv2di3 ((TARGET_NEON && ((V2DImode != V2SFmode && V2DImode != V4SFmode) \
1583		    || flag_unsafe_math_optimizations)) \
1584   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2DImode)))
1585#define HAVE_addv2si3 ((TARGET_NEON && ((V2SImode != V2SFmode && V2SImode != V4SFmode) \
1586		    || flag_unsafe_math_optimizations)) \
1587   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1588#define HAVE_addv4hi3 ((TARGET_NEON && ((V4HImode != V2SFmode && V4HImode != V4SFmode) \
1589		    || flag_unsafe_math_optimizations)) \
1590   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1591#define HAVE_addv8qi3 ((TARGET_NEON && ((V8QImode != V2SFmode && V8QImode != V4SFmode) \
1592		    || flag_unsafe_math_optimizations)) \
1593   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1594#define HAVE_addv2sf3 ((TARGET_NEON && ((V2SFmode != V2SFmode && V2SFmode != V4SFmode) \
1595		    || flag_unsafe_math_optimizations)) \
1596   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SFmode)))
1597#define HAVE_addv4si3 ((TARGET_NEON && ((V4SImode != V2SFmode && V4SImode != V4SFmode) \
1598		    || flag_unsafe_math_optimizations)) \
1599   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1600#define HAVE_addv8hi3 ((TARGET_NEON && ((V8HImode != V2SFmode && V8HImode != V4SFmode) \
1601		    || flag_unsafe_math_optimizations)) \
1602   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1603#define HAVE_addv16qi3 ((TARGET_NEON && ((V16QImode != V2SFmode && V16QImode != V4SFmode) \
1604		    || flag_unsafe_math_optimizations)) \
1605   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1606#define HAVE_addv4sf3 ((TARGET_NEON && ((V4SFmode != V2SFmode && V4SFmode != V4SFmode) \
1607		    || flag_unsafe_math_optimizations)) \
1608   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SFmode)))
1609#define HAVE_subv2di3 ((TARGET_NEON && ((V2DImode != V2SFmode && V2DImode != V4SFmode) \
1610		    || flag_unsafe_math_optimizations)) \
1611   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2DImode)))
1612#define HAVE_subv2si3 ((TARGET_NEON && ((V2SImode != V2SFmode && V2SImode != V4SFmode) \
1613		    || flag_unsafe_math_optimizations)) \
1614   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1615#define HAVE_subv4hi3 ((TARGET_NEON && ((V4HImode != V2SFmode && V4HImode != V4SFmode) \
1616		    || flag_unsafe_math_optimizations)) \
1617   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1618#define HAVE_subv8qi3 ((TARGET_NEON && ((V8QImode != V2SFmode && V8QImode != V4SFmode) \
1619		    || flag_unsafe_math_optimizations)) \
1620   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1621#define HAVE_subv2sf3 ((TARGET_NEON && ((V2SFmode != V2SFmode && V2SFmode != V4SFmode) \
1622		    || flag_unsafe_math_optimizations)) \
1623   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SFmode)))
1624#define HAVE_subv4si3 ((TARGET_NEON && ((V4SImode != V2SFmode && V4SImode != V4SFmode) \
1625		    || flag_unsafe_math_optimizations)) \
1626   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1627#define HAVE_subv8hi3 ((TARGET_NEON && ((V8HImode != V2SFmode && V8HImode != V4SFmode) \
1628		    || flag_unsafe_math_optimizations)) \
1629   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1630#define HAVE_subv16qi3 ((TARGET_NEON && ((V16QImode != V2SFmode && V16QImode != V4SFmode) \
1631		    || flag_unsafe_math_optimizations)) \
1632   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1633#define HAVE_subv4sf3 ((TARGET_NEON && ((V4SFmode != V2SFmode && V4SFmode != V4SFmode) \
1634		    || flag_unsafe_math_optimizations)) \
1635   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SFmode)))
1636#define HAVE_mulv2si3 ((TARGET_NEON && ((V2SImode != V2SFmode && V2SImode != V4SFmode) \
1637		    || flag_unsafe_math_optimizations)) \
1638   || (V2SImode == V4HImode && TARGET_REALLY_IWMMXT))
1639#define HAVE_mulv4hi3 ((TARGET_NEON && ((V4HImode != V2SFmode && V4HImode != V4SFmode) \
1640		    || flag_unsafe_math_optimizations)) \
1641   || (V4HImode == V4HImode && TARGET_REALLY_IWMMXT))
1642#define HAVE_mulv8qi3 ((TARGET_NEON && ((V8QImode != V2SFmode && V8QImode != V4SFmode) \
1643		    || flag_unsafe_math_optimizations)) \
1644   || (V8QImode == V4HImode && TARGET_REALLY_IWMMXT))
1645#define HAVE_mulv2sf3 ((TARGET_NEON && ((V2SFmode != V2SFmode && V2SFmode != V4SFmode) \
1646		    || flag_unsafe_math_optimizations)) \
1647   || (V2SFmode == V4HImode && TARGET_REALLY_IWMMXT))
1648#define HAVE_mulv4si3 ((TARGET_NEON && ((V4SImode != V2SFmode && V4SImode != V4SFmode) \
1649		    || flag_unsafe_math_optimizations)) \
1650   || (V4SImode == V4HImode && TARGET_REALLY_IWMMXT))
1651#define HAVE_mulv8hi3 ((TARGET_NEON && ((V8HImode != V2SFmode && V8HImode != V4SFmode) \
1652		    || flag_unsafe_math_optimizations)) \
1653   || (V8HImode == V4HImode && TARGET_REALLY_IWMMXT))
1654#define HAVE_mulv16qi3 ((TARGET_NEON && ((V16QImode != V2SFmode && V16QImode != V4SFmode) \
1655		    || flag_unsafe_math_optimizations)) \
1656   || (V16QImode == V4HImode && TARGET_REALLY_IWMMXT))
1657#define HAVE_mulv4sf3 ((TARGET_NEON && ((V4SFmode != V2SFmode && V4SFmode != V4SFmode) \
1658		    || flag_unsafe_math_optimizations)) \
1659   || (V4SFmode == V4HImode && TARGET_REALLY_IWMMXT))
1660#define HAVE_sminv2si3 ((TARGET_NEON && ((V2SImode != V2SFmode && V2SImode != V4SFmode) \
1661		    || flag_unsafe_math_optimizations)) \
1662   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1663#define HAVE_sminv4hi3 ((TARGET_NEON && ((V4HImode != V2SFmode && V4HImode != V4SFmode) \
1664		    || flag_unsafe_math_optimizations)) \
1665   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1666#define HAVE_sminv8qi3 ((TARGET_NEON && ((V8QImode != V2SFmode && V8QImode != V4SFmode) \
1667		    || flag_unsafe_math_optimizations)) \
1668   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1669#define HAVE_sminv2sf3 ((TARGET_NEON && ((V2SFmode != V2SFmode && V2SFmode != V4SFmode) \
1670		    || flag_unsafe_math_optimizations)) \
1671   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SFmode)))
1672#define HAVE_sminv4si3 ((TARGET_NEON && ((V4SImode != V2SFmode && V4SImode != V4SFmode) \
1673		    || flag_unsafe_math_optimizations)) \
1674   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1675#define HAVE_sminv8hi3 ((TARGET_NEON && ((V8HImode != V2SFmode && V8HImode != V4SFmode) \
1676		    || flag_unsafe_math_optimizations)) \
1677   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1678#define HAVE_sminv16qi3 ((TARGET_NEON && ((V16QImode != V2SFmode && V16QImode != V4SFmode) \
1679		    || flag_unsafe_math_optimizations)) \
1680   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1681#define HAVE_sminv4sf3 ((TARGET_NEON && ((V4SFmode != V2SFmode && V4SFmode != V4SFmode) \
1682		    || flag_unsafe_math_optimizations)) \
1683   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SFmode)))
1684#define HAVE_uminv2si3 (TARGET_NEON \
1685   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1686#define HAVE_uminv4hi3 (TARGET_NEON \
1687   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1688#define HAVE_uminv8qi3 (TARGET_NEON \
1689   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1690#define HAVE_uminv4si3 (TARGET_NEON \
1691   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1692#define HAVE_uminv8hi3 (TARGET_NEON \
1693   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1694#define HAVE_uminv16qi3 (TARGET_NEON \
1695   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1696#define HAVE_smaxv2si3 ((TARGET_NEON && ((V2SImode != V2SFmode && V2SImode != V4SFmode) \
1697		    || flag_unsafe_math_optimizations)) \
1698   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1699#define HAVE_smaxv4hi3 ((TARGET_NEON && ((V4HImode != V2SFmode && V4HImode != V4SFmode) \
1700		    || flag_unsafe_math_optimizations)) \
1701   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1702#define HAVE_smaxv8qi3 ((TARGET_NEON && ((V8QImode != V2SFmode && V8QImode != V4SFmode) \
1703		    || flag_unsafe_math_optimizations)) \
1704   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1705#define HAVE_smaxv2sf3 ((TARGET_NEON && ((V2SFmode != V2SFmode && V2SFmode != V4SFmode) \
1706		    || flag_unsafe_math_optimizations)) \
1707   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SFmode)))
1708#define HAVE_smaxv4si3 ((TARGET_NEON && ((V4SImode != V2SFmode && V4SImode != V4SFmode) \
1709		    || flag_unsafe_math_optimizations)) \
1710   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1711#define HAVE_smaxv8hi3 ((TARGET_NEON && ((V8HImode != V2SFmode && V8HImode != V4SFmode) \
1712		    || flag_unsafe_math_optimizations)) \
1713   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1714#define HAVE_smaxv16qi3 ((TARGET_NEON && ((V16QImode != V2SFmode && V16QImode != V4SFmode) \
1715		    || flag_unsafe_math_optimizations)) \
1716   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1717#define HAVE_smaxv4sf3 ((TARGET_NEON && ((V4SFmode != V2SFmode && V4SFmode != V4SFmode) \
1718		    || flag_unsafe_math_optimizations)) \
1719   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SFmode)))
1720#define HAVE_umaxv2si3 (TARGET_NEON \
1721   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1722#define HAVE_umaxv4hi3 (TARGET_NEON \
1723   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1724#define HAVE_umaxv8qi3 (TARGET_NEON \
1725   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1726#define HAVE_umaxv4si3 (TARGET_NEON \
1727   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1728#define HAVE_umaxv8hi3 (TARGET_NEON \
1729   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1730#define HAVE_umaxv16qi3 (TARGET_NEON \
1731   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1732#define HAVE_vec_perm_constv2di (TARGET_NEON \
1733   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2DImode)))
1734#define HAVE_vec_perm_constv2si (TARGET_NEON \
1735   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SImode)))
1736#define HAVE_vec_perm_constv4hi (TARGET_NEON \
1737   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4HImode)))
1738#define HAVE_vec_perm_constv8qi (TARGET_NEON \
1739   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8QImode)))
1740#define HAVE_vec_perm_constv2sf (TARGET_NEON \
1741   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V2SFmode)))
1742#define HAVE_vec_perm_constv4si (TARGET_NEON \
1743   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SImode)))
1744#define HAVE_vec_perm_constv8hi (TARGET_NEON \
1745   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V8HImode)))
1746#define HAVE_vec_perm_constv16qi (TARGET_NEON \
1747   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V16QImode)))
1748#define HAVE_vec_perm_constv4sf (TARGET_NEON \
1749   || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (V4SFmode)))
1750#define HAVE_vec_permv8qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1751#define HAVE_vec_permv16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1752#define HAVE_iwmmxt_setwcgr0 (TARGET_REALLY_IWMMXT)
1753#define HAVE_iwmmxt_setwcgr1 (TARGET_REALLY_IWMMXT)
1754#define HAVE_iwmmxt_setwcgr2 (TARGET_REALLY_IWMMXT)
1755#define HAVE_iwmmxt_setwcgr3 (TARGET_REALLY_IWMMXT)
1756#define HAVE_iwmmxt_getwcgr0 (TARGET_REALLY_IWMMXT)
1757#define HAVE_iwmmxt_getwcgr1 (TARGET_REALLY_IWMMXT)
1758#define HAVE_iwmmxt_getwcgr2 (TARGET_REALLY_IWMMXT)
1759#define HAVE_iwmmxt_getwcgr3 (TARGET_REALLY_IWMMXT)
1760#define HAVE_doloop_end (TARGET_32BIT)
1761#define HAVE_movti (TARGET_NEON)
1762#define HAVE_movei (TARGET_NEON)
1763#define HAVE_movoi (TARGET_NEON)
1764#define HAVE_movci (TARGET_NEON)
1765#define HAVE_movxi (TARGET_NEON)
1766#define HAVE_movmisalignv8qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1767#define HAVE_movmisalignv16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1768#define HAVE_movmisalignv4hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1769#define HAVE_movmisalignv8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1770#define HAVE_movmisalignv2si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1771#define HAVE_movmisalignv4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1772#define HAVE_movmisalignv2sf (TARGET_NEON && !BYTES_BIG_ENDIAN)
1773#define HAVE_movmisalignv4sf (TARGET_NEON && !BYTES_BIG_ENDIAN)
1774#define HAVE_movmisaligndi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1775#define HAVE_movmisalignv2di (TARGET_NEON && !BYTES_BIG_ENDIAN)
1776#define HAVE_vec_setv8qi (TARGET_NEON)
1777#define HAVE_vec_setv16qi (TARGET_NEON)
1778#define HAVE_vec_setv4hi (TARGET_NEON)
1779#define HAVE_vec_setv8hi (TARGET_NEON)
1780#define HAVE_vec_setv2si (TARGET_NEON)
1781#define HAVE_vec_setv4si (TARGET_NEON)
1782#define HAVE_vec_setv2sf (TARGET_NEON)
1783#define HAVE_vec_setv4sf (TARGET_NEON)
1784#define HAVE_vec_setv2di (TARGET_NEON)
1785#define HAVE_vec_initv8qi (TARGET_NEON)
1786#define HAVE_vec_initv16qi (TARGET_NEON)
1787#define HAVE_vec_initv4hi (TARGET_NEON)
1788#define HAVE_vec_initv8hi (TARGET_NEON)
1789#define HAVE_vec_initv2si (TARGET_NEON)
1790#define HAVE_vec_initv4si (TARGET_NEON)
1791#define HAVE_vec_initv2sf (TARGET_NEON)
1792#define HAVE_vec_initv4sf (TARGET_NEON)
1793#define HAVE_vec_initv2di (TARGET_NEON)
1794#define HAVE_vashrv8qi3 (TARGET_NEON)
1795#define HAVE_vashrv16qi3 (TARGET_NEON)
1796#define HAVE_vashrv4hi3 (TARGET_NEON)
1797#define HAVE_vashrv8hi3 (TARGET_NEON)
1798#define HAVE_vashrv2si3 (TARGET_NEON)
1799#define HAVE_vashrv4si3 (TARGET_NEON)
1800#define HAVE_vlshrv8qi3 (TARGET_NEON)
1801#define HAVE_vlshrv16qi3 (TARGET_NEON)
1802#define HAVE_vlshrv4hi3 (TARGET_NEON)
1803#define HAVE_vlshrv8hi3 (TARGET_NEON)
1804#define HAVE_vlshrv2si3 (TARGET_NEON)
1805#define HAVE_vlshrv4si3 (TARGET_NEON)
1806#define HAVE_vec_shr_v8qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1807#define HAVE_vec_shr_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1808#define HAVE_vec_shr_v4hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1809#define HAVE_vec_shr_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1810#define HAVE_vec_shr_v2si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1811#define HAVE_vec_shr_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1812#define HAVE_vec_shr_v2sf (TARGET_NEON && !BYTES_BIG_ENDIAN)
1813#define HAVE_vec_shr_v4sf (TARGET_NEON && !BYTES_BIG_ENDIAN)
1814#define HAVE_vec_shr_v2di (TARGET_NEON && !BYTES_BIG_ENDIAN)
1815#define HAVE_vec_shl_v8qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1816#define HAVE_vec_shl_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1817#define HAVE_vec_shl_v4hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1818#define HAVE_vec_shl_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1819#define HAVE_vec_shl_v2si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1820#define HAVE_vec_shl_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1821#define HAVE_vec_shl_v2sf (TARGET_NEON && !BYTES_BIG_ENDIAN)
1822#define HAVE_vec_shl_v4sf (TARGET_NEON && !BYTES_BIG_ENDIAN)
1823#define HAVE_vec_shl_v2di (TARGET_NEON && !BYTES_BIG_ENDIAN)
1824#define HAVE_move_hi_quad_v2di (TARGET_NEON)
1825#define HAVE_move_hi_quad_v2df (TARGET_NEON)
1826#define HAVE_move_hi_quad_v16qi (TARGET_NEON)
1827#define HAVE_move_hi_quad_v8hi (TARGET_NEON)
1828#define HAVE_move_hi_quad_v4si (TARGET_NEON)
1829#define HAVE_move_hi_quad_v4sf (TARGET_NEON)
1830#define HAVE_move_lo_quad_v2di (TARGET_NEON)
1831#define HAVE_move_lo_quad_v2df (TARGET_NEON)
1832#define HAVE_move_lo_quad_v16qi (TARGET_NEON)
1833#define HAVE_move_lo_quad_v8hi (TARGET_NEON)
1834#define HAVE_move_lo_quad_v4si (TARGET_NEON)
1835#define HAVE_move_lo_quad_v4sf (TARGET_NEON)
1836#define HAVE_reduc_splus_v8qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1837#define HAVE_reduc_splus_v4hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1838#define HAVE_reduc_splus_v2si (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1839#define HAVE_reduc_splus_v2sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1840#define HAVE_reduc_splus_v16qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1841   && !BYTES_BIG_ENDIAN)
1842#define HAVE_reduc_splus_v8hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1843   && !BYTES_BIG_ENDIAN)
1844#define HAVE_reduc_splus_v4si (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1845   && !BYTES_BIG_ENDIAN)
1846#define HAVE_reduc_splus_v4sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations) \
1847   && !BYTES_BIG_ENDIAN)
1848#define HAVE_reduc_uplus_v8qi (TARGET_NEON && (true || !BYTES_BIG_ENDIAN))
1849#define HAVE_reduc_uplus_v16qi (TARGET_NEON && (false || !BYTES_BIG_ENDIAN))
1850#define HAVE_reduc_uplus_v4hi (TARGET_NEON && (true || !BYTES_BIG_ENDIAN))
1851#define HAVE_reduc_uplus_v8hi (TARGET_NEON && (false || !BYTES_BIG_ENDIAN))
1852#define HAVE_reduc_uplus_v2si (TARGET_NEON && (true || !BYTES_BIG_ENDIAN))
1853#define HAVE_reduc_uplus_v4si (TARGET_NEON && (false || !BYTES_BIG_ENDIAN))
1854#define HAVE_reduc_uplus_v2di (TARGET_NEON && (false || !BYTES_BIG_ENDIAN))
1855#define HAVE_reduc_smin_v8qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1856#define HAVE_reduc_smin_v4hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1857#define HAVE_reduc_smin_v2si (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1858#define HAVE_reduc_smin_v2sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1859#define HAVE_reduc_smin_v16qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1860   && !BYTES_BIG_ENDIAN)
1861#define HAVE_reduc_smin_v8hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1862   && !BYTES_BIG_ENDIAN)
1863#define HAVE_reduc_smin_v4si (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1864   && !BYTES_BIG_ENDIAN)
1865#define HAVE_reduc_smin_v4sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations) \
1866   && !BYTES_BIG_ENDIAN)
1867#define HAVE_reduc_smax_v8qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1868#define HAVE_reduc_smax_v4hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1869#define HAVE_reduc_smax_v2si (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1870#define HAVE_reduc_smax_v2sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1871#define HAVE_reduc_smax_v16qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1872   && !BYTES_BIG_ENDIAN)
1873#define HAVE_reduc_smax_v8hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1874   && !BYTES_BIG_ENDIAN)
1875#define HAVE_reduc_smax_v4si (TARGET_NEON && (!false || flag_unsafe_math_optimizations) \
1876   && !BYTES_BIG_ENDIAN)
1877#define HAVE_reduc_smax_v4sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations) \
1878   && !BYTES_BIG_ENDIAN)
1879#define HAVE_reduc_umin_v8qi (TARGET_NEON)
1880#define HAVE_reduc_umin_v4hi (TARGET_NEON)
1881#define HAVE_reduc_umin_v2si (TARGET_NEON)
1882#define HAVE_reduc_umin_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1883#define HAVE_reduc_umin_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1884#define HAVE_reduc_umin_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1885#define HAVE_reduc_umax_v8qi (TARGET_NEON)
1886#define HAVE_reduc_umax_v4hi (TARGET_NEON)
1887#define HAVE_reduc_umax_v2si (TARGET_NEON)
1888#define HAVE_reduc_umax_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1889#define HAVE_reduc_umax_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
1890#define HAVE_reduc_umax_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
1891#define HAVE_vcondv8qiv8qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1892#define HAVE_vcondv16qiv16qi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1893#define HAVE_vcondv4hiv4hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1894#define HAVE_vcondv8hiv8hi (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1895#define HAVE_vcondv2siv2si (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1896#define HAVE_vcondv4siv4si (TARGET_NEON && (!false || flag_unsafe_math_optimizations))
1897#define HAVE_vcondv2sfv2sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1898#define HAVE_vcondv4sfv4sf (TARGET_NEON && (!true || flag_unsafe_math_optimizations))
1899#define HAVE_vconduv8qiv8qi (TARGET_NEON)
1900#define HAVE_vconduv16qiv16qi (TARGET_NEON)
1901#define HAVE_vconduv4hiv4hi (TARGET_NEON)
1902#define HAVE_vconduv8hiv8hi (TARGET_NEON)
1903#define HAVE_vconduv2siv2si (TARGET_NEON)
1904#define HAVE_vconduv4siv4si (TARGET_NEON)
1905#define HAVE_neon_vaddv8qi (TARGET_NEON)
1906#define HAVE_neon_vaddv16qi (TARGET_NEON)
1907#define HAVE_neon_vaddv4hi (TARGET_NEON)
1908#define HAVE_neon_vaddv8hi (TARGET_NEON)
1909#define HAVE_neon_vaddv2si (TARGET_NEON)
1910#define HAVE_neon_vaddv4si (TARGET_NEON)
1911#define HAVE_neon_vaddv2sf (TARGET_NEON)
1912#define HAVE_neon_vaddv4sf (TARGET_NEON)
1913#define HAVE_neon_vadddi (TARGET_NEON)
1914#define HAVE_neon_vaddv2di (TARGET_NEON)
1915#define HAVE_neon_vmlav8qi (TARGET_NEON)
1916#define HAVE_neon_vmlav16qi (TARGET_NEON)
1917#define HAVE_neon_vmlav4hi (TARGET_NEON)
1918#define HAVE_neon_vmlav8hi (TARGET_NEON)
1919#define HAVE_neon_vmlav2si (TARGET_NEON)
1920#define HAVE_neon_vmlav4si (TARGET_NEON)
1921#define HAVE_neon_vmlav2sf (TARGET_NEON)
1922#define HAVE_neon_vmlav4sf (TARGET_NEON)
1923#define HAVE_neon_vfmav2sf (TARGET_NEON && TARGET_FMA)
1924#define HAVE_neon_vfmav4sf (TARGET_NEON && TARGET_FMA)
1925#define HAVE_neon_vfmsv2sf (TARGET_NEON && TARGET_FMA)
1926#define HAVE_neon_vfmsv4sf (TARGET_NEON && TARGET_FMA)
1927#define HAVE_neon_vmlsv8qi (TARGET_NEON)
1928#define HAVE_neon_vmlsv16qi (TARGET_NEON)
1929#define HAVE_neon_vmlsv4hi (TARGET_NEON)
1930#define HAVE_neon_vmlsv8hi (TARGET_NEON)
1931#define HAVE_neon_vmlsv2si (TARGET_NEON)
1932#define HAVE_neon_vmlsv4si (TARGET_NEON)
1933#define HAVE_neon_vmlsv2sf (TARGET_NEON)
1934#define HAVE_neon_vmlsv4sf (TARGET_NEON)
1935#define HAVE_neon_vsubv8qi (TARGET_NEON)
1936#define HAVE_neon_vsubv16qi (TARGET_NEON)
1937#define HAVE_neon_vsubv4hi (TARGET_NEON)
1938#define HAVE_neon_vsubv8hi (TARGET_NEON)
1939#define HAVE_neon_vsubv2si (TARGET_NEON)
1940#define HAVE_neon_vsubv4si (TARGET_NEON)
1941#define HAVE_neon_vsubv2sf (TARGET_NEON)
1942#define HAVE_neon_vsubv4sf (TARGET_NEON)
1943#define HAVE_neon_vsubdi (TARGET_NEON)
1944#define HAVE_neon_vsubv2di (TARGET_NEON)
1945#define HAVE_neon_vpaddv8qi (TARGET_NEON)
1946#define HAVE_neon_vpaddv4hi (TARGET_NEON)
1947#define HAVE_neon_vpaddv2si (TARGET_NEON)
1948#define HAVE_neon_vpaddv2sf (TARGET_NEON)
1949#define HAVE_neon_vabsv8qi (TARGET_NEON)
1950#define HAVE_neon_vabsv16qi (TARGET_NEON)
1951#define HAVE_neon_vabsv4hi (TARGET_NEON)
1952#define HAVE_neon_vabsv8hi (TARGET_NEON)
1953#define HAVE_neon_vabsv2si (TARGET_NEON)
1954#define HAVE_neon_vabsv4si (TARGET_NEON)
1955#define HAVE_neon_vabsv2sf (TARGET_NEON)
1956#define HAVE_neon_vabsv4sf (TARGET_NEON)
1957#define HAVE_neon_vnegv8qi (TARGET_NEON)
1958#define HAVE_neon_vnegv16qi (TARGET_NEON)
1959#define HAVE_neon_vnegv4hi (TARGET_NEON)
1960#define HAVE_neon_vnegv8hi (TARGET_NEON)
1961#define HAVE_neon_vnegv2si (TARGET_NEON)
1962#define HAVE_neon_vnegv4si (TARGET_NEON)
1963#define HAVE_neon_vnegv2sf (TARGET_NEON)
1964#define HAVE_neon_vnegv4sf (TARGET_NEON)
1965#define HAVE_neon_vclzv8qi (TARGET_NEON)
1966#define HAVE_neon_vclzv16qi (TARGET_NEON)
1967#define HAVE_neon_vclzv4hi (TARGET_NEON)
1968#define HAVE_neon_vclzv8hi (TARGET_NEON)
1969#define HAVE_neon_vclzv2si (TARGET_NEON)
1970#define HAVE_neon_vclzv4si (TARGET_NEON)
1971#define HAVE_neon_vcntv8qi (TARGET_NEON)
1972#define HAVE_neon_vcntv16qi (TARGET_NEON)
1973#define HAVE_neon_vmvnv8qi (TARGET_NEON)
1974#define HAVE_neon_vmvnv16qi (TARGET_NEON)
1975#define HAVE_neon_vmvnv4hi (TARGET_NEON)
1976#define HAVE_neon_vmvnv8hi (TARGET_NEON)
1977#define HAVE_neon_vmvnv2si (TARGET_NEON)
1978#define HAVE_neon_vmvnv4si (TARGET_NEON)
1979#define HAVE_neon_vget_lanev8qi (TARGET_NEON)
1980#define HAVE_neon_vget_lanev16qi (TARGET_NEON)
1981#define HAVE_neon_vget_lanev4hi (TARGET_NEON)
1982#define HAVE_neon_vget_lanev8hi (TARGET_NEON)
1983#define HAVE_neon_vget_lanev2si (TARGET_NEON)
1984#define HAVE_neon_vget_lanev4si (TARGET_NEON)
1985#define HAVE_neon_vget_lanev2sf (TARGET_NEON)
1986#define HAVE_neon_vget_lanev4sf (TARGET_NEON)
1987#define HAVE_neon_vget_lanedi (TARGET_NEON)
1988#define HAVE_neon_vget_lanev2di (TARGET_NEON)
1989#define HAVE_neon_vset_lanev8qi (TARGET_NEON)
1990#define HAVE_neon_vset_lanev16qi (TARGET_NEON)
1991#define HAVE_neon_vset_lanev4hi (TARGET_NEON)
1992#define HAVE_neon_vset_lanev8hi (TARGET_NEON)
1993#define HAVE_neon_vset_lanev2si (TARGET_NEON)
1994#define HAVE_neon_vset_lanev4si (TARGET_NEON)
1995#define HAVE_neon_vset_lanev2sf (TARGET_NEON)
1996#define HAVE_neon_vset_lanev4sf (TARGET_NEON)
1997#define HAVE_neon_vset_lanev2di (TARGET_NEON)
1998#define HAVE_neon_vset_lanedi (TARGET_NEON)
1999#define HAVE_neon_vcreatev8qi (TARGET_NEON)
2000#define HAVE_neon_vcreatev4hi (TARGET_NEON)
2001#define HAVE_neon_vcreatev2si (TARGET_NEON)
2002#define HAVE_neon_vcreatev2sf (TARGET_NEON)
2003#define HAVE_neon_vcreatedi (TARGET_NEON)
2004#define HAVE_neon_vdup_ndi (TARGET_NEON)
2005#define HAVE_neon_vdup_lanev8qi (TARGET_NEON)
2006#define HAVE_neon_vdup_lanev16qi (TARGET_NEON)
2007#define HAVE_neon_vdup_lanev4hi (TARGET_NEON)
2008#define HAVE_neon_vdup_lanev8hi (TARGET_NEON)
2009#define HAVE_neon_vdup_lanev2si (TARGET_NEON)
2010#define HAVE_neon_vdup_lanev4si (TARGET_NEON)
2011#define HAVE_neon_vdup_lanev2sf (TARGET_NEON)
2012#define HAVE_neon_vdup_lanev4sf (TARGET_NEON)
2013#define HAVE_neon_vdup_lanedi (TARGET_NEON)
2014#define HAVE_neon_vdup_lanev2di (TARGET_NEON)
2015#define HAVE_neon_vget_highv16qi (TARGET_NEON)
2016#define HAVE_neon_vget_highv8hi (TARGET_NEON)
2017#define HAVE_neon_vget_highv4si (TARGET_NEON)
2018#define HAVE_neon_vget_highv4sf (TARGET_NEON)
2019#define HAVE_neon_vget_highv2di (TARGET_NEON)
2020#define HAVE_neon_vget_lowv16qi (TARGET_NEON)
2021#define HAVE_neon_vget_lowv8hi (TARGET_NEON)
2022#define HAVE_neon_vget_lowv4si (TARGET_NEON)
2023#define HAVE_neon_vget_lowv4sf (TARGET_NEON)
2024#define HAVE_neon_vget_lowv2di (TARGET_NEON)
2025#define HAVE_neon_vmul_nv4hi (TARGET_NEON)
2026#define HAVE_neon_vmul_nv2si (TARGET_NEON)
2027#define HAVE_neon_vmul_nv2sf (TARGET_NEON)
2028#define HAVE_neon_vmul_nv8hi (TARGET_NEON)
2029#define HAVE_neon_vmul_nv4si (TARGET_NEON)
2030#define HAVE_neon_vmul_nv4sf (TARGET_NEON)
2031#define HAVE_neon_vmull_nv4hi (TARGET_NEON)
2032#define HAVE_neon_vmull_nv2si (TARGET_NEON)
2033#define HAVE_neon_vqdmull_nv4hi (TARGET_NEON)
2034#define HAVE_neon_vqdmull_nv2si (TARGET_NEON)
2035#define HAVE_neon_vqdmulh_nv4hi (TARGET_NEON)
2036#define HAVE_neon_vqdmulh_nv2si (TARGET_NEON)
2037#define HAVE_neon_vqdmulh_nv8hi (TARGET_NEON)
2038#define HAVE_neon_vqdmulh_nv4si (TARGET_NEON)
2039#define HAVE_neon_vmla_nv4hi (TARGET_NEON)
2040#define HAVE_neon_vmla_nv2si (TARGET_NEON)
2041#define HAVE_neon_vmla_nv2sf (TARGET_NEON)
2042#define HAVE_neon_vmla_nv8hi (TARGET_NEON)
2043#define HAVE_neon_vmla_nv4si (TARGET_NEON)
2044#define HAVE_neon_vmla_nv4sf (TARGET_NEON)
2045#define HAVE_neon_vmlal_nv4hi (TARGET_NEON)
2046#define HAVE_neon_vmlal_nv2si (TARGET_NEON)
2047#define HAVE_neon_vqdmlal_nv4hi (TARGET_NEON)
2048#define HAVE_neon_vqdmlal_nv2si (TARGET_NEON)
2049#define HAVE_neon_vmls_nv4hi (TARGET_NEON)
2050#define HAVE_neon_vmls_nv2si (TARGET_NEON)
2051#define HAVE_neon_vmls_nv2sf (TARGET_NEON)
2052#define HAVE_neon_vmls_nv8hi (TARGET_NEON)
2053#define HAVE_neon_vmls_nv4si (TARGET_NEON)
2054#define HAVE_neon_vmls_nv4sf (TARGET_NEON)
2055#define HAVE_neon_vmlsl_nv4hi (TARGET_NEON)
2056#define HAVE_neon_vmlsl_nv2si (TARGET_NEON)
2057#define HAVE_neon_vqdmlsl_nv4hi (TARGET_NEON)
2058#define HAVE_neon_vqdmlsl_nv2si (TARGET_NEON)
2059#define HAVE_neon_vbslv8qi (TARGET_NEON)
2060#define HAVE_neon_vbslv16qi (TARGET_NEON)
2061#define HAVE_neon_vbslv4hi (TARGET_NEON)
2062#define HAVE_neon_vbslv8hi (TARGET_NEON)
2063#define HAVE_neon_vbslv2si (TARGET_NEON)
2064#define HAVE_neon_vbslv4si (TARGET_NEON)
2065#define HAVE_neon_vbslv2sf (TARGET_NEON)
2066#define HAVE_neon_vbslv4sf (TARGET_NEON)
2067#define HAVE_neon_vbsldi (TARGET_NEON)
2068#define HAVE_neon_vbslv2di (TARGET_NEON)
2069#define HAVE_neon_vtrnv8qi_internal (TARGET_NEON)
2070#define HAVE_neon_vtrnv16qi_internal (TARGET_NEON)
2071#define HAVE_neon_vtrnv4hi_internal (TARGET_NEON)
2072#define HAVE_neon_vtrnv8hi_internal (TARGET_NEON)
2073#define HAVE_neon_vtrnv2si_internal (TARGET_NEON)
2074#define HAVE_neon_vtrnv4si_internal (TARGET_NEON)
2075#define HAVE_neon_vtrnv2sf_internal (TARGET_NEON)
2076#define HAVE_neon_vtrnv4sf_internal (TARGET_NEON)
2077#define HAVE_neon_vtrnv8qi (TARGET_NEON)
2078#define HAVE_neon_vtrnv16qi (TARGET_NEON)
2079#define HAVE_neon_vtrnv4hi (TARGET_NEON)
2080#define HAVE_neon_vtrnv8hi (TARGET_NEON)
2081#define HAVE_neon_vtrnv2si (TARGET_NEON)
2082#define HAVE_neon_vtrnv4si (TARGET_NEON)
2083#define HAVE_neon_vtrnv2sf (TARGET_NEON)
2084#define HAVE_neon_vtrnv4sf (TARGET_NEON)
2085#define HAVE_neon_vzipv8qi_internal (TARGET_NEON)
2086#define HAVE_neon_vzipv16qi_internal (TARGET_NEON)
2087#define HAVE_neon_vzipv4hi_internal (TARGET_NEON)
2088#define HAVE_neon_vzipv8hi_internal (TARGET_NEON)
2089#define HAVE_neon_vzipv2si_internal (TARGET_NEON)
2090#define HAVE_neon_vzipv4si_internal (TARGET_NEON)
2091#define HAVE_neon_vzipv2sf_internal (TARGET_NEON)
2092#define HAVE_neon_vzipv4sf_internal (TARGET_NEON)
2093#define HAVE_neon_vzipv8qi (TARGET_NEON)
2094#define HAVE_neon_vzipv16qi (TARGET_NEON)
2095#define HAVE_neon_vzipv4hi (TARGET_NEON)
2096#define HAVE_neon_vzipv8hi (TARGET_NEON)
2097#define HAVE_neon_vzipv2si (TARGET_NEON)
2098#define HAVE_neon_vzipv4si (TARGET_NEON)
2099#define HAVE_neon_vzipv2sf (TARGET_NEON)
2100#define HAVE_neon_vzipv4sf (TARGET_NEON)
2101#define HAVE_neon_vuzpv8qi_internal (TARGET_NEON)
2102#define HAVE_neon_vuzpv16qi_internal (TARGET_NEON)
2103#define HAVE_neon_vuzpv4hi_internal (TARGET_NEON)
2104#define HAVE_neon_vuzpv8hi_internal (TARGET_NEON)
2105#define HAVE_neon_vuzpv2si_internal (TARGET_NEON)
2106#define HAVE_neon_vuzpv4si_internal (TARGET_NEON)
2107#define HAVE_neon_vuzpv2sf_internal (TARGET_NEON)
2108#define HAVE_neon_vuzpv4sf_internal (TARGET_NEON)
2109#define HAVE_neon_vuzpv8qi (TARGET_NEON)
2110#define HAVE_neon_vuzpv16qi (TARGET_NEON)
2111#define HAVE_neon_vuzpv4hi (TARGET_NEON)
2112#define HAVE_neon_vuzpv8hi (TARGET_NEON)
2113#define HAVE_neon_vuzpv2si (TARGET_NEON)
2114#define HAVE_neon_vuzpv4si (TARGET_NEON)
2115#define HAVE_neon_vuzpv2sf (TARGET_NEON)
2116#define HAVE_neon_vuzpv4sf (TARGET_NEON)
2117#define HAVE_neon_vreinterpretv8qiv8qi (TARGET_NEON)
2118#define HAVE_neon_vreinterpretv8qiv4hi (TARGET_NEON)
2119#define HAVE_neon_vreinterpretv8qiv2si (TARGET_NEON)
2120#define HAVE_neon_vreinterpretv8qiv2sf (TARGET_NEON)
2121#define HAVE_neon_vreinterpretv8qidi (TARGET_NEON)
2122#define HAVE_neon_vreinterpretv4hiv8qi (TARGET_NEON)
2123#define HAVE_neon_vreinterpretv4hiv4hi (TARGET_NEON)
2124#define HAVE_neon_vreinterpretv4hiv2si (TARGET_NEON)
2125#define HAVE_neon_vreinterpretv4hiv2sf (TARGET_NEON)
2126#define HAVE_neon_vreinterpretv4hidi (TARGET_NEON)
2127#define HAVE_neon_vreinterpretv2siv8qi (TARGET_NEON)
2128#define HAVE_neon_vreinterpretv2siv4hi (TARGET_NEON)
2129#define HAVE_neon_vreinterpretv2siv2si (TARGET_NEON)
2130#define HAVE_neon_vreinterpretv2siv2sf (TARGET_NEON)
2131#define HAVE_neon_vreinterpretv2sidi (TARGET_NEON)
2132#define HAVE_neon_vreinterpretv2sfv8qi (TARGET_NEON)
2133#define HAVE_neon_vreinterpretv2sfv4hi (TARGET_NEON)
2134#define HAVE_neon_vreinterpretv2sfv2si (TARGET_NEON)
2135#define HAVE_neon_vreinterpretv2sfv2sf (TARGET_NEON)
2136#define HAVE_neon_vreinterpretv2sfdi (TARGET_NEON)
2137#define HAVE_neon_vreinterpretdiv8qi (TARGET_NEON)
2138#define HAVE_neon_vreinterpretdiv4hi (TARGET_NEON)
2139#define HAVE_neon_vreinterpretdiv2si (TARGET_NEON)
2140#define HAVE_neon_vreinterpretdiv2sf (TARGET_NEON)
2141#define HAVE_neon_vreinterpretdidi (TARGET_NEON)
2142#define HAVE_neon_vreinterpretv16qiv16qi (TARGET_NEON)
2143#define HAVE_neon_vreinterpretv16qiv8hi (TARGET_NEON)
2144#define HAVE_neon_vreinterpretv16qiv4si (TARGET_NEON)
2145#define HAVE_neon_vreinterpretv16qiv4sf (TARGET_NEON)
2146#define HAVE_neon_vreinterpretv16qiv2di (TARGET_NEON)
2147#define HAVE_neon_vreinterpretv8hiv16qi (TARGET_NEON)
2148#define HAVE_neon_vreinterpretv8hiv8hi (TARGET_NEON)
2149#define HAVE_neon_vreinterpretv8hiv4si (TARGET_NEON)
2150#define HAVE_neon_vreinterpretv8hiv4sf (TARGET_NEON)
2151#define HAVE_neon_vreinterpretv8hiv2di (TARGET_NEON)
2152#define HAVE_neon_vreinterpretv4siv16qi (TARGET_NEON)
2153#define HAVE_neon_vreinterpretv4siv8hi (TARGET_NEON)
2154#define HAVE_neon_vreinterpretv4siv4si (TARGET_NEON)
2155#define HAVE_neon_vreinterpretv4siv4sf (TARGET_NEON)
2156#define HAVE_neon_vreinterpretv4siv2di (TARGET_NEON)
2157#define HAVE_neon_vreinterpretv4sfv16qi (TARGET_NEON)
2158#define HAVE_neon_vreinterpretv4sfv8hi (TARGET_NEON)
2159#define HAVE_neon_vreinterpretv4sfv4si (TARGET_NEON)
2160#define HAVE_neon_vreinterpretv4sfv4sf (TARGET_NEON)
2161#define HAVE_neon_vreinterpretv4sfv2di (TARGET_NEON)
2162#define HAVE_neon_vreinterpretv2div16qi (TARGET_NEON)
2163#define HAVE_neon_vreinterpretv2div8hi (TARGET_NEON)
2164#define HAVE_neon_vreinterpretv2div4si (TARGET_NEON)
2165#define HAVE_neon_vreinterpretv2div4sf (TARGET_NEON)
2166#define HAVE_neon_vreinterpretv2div2di (TARGET_NEON)
2167#define HAVE_vec_load_lanesv8qiv8qi (TARGET_NEON)
2168#define HAVE_vec_load_lanesv16qiv16qi (TARGET_NEON)
2169#define HAVE_vec_load_lanesv4hiv4hi (TARGET_NEON)
2170#define HAVE_vec_load_lanesv8hiv8hi (TARGET_NEON)
2171#define HAVE_vec_load_lanesv2siv2si (TARGET_NEON)
2172#define HAVE_vec_load_lanesv4siv4si (TARGET_NEON)
2173#define HAVE_vec_load_lanesv2sfv2sf (TARGET_NEON)
2174#define HAVE_vec_load_lanesv4sfv4sf (TARGET_NEON)
2175#define HAVE_vec_load_lanesdidi (TARGET_NEON)
2176#define HAVE_vec_load_lanesv2div2di (TARGET_NEON)
2177#define HAVE_vec_store_lanesv8qiv8qi (TARGET_NEON)
2178#define HAVE_vec_store_lanesv16qiv16qi (TARGET_NEON)
2179#define HAVE_vec_store_lanesv4hiv4hi (TARGET_NEON)
2180#define HAVE_vec_store_lanesv8hiv8hi (TARGET_NEON)
2181#define HAVE_vec_store_lanesv2siv2si (TARGET_NEON)
2182#define HAVE_vec_store_lanesv4siv4si (TARGET_NEON)
2183#define HAVE_vec_store_lanesv2sfv2sf (TARGET_NEON)
2184#define HAVE_vec_store_lanesv4sfv4sf (TARGET_NEON)
2185#define HAVE_vec_store_lanesdidi (TARGET_NEON)
2186#define HAVE_vec_store_lanesv2div2di (TARGET_NEON)
2187#define HAVE_vec_load_lanestiv8qi (TARGET_NEON)
2188#define HAVE_vec_load_lanestiv4hi (TARGET_NEON)
2189#define HAVE_vec_load_lanestiv2si (TARGET_NEON)
2190#define HAVE_vec_load_lanestiv2sf (TARGET_NEON)
2191#define HAVE_vec_load_lanestidi (TARGET_NEON)
2192#define HAVE_vec_load_lanesoiv16qi (TARGET_NEON)
2193#define HAVE_vec_load_lanesoiv8hi (TARGET_NEON)
2194#define HAVE_vec_load_lanesoiv4si (TARGET_NEON)
2195#define HAVE_vec_load_lanesoiv4sf (TARGET_NEON)
2196#define HAVE_vec_store_lanestiv8qi (TARGET_NEON)
2197#define HAVE_vec_store_lanestiv4hi (TARGET_NEON)
2198#define HAVE_vec_store_lanestiv2si (TARGET_NEON)
2199#define HAVE_vec_store_lanestiv2sf (TARGET_NEON)
2200#define HAVE_vec_store_lanestidi (TARGET_NEON)
2201#define HAVE_vec_store_lanesoiv16qi (TARGET_NEON)
2202#define HAVE_vec_store_lanesoiv8hi (TARGET_NEON)
2203#define HAVE_vec_store_lanesoiv4si (TARGET_NEON)
2204#define HAVE_vec_store_lanesoiv4sf (TARGET_NEON)
2205#define HAVE_vec_load_laneseiv8qi (TARGET_NEON)
2206#define HAVE_vec_load_laneseiv4hi (TARGET_NEON)
2207#define HAVE_vec_load_laneseiv2si (TARGET_NEON)
2208#define HAVE_vec_load_laneseiv2sf (TARGET_NEON)
2209#define HAVE_vec_load_laneseidi (TARGET_NEON)
2210#define HAVE_vec_load_lanesciv16qi (TARGET_NEON)
2211#define HAVE_vec_load_lanesciv8hi (TARGET_NEON)
2212#define HAVE_vec_load_lanesciv4si (TARGET_NEON)
2213#define HAVE_vec_load_lanesciv4sf (TARGET_NEON)
2214#define HAVE_neon_vld3v16qi (TARGET_NEON)
2215#define HAVE_neon_vld3v8hi (TARGET_NEON)
2216#define HAVE_neon_vld3v4si (TARGET_NEON)
2217#define HAVE_neon_vld3v4sf (TARGET_NEON)
2218#define HAVE_vec_store_laneseiv8qi (TARGET_NEON)
2219#define HAVE_vec_store_laneseiv4hi (TARGET_NEON)
2220#define HAVE_vec_store_laneseiv2si (TARGET_NEON)
2221#define HAVE_vec_store_laneseiv2sf (TARGET_NEON)
2222#define HAVE_vec_store_laneseidi (TARGET_NEON)
2223#define HAVE_vec_store_lanesciv16qi (TARGET_NEON)
2224#define HAVE_vec_store_lanesciv8hi (TARGET_NEON)
2225#define HAVE_vec_store_lanesciv4si (TARGET_NEON)
2226#define HAVE_vec_store_lanesciv4sf (TARGET_NEON)
2227#define HAVE_neon_vst3v16qi (TARGET_NEON)
2228#define HAVE_neon_vst3v8hi (TARGET_NEON)
2229#define HAVE_neon_vst3v4si (TARGET_NEON)
2230#define HAVE_neon_vst3v4sf (TARGET_NEON)
2231#define HAVE_vec_load_lanesoiv8qi (TARGET_NEON)
2232#define HAVE_vec_load_lanesoiv4hi (TARGET_NEON)
2233#define HAVE_vec_load_lanesoiv2si (TARGET_NEON)
2234#define HAVE_vec_load_lanesoiv2sf (TARGET_NEON)
2235#define HAVE_vec_load_lanesoidi (TARGET_NEON)
2236#define HAVE_vec_load_lanesxiv16qi (TARGET_NEON)
2237#define HAVE_vec_load_lanesxiv8hi (TARGET_NEON)
2238#define HAVE_vec_load_lanesxiv4si (TARGET_NEON)
2239#define HAVE_vec_load_lanesxiv4sf (TARGET_NEON)
2240#define HAVE_neon_vld4v16qi (TARGET_NEON)
2241#define HAVE_neon_vld4v8hi (TARGET_NEON)
2242#define HAVE_neon_vld4v4si (TARGET_NEON)
2243#define HAVE_neon_vld4v4sf (TARGET_NEON)
2244#define HAVE_vec_store_lanesoiv8qi (TARGET_NEON)
2245#define HAVE_vec_store_lanesoiv4hi (TARGET_NEON)
2246#define HAVE_vec_store_lanesoiv2si (TARGET_NEON)
2247#define HAVE_vec_store_lanesoiv2sf (TARGET_NEON)
2248#define HAVE_vec_store_lanesoidi (TARGET_NEON)
2249#define HAVE_vec_store_lanesxiv16qi (TARGET_NEON)
2250#define HAVE_vec_store_lanesxiv8hi (TARGET_NEON)
2251#define HAVE_vec_store_lanesxiv4si (TARGET_NEON)
2252#define HAVE_vec_store_lanesxiv4sf (TARGET_NEON)
2253#define HAVE_neon_vst4v16qi (TARGET_NEON)
2254#define HAVE_neon_vst4v8hi (TARGET_NEON)
2255#define HAVE_neon_vst4v4si (TARGET_NEON)
2256#define HAVE_neon_vst4v4sf (TARGET_NEON)
2257#define HAVE_neon_vandv8qi (TARGET_NEON)
2258#define HAVE_neon_vandv16qi (TARGET_NEON)
2259#define HAVE_neon_vandv4hi (TARGET_NEON)
2260#define HAVE_neon_vandv8hi (TARGET_NEON)
2261#define HAVE_neon_vandv2si (TARGET_NEON)
2262#define HAVE_neon_vandv4si (TARGET_NEON)
2263#define HAVE_neon_vandv2sf (TARGET_NEON)
2264#define HAVE_neon_vandv4sf (TARGET_NEON)
2265#define HAVE_neon_vanddi (TARGET_NEON)
2266#define HAVE_neon_vandv2di (TARGET_NEON)
2267#define HAVE_neon_vorrv8qi (TARGET_NEON)
2268#define HAVE_neon_vorrv16qi (TARGET_NEON)
2269#define HAVE_neon_vorrv4hi (TARGET_NEON)
2270#define HAVE_neon_vorrv8hi (TARGET_NEON)
2271#define HAVE_neon_vorrv2si (TARGET_NEON)
2272#define HAVE_neon_vorrv4si (TARGET_NEON)
2273#define HAVE_neon_vorrv2sf (TARGET_NEON)
2274#define HAVE_neon_vorrv4sf (TARGET_NEON)
2275#define HAVE_neon_vorrdi (TARGET_NEON)
2276#define HAVE_neon_vorrv2di (TARGET_NEON)
2277#define HAVE_neon_veorv8qi (TARGET_NEON)
2278#define HAVE_neon_veorv16qi (TARGET_NEON)
2279#define HAVE_neon_veorv4hi (TARGET_NEON)
2280#define HAVE_neon_veorv8hi (TARGET_NEON)
2281#define HAVE_neon_veorv2si (TARGET_NEON)
2282#define HAVE_neon_veorv4si (TARGET_NEON)
2283#define HAVE_neon_veorv2sf (TARGET_NEON)
2284#define HAVE_neon_veorv4sf (TARGET_NEON)
2285#define HAVE_neon_veordi (TARGET_NEON)
2286#define HAVE_neon_veorv2di (TARGET_NEON)
2287#define HAVE_neon_vbicv8qi (TARGET_NEON)
2288#define HAVE_neon_vbicv16qi (TARGET_NEON)
2289#define HAVE_neon_vbicv4hi (TARGET_NEON)
2290#define HAVE_neon_vbicv8hi (TARGET_NEON)
2291#define HAVE_neon_vbicv2si (TARGET_NEON)
2292#define HAVE_neon_vbicv4si (TARGET_NEON)
2293#define HAVE_neon_vbicv2sf (TARGET_NEON)
2294#define HAVE_neon_vbicv4sf (TARGET_NEON)
2295#define HAVE_neon_vbicdi (TARGET_NEON)
2296#define HAVE_neon_vbicv2di (TARGET_NEON)
2297#define HAVE_neon_vornv8qi (TARGET_NEON)
2298#define HAVE_neon_vornv16qi (TARGET_NEON)
2299#define HAVE_neon_vornv4hi (TARGET_NEON)
2300#define HAVE_neon_vornv8hi (TARGET_NEON)
2301#define HAVE_neon_vornv2si (TARGET_NEON)
2302#define HAVE_neon_vornv4si (TARGET_NEON)
2303#define HAVE_neon_vornv2sf (TARGET_NEON)
2304#define HAVE_neon_vornv4sf (TARGET_NEON)
2305#define HAVE_neon_vorndi (TARGET_NEON)
2306#define HAVE_neon_vornv2di (TARGET_NEON)
2307#define HAVE_vec_unpacks_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2308#define HAVE_vec_unpacku_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2309#define HAVE_vec_unpacks_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2310#define HAVE_vec_unpacku_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2311#define HAVE_vec_unpacks_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2312#define HAVE_vec_unpacku_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2313#define HAVE_vec_unpacks_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2314#define HAVE_vec_unpacku_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2315#define HAVE_vec_unpacks_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2316#define HAVE_vec_unpacku_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2317#define HAVE_vec_unpacks_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2318#define HAVE_vec_unpacku_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2319#define HAVE_vec_widen_smult_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2320#define HAVE_vec_widen_umult_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2321#define HAVE_vec_widen_smult_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2322#define HAVE_vec_widen_umult_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2323#define HAVE_vec_widen_smult_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2324#define HAVE_vec_widen_umult_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2325#define HAVE_vec_widen_smult_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2326#define HAVE_vec_widen_umult_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2327#define HAVE_vec_widen_smult_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2328#define HAVE_vec_widen_umult_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2329#define HAVE_vec_widen_smult_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2330#define HAVE_vec_widen_umult_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2331#define HAVE_vec_widen_sshiftl_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2332#define HAVE_vec_widen_ushiftl_lo_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2333#define HAVE_vec_widen_sshiftl_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2334#define HAVE_vec_widen_ushiftl_lo_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2335#define HAVE_vec_widen_sshiftl_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2336#define HAVE_vec_widen_ushiftl_lo_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2337#define HAVE_vec_widen_sshiftl_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2338#define HAVE_vec_widen_ushiftl_hi_v16qi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2339#define HAVE_vec_widen_sshiftl_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2340#define HAVE_vec_widen_ushiftl_hi_v8hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2341#define HAVE_vec_widen_sshiftl_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2342#define HAVE_vec_widen_ushiftl_hi_v4si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2343#define HAVE_vec_unpacks_lo_v8qi (TARGET_NEON)
2344#define HAVE_vec_unpacku_lo_v8qi (TARGET_NEON)
2345#define HAVE_vec_unpacks_lo_v4hi (TARGET_NEON)
2346#define HAVE_vec_unpacku_lo_v4hi (TARGET_NEON)
2347#define HAVE_vec_unpacks_lo_v2si (TARGET_NEON)
2348#define HAVE_vec_unpacku_lo_v2si (TARGET_NEON)
2349#define HAVE_vec_unpacks_hi_v8qi (TARGET_NEON)
2350#define HAVE_vec_unpacku_hi_v8qi (TARGET_NEON)
2351#define HAVE_vec_unpacks_hi_v4hi (TARGET_NEON)
2352#define HAVE_vec_unpacku_hi_v4hi (TARGET_NEON)
2353#define HAVE_vec_unpacks_hi_v2si (TARGET_NEON)
2354#define HAVE_vec_unpacku_hi_v2si (TARGET_NEON)
2355#define HAVE_vec_widen_smult_hi_v8qi (TARGET_NEON)
2356#define HAVE_vec_widen_umult_hi_v8qi (TARGET_NEON)
2357#define HAVE_vec_widen_smult_hi_v4hi (TARGET_NEON)
2358#define HAVE_vec_widen_umult_hi_v4hi (TARGET_NEON)
2359#define HAVE_vec_widen_smult_hi_v2si (TARGET_NEON)
2360#define HAVE_vec_widen_umult_hi_v2si (TARGET_NEON)
2361#define HAVE_vec_widen_smult_lo_v8qi (TARGET_NEON)
2362#define HAVE_vec_widen_umult_lo_v8qi (TARGET_NEON)
2363#define HAVE_vec_widen_smult_lo_v4hi (TARGET_NEON)
2364#define HAVE_vec_widen_umult_lo_v4hi (TARGET_NEON)
2365#define HAVE_vec_widen_smult_lo_v2si (TARGET_NEON)
2366#define HAVE_vec_widen_umult_lo_v2si (TARGET_NEON)
2367#define HAVE_vec_widen_sshiftl_hi_v8qi (TARGET_NEON)
2368#define HAVE_vec_widen_ushiftl_hi_v8qi (TARGET_NEON)
2369#define HAVE_vec_widen_sshiftl_hi_v4hi (TARGET_NEON)
2370#define HAVE_vec_widen_ushiftl_hi_v4hi (TARGET_NEON)
2371#define HAVE_vec_widen_sshiftl_hi_v2si (TARGET_NEON)
2372#define HAVE_vec_widen_ushiftl_hi_v2si (TARGET_NEON)
2373#define HAVE_vec_widen_sshiftl_lo_v8qi (TARGET_NEON)
2374#define HAVE_vec_widen_ushiftl_lo_v8qi (TARGET_NEON)
2375#define HAVE_vec_widen_sshiftl_lo_v4hi (TARGET_NEON)
2376#define HAVE_vec_widen_ushiftl_lo_v4hi (TARGET_NEON)
2377#define HAVE_vec_widen_sshiftl_lo_v2si (TARGET_NEON)
2378#define HAVE_vec_widen_ushiftl_lo_v2si (TARGET_NEON)
2379#define HAVE_vec_pack_trunc_v4hi (TARGET_NEON && !BYTES_BIG_ENDIAN)
2380#define HAVE_vec_pack_trunc_v2si (TARGET_NEON && !BYTES_BIG_ENDIAN)
2381#define HAVE_vec_pack_trunc_di (TARGET_NEON && !BYTES_BIG_ENDIAN)
2382#define HAVE_memory_barrier (TARGET_HAVE_MEMORY_BARRIER)
2383#define HAVE_atomic_loaddi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN)
2384#define HAVE_atomic_compare_and_swapqi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
2385#define HAVE_atomic_compare_and_swaphi (TARGET_HAVE_LDREXBH && TARGET_HAVE_MEMORY_BARRIER)
2386#define HAVE_atomic_compare_and_swapsi (TARGET_HAVE_LDREX && TARGET_HAVE_MEMORY_BARRIER)
2387#define HAVE_atomic_compare_and_swapdi (TARGET_HAVE_LDREXD && ARM_DOUBLEWORD_ALIGN \
2388	&& TARGET_HAVE_MEMORY_BARRIER)
2389#define HAVE_mulqq3 (TARGET_DSP_MULTIPLY && arm_arch_thumb2)
2390#define HAVE_mulhq3 (TARGET_DSP_MULTIPLY && arm_arch_thumb2)
2391#define HAVE_mulsq3 (TARGET_32BIT && arm_arch3m)
2392#define HAVE_mulsa3 (TARGET_32BIT && arm_arch3m)
2393#define HAVE_mulusa3 (TARGET_32BIT && arm_arch3m)
2394#define HAVE_mulha3 (TARGET_DSP_MULTIPLY && arm_arch_thumb2)
2395#define HAVE_muluha3 (TARGET_DSP_MULTIPLY)
2396#define HAVE_ssmulha3 (TARGET_32BIT && TARGET_DSP_MULTIPLY && arm_arch6)
2397#define HAVE_usmuluha3 (TARGET_INT_SIMD)
2398extern rtx        gen_addsi3_compare0                   (rtx, rtx, rtx);
2399extern rtx        gen_thumb1_subsi3_insn                (rtx, rtx, rtx);
2400extern rtx        gen_mulhisi3                          (rtx, rtx, rtx);
2401extern rtx        gen_maddhisi4                         (rtx, rtx, rtx, rtx);
2402extern rtx        gen_maddhidi4                         (rtx, rtx, rtx, rtx);
2403extern rtx        gen_insv_zero                         (rtx, rtx, rtx);
2404extern rtx        gen_insv_t2                           (rtx, rtx, rtx, rtx);
2405extern rtx        gen_andsi_notsi_si                    (rtx, rtx, rtx);
2406extern rtx        gen_thumb1_bicsi3                     (rtx, rtx, rtx);
2407extern rtx        gen_andsi_not_shiftsi_si              (rtx, rtx, rtx, rtx, rtx);
2408extern rtx        gen_arm_ashldi3_1bit                  (rtx, rtx);
2409extern rtx        gen_arm_ashrdi3_1bit                  (rtx, rtx);
2410extern rtx        gen_arm_lshrdi3_1bit                  (rtx, rtx);
2411extern rtx        gen_unaligned_loadsi                  (rtx, rtx);
2412extern rtx        gen_unaligned_loadhis                 (rtx, rtx);
2413extern rtx        gen_unaligned_loadhiu                 (rtx, rtx);
2414extern rtx        gen_unaligned_storesi                 (rtx, rtx);
2415extern rtx        gen_unaligned_storehi                 (rtx, rtx);
2416extern rtx        gen_extzv_t2                          (rtx, rtx, rtx, rtx);
2417extern rtx        gen_divsi3                            (rtx, rtx, rtx);
2418extern rtx        gen_udivsi3                           (rtx, rtx, rtx);
2419extern rtx        gen_one_cmpldi2                       (rtx, rtx);
2420extern rtx        gen_zero_extendqidi2                  (rtx, rtx);
2421extern rtx        gen_zero_extendhidi2                  (rtx, rtx);
2422extern rtx        gen_zero_extendsidi2                  (rtx, rtx);
2423extern rtx        gen_extendqidi2                       (rtx, rtx);
2424extern rtx        gen_extendhidi2                       (rtx, rtx);
2425extern rtx        gen_extendsidi2                       (rtx, rtx);
2426extern rtx        gen_thumb1_extendhisi2                (rtx, rtx);
2427extern rtx        gen_thumb1_extendqisi2                (rtx, rtx);
2428extern rtx        gen_pic_load_addr_unified             (rtx, rtx, rtx);
2429extern rtx        gen_pic_load_addr_32bit               (rtx, rtx);
2430extern rtx        gen_pic_load_addr_thumb1              (rtx, rtx);
2431extern rtx        gen_pic_add_dot_plus_four             (rtx, rtx, rtx);
2432extern rtx        gen_pic_add_dot_plus_eight            (rtx, rtx, rtx);
2433extern rtx        gen_tls_load_dot_plus_eight           (rtx, rtx, rtx);
2434static inline rtx gen_pic_offset_arm                    (rtx, rtx, rtx);
2435static inline rtx
2436gen_pic_offset_arm(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
2437{
2438  return 0;
2439}
2440extern rtx        gen_movmem12b                         (rtx, rtx, rtx, rtx);
2441extern rtx        gen_movmem8b                          (rtx, rtx, rtx, rtx);
2442extern rtx        gen_cbranchsi4_insn                   (rtx, rtx, rtx, rtx);
2443extern rtx        gen_cbranchsi4_scratch                (rtx, rtx, rtx, rtx, rtx);
2444extern rtx        gen_arm_cond_branch                   (rtx, rtx, rtx);
2445extern rtx        gen_cstoresi_nltu_thumb1              (rtx, rtx, rtx);
2446extern rtx        gen_cstoresi_ltu_thumb1               (rtx, rtx, rtx);
2447extern rtx        gen_thumb1_addsi3_addgeu              (rtx, rtx, rtx, rtx, rtx);
2448extern rtx        gen_blockage                          (void);
2449extern rtx        gen_arm_casesi_internal               (rtx, rtx, rtx, rtx);
2450extern rtx        gen_thumb1_casesi_dispatch            (rtx);
2451extern rtx        gen_nop                               (void);
2452extern rtx        gen_movcond                           (rtx, rtx, rtx, rtx, rtx, rtx);
2453extern rtx        gen_prologue_thumb1_interwork         (void);
2454extern rtx        gen_stack_tie                         (rtx, rtx);
2455extern rtx        gen_align_4                           (void);
2456extern rtx        gen_align_8                           (void);
2457extern rtx        gen_consttable_end                    (void);
2458extern rtx        gen_consttable_1                      (rtx);
2459extern rtx        gen_consttable_2                      (rtx);
2460extern rtx        gen_consttable_4                      (rtx);
2461extern rtx        gen_consttable_8                      (rtx);
2462extern rtx        gen_consttable_16                     (rtx);
2463extern rtx        gen_clzsi2                            (rtx, rtx);
2464extern rtx        gen_rbitsi2                           (rtx, rtx);
2465extern rtx        gen_prefetch                          (rtx, rtx, rtx);
2466extern rtx        gen_force_register_use                (rtx);
2467extern rtx        gen_arm_eh_return                     (rtx);
2468extern rtx        gen_thumb_eh_return                   (rtx);
2469extern rtx        gen_load_tp_hard                      (rtx);
2470extern rtx        gen_load_tp_soft                      (void);
2471extern rtx        gen_tlscall                           (rtx, rtx);
2472extern rtx        gen_tbcstv8qi                         (rtx, rtx);
2473extern rtx        gen_tbcstv4hi                         (rtx, rtx);
2474extern rtx        gen_tbcstv2si                         (rtx, rtx);
2475extern rtx        gen_iwmmxt_iordi3                     (rtx, rtx, rtx);
2476extern rtx        gen_iwmmxt_xordi3                     (rtx, rtx, rtx);
2477extern rtx        gen_iwmmxt_anddi3                     (rtx, rtx, rtx);
2478extern rtx        gen_iwmmxt_nanddi3                    (rtx, rtx, rtx);
2479extern rtx        gen_movv2si_internal                  (rtx, rtx);
2480extern rtx        gen_movv4hi_internal                  (rtx, rtx);
2481extern rtx        gen_movv8qi_internal                  (rtx, rtx);
2482extern rtx        gen_ssaddv8qi3                        (rtx, rtx, rtx);
2483extern rtx        gen_ssaddv4hi3                        (rtx, rtx, rtx);
2484extern rtx        gen_ssaddv2si3                        (rtx, rtx, rtx);
2485extern rtx        gen_usaddv8qi3                        (rtx, rtx, rtx);
2486extern rtx        gen_usaddv4hi3                        (rtx, rtx, rtx);
2487extern rtx        gen_usaddv2si3                        (rtx, rtx, rtx);
2488extern rtx        gen_sssubv8qi3                        (rtx, rtx, rtx);
2489extern rtx        gen_sssubv4hi3                        (rtx, rtx, rtx);
2490extern rtx        gen_sssubv2si3                        (rtx, rtx, rtx);
2491extern rtx        gen_ussubv8qi3                        (rtx, rtx, rtx);
2492extern rtx        gen_ussubv4hi3                        (rtx, rtx, rtx);
2493extern rtx        gen_ussubv2si3                        (rtx, rtx, rtx);
2494extern rtx        gen_smulv4hi3_highpart                (rtx, rtx, rtx);
2495extern rtx        gen_umulv4hi3_highpart                (rtx, rtx, rtx);
2496extern rtx        gen_iwmmxt_wmacs                      (rtx, rtx, rtx, rtx);
2497extern rtx        gen_iwmmxt_wmacsz                     (rtx, rtx, rtx);
2498extern rtx        gen_iwmmxt_wmacu                      (rtx, rtx, rtx, rtx);
2499extern rtx        gen_iwmmxt_wmacuz                     (rtx, rtx, rtx);
2500extern rtx        gen_iwmmxt_clrdi                      (rtx);
2501extern rtx        gen_iwmmxt_clrv8qi                    (rtx);
2502extern rtx        gen_iwmmxt_clrv4hi                    (rtx);
2503extern rtx        gen_iwmmxt_clrv2si                    (rtx);
2504extern rtx        gen_iwmmxt_uavgrndv8qi3               (rtx, rtx, rtx);
2505extern rtx        gen_iwmmxt_uavgrndv4hi3               (rtx, rtx, rtx);
2506extern rtx        gen_iwmmxt_uavgv8qi3                  (rtx, rtx, rtx);
2507extern rtx        gen_iwmmxt_uavgv4hi3                  (rtx, rtx, rtx);
2508extern rtx        gen_iwmmxt_tinsrb                     (rtx, rtx, rtx, rtx);
2509extern rtx        gen_iwmmxt_tinsrh                     (rtx, rtx, rtx, rtx);
2510extern rtx        gen_iwmmxt_tinsrw                     (rtx, rtx, rtx, rtx);
2511extern rtx        gen_iwmmxt_textrmub                   (rtx, rtx, rtx);
2512extern rtx        gen_iwmmxt_textrmsb                   (rtx, rtx, rtx);
2513extern rtx        gen_iwmmxt_textrmuh                   (rtx, rtx, rtx);
2514extern rtx        gen_iwmmxt_textrmsh                   (rtx, rtx, rtx);
2515extern rtx        gen_iwmmxt_textrmw                    (rtx, rtx, rtx);
2516extern rtx        gen_iwmmxt_wshufh                     (rtx, rtx, rtx);
2517extern rtx        gen_eqv8qi3                           (rtx, rtx, rtx);
2518extern rtx        gen_eqv4hi3                           (rtx, rtx, rtx);
2519extern rtx        gen_eqv2si3                           (rtx, rtx, rtx);
2520extern rtx        gen_gtuv8qi3                          (rtx, rtx, rtx);
2521extern rtx        gen_gtuv4hi3                          (rtx, rtx, rtx);
2522extern rtx        gen_gtuv2si3                          (rtx, rtx, rtx);
2523extern rtx        gen_gtv8qi3                           (rtx, rtx, rtx);
2524extern rtx        gen_gtv4hi3                           (rtx, rtx, rtx);
2525extern rtx        gen_gtv2si3                           (rtx, rtx, rtx);
2526extern rtx        gen_iwmmxt_wpackhss                   (rtx, rtx, rtx);
2527extern rtx        gen_iwmmxt_wpackwss                   (rtx, rtx, rtx);
2528extern rtx        gen_iwmmxt_wpackdss                   (rtx, rtx, rtx);
2529extern rtx        gen_iwmmxt_wpackhus                   (rtx, rtx, rtx);
2530extern rtx        gen_iwmmxt_wpackwus                   (rtx, rtx, rtx);
2531extern rtx        gen_iwmmxt_wpackdus                   (rtx, rtx, rtx);
2532extern rtx        gen_iwmmxt_wunpckihb                  (rtx, rtx, rtx);
2533extern rtx        gen_iwmmxt_wunpckihh                  (rtx, rtx, rtx);
2534extern rtx        gen_iwmmxt_wunpckihw                  (rtx, rtx, rtx);
2535extern rtx        gen_iwmmxt_wunpckilb                  (rtx, rtx, rtx);
2536extern rtx        gen_iwmmxt_wunpckilh                  (rtx, rtx, rtx);
2537extern rtx        gen_iwmmxt_wunpckilw                  (rtx, rtx, rtx);
2538extern rtx        gen_iwmmxt_wunpckehub                 (rtx, rtx);
2539extern rtx        gen_iwmmxt_wunpckehuh                 (rtx, rtx);
2540extern rtx        gen_iwmmxt_wunpckehuw                 (rtx, rtx);
2541extern rtx        gen_iwmmxt_wunpckehsb                 (rtx, rtx);
2542extern rtx        gen_iwmmxt_wunpckehsh                 (rtx, rtx);
2543extern rtx        gen_iwmmxt_wunpckehsw                 (rtx, rtx);
2544extern rtx        gen_iwmmxt_wunpckelub                 (rtx, rtx);
2545extern rtx        gen_iwmmxt_wunpckeluh                 (rtx, rtx);
2546extern rtx        gen_iwmmxt_wunpckeluw                 (rtx, rtx);
2547extern rtx        gen_iwmmxt_wunpckelsb                 (rtx, rtx);
2548extern rtx        gen_iwmmxt_wunpckelsh                 (rtx, rtx);
2549extern rtx        gen_iwmmxt_wunpckelsw                 (rtx, rtx);
2550extern rtx        gen_rorv4hi3                          (rtx, rtx, rtx);
2551extern rtx        gen_rorv2si3                          (rtx, rtx, rtx);
2552extern rtx        gen_rordi3                            (rtx, rtx, rtx);
2553extern rtx        gen_ashrv4hi3_iwmmxt                  (rtx, rtx, rtx);
2554extern rtx        gen_ashrv2si3_iwmmxt                  (rtx, rtx, rtx);
2555extern rtx        gen_ashrdi3_iwmmxt                    (rtx, rtx, rtx);
2556extern rtx        gen_lshrv4hi3_iwmmxt                  (rtx, rtx, rtx);
2557extern rtx        gen_lshrv2si3_iwmmxt                  (rtx, rtx, rtx);
2558extern rtx        gen_lshrdi3_iwmmxt                    (rtx, rtx, rtx);
2559extern rtx        gen_ashlv4hi3_iwmmxt                  (rtx, rtx, rtx);
2560extern rtx        gen_ashlv2si3_iwmmxt                  (rtx, rtx, rtx);
2561extern rtx        gen_ashldi3_iwmmxt                    (rtx, rtx, rtx);
2562extern rtx        gen_rorv4hi3_di                       (rtx, rtx, rtx);
2563extern rtx        gen_rorv2si3_di                       (rtx, rtx, rtx);
2564extern rtx        gen_rordi3_di                         (rtx, rtx, rtx);
2565extern rtx        gen_ashrv4hi3_di                      (rtx, rtx, rtx);
2566extern rtx        gen_ashrv2si3_di                      (rtx, rtx, rtx);
2567extern rtx        gen_ashrdi3_di                        (rtx, rtx, rtx);
2568extern rtx        gen_lshrv4hi3_di                      (rtx, rtx, rtx);
2569extern rtx        gen_lshrv2si3_di                      (rtx, rtx, rtx);
2570extern rtx        gen_lshrdi3_di                        (rtx, rtx, rtx);
2571extern rtx        gen_ashlv4hi3_di                      (rtx, rtx, rtx);
2572extern rtx        gen_ashlv2si3_di                      (rtx, rtx, rtx);
2573extern rtx        gen_ashldi3_di                        (rtx, rtx, rtx);
2574extern rtx        gen_iwmmxt_wmadds                     (rtx, rtx, rtx);
2575extern rtx        gen_iwmmxt_wmaddu                     (rtx, rtx, rtx);
2576extern rtx        gen_iwmmxt_tmia                       (rtx, rtx, rtx, rtx);
2577extern rtx        gen_iwmmxt_tmiaph                     (rtx, rtx, rtx, rtx);
2578extern rtx        gen_iwmmxt_tmiabb                     (rtx, rtx, rtx, rtx);
2579extern rtx        gen_iwmmxt_tmiatb                     (rtx, rtx, rtx, rtx);
2580extern rtx        gen_iwmmxt_tmiabt                     (rtx, rtx, rtx, rtx);
2581extern rtx        gen_iwmmxt_tmiatt                     (rtx, rtx, rtx, rtx);
2582extern rtx        gen_iwmmxt_tmovmskb                   (rtx, rtx);
2583extern rtx        gen_iwmmxt_tmovmskh                   (rtx, rtx);
2584extern rtx        gen_iwmmxt_tmovmskw                   (rtx, rtx);
2585extern rtx        gen_iwmmxt_waccb                      (rtx, rtx);
2586extern rtx        gen_iwmmxt_wacch                      (rtx, rtx);
2587extern rtx        gen_iwmmxt_waccw                      (rtx, rtx);
2588extern rtx        gen_iwmmxt_waligni                    (rtx, rtx, rtx, rtx);
2589extern rtx        gen_iwmmxt_walignr                    (rtx, rtx, rtx, rtx);
2590extern rtx        gen_iwmmxt_walignr0                   (rtx, rtx, rtx);
2591extern rtx        gen_iwmmxt_walignr1                   (rtx, rtx, rtx);
2592extern rtx        gen_iwmmxt_walignr2                   (rtx, rtx, rtx);
2593extern rtx        gen_iwmmxt_walignr3                   (rtx, rtx, rtx);
2594extern rtx        gen_iwmmxt_wsadb                      (rtx, rtx, rtx, rtx);
2595extern rtx        gen_iwmmxt_wsadh                      (rtx, rtx, rtx, rtx);
2596extern rtx        gen_iwmmxt_wsadbz                     (rtx, rtx, rtx);
2597extern rtx        gen_iwmmxt_wsadhz                     (rtx, rtx, rtx);
2598extern rtx        gen_iwmmxt_wabsv2si3                  (rtx, rtx);
2599extern rtx        gen_iwmmxt_wabsv4hi3                  (rtx, rtx);
2600extern rtx        gen_iwmmxt_wabsv8qi3                  (rtx, rtx);
2601extern rtx        gen_iwmmxt_wabsdiffb                  (rtx, rtx, rtx);
2602extern rtx        gen_iwmmxt_wabsdiffh                  (rtx, rtx, rtx);
2603extern rtx        gen_iwmmxt_wabsdiffw                  (rtx, rtx, rtx);
2604extern rtx        gen_iwmmxt_waddsubhx                  (rtx, rtx, rtx);
2605extern rtx        gen_iwmmxt_wsubaddhx                  (rtx, rtx, rtx);
2606extern rtx        gen_addcv4hi3                         (rtx, rtx, rtx);
2607extern rtx        gen_addcv2si3                         (rtx, rtx, rtx);
2608extern rtx        gen_iwmmxt_avg4                       (rtx, rtx, rtx);
2609extern rtx        gen_iwmmxt_avg4r                      (rtx, rtx, rtx);
2610extern rtx        gen_iwmmxt_wmaddsx                    (rtx, rtx, rtx);
2611extern rtx        gen_iwmmxt_wmaddux                    (rtx, rtx, rtx);
2612extern rtx        gen_iwmmxt_wmaddsn                    (rtx, rtx, rtx);
2613extern rtx        gen_iwmmxt_wmaddun                    (rtx, rtx, rtx);
2614extern rtx        gen_iwmmxt_wmulwsm                    (rtx, rtx, rtx);
2615extern rtx        gen_iwmmxt_wmulwum                    (rtx, rtx, rtx);
2616extern rtx        gen_iwmmxt_wmulsmr                    (rtx, rtx, rtx);
2617extern rtx        gen_iwmmxt_wmulumr                    (rtx, rtx, rtx);
2618extern rtx        gen_iwmmxt_wmulwsmr                   (rtx, rtx, rtx);
2619extern rtx        gen_iwmmxt_wmulwumr                   (rtx, rtx, rtx);
2620extern rtx        gen_iwmmxt_wmulwl                     (rtx, rtx, rtx);
2621extern rtx        gen_iwmmxt_wqmulm                     (rtx, rtx, rtx);
2622extern rtx        gen_iwmmxt_wqmulwm                    (rtx, rtx, rtx);
2623extern rtx        gen_iwmmxt_wqmulmr                    (rtx, rtx, rtx);
2624extern rtx        gen_iwmmxt_wqmulwmr                   (rtx, rtx, rtx);
2625extern rtx        gen_iwmmxt_waddbhusm                  (rtx, rtx, rtx);
2626extern rtx        gen_iwmmxt_waddbhusl                  (rtx, rtx, rtx);
2627extern rtx        gen_iwmmxt_wqmiabb                    (rtx, rtx, rtx, rtx);
2628extern rtx        gen_iwmmxt_wqmiabt                    (rtx, rtx, rtx, rtx);
2629extern rtx        gen_iwmmxt_wqmiatb                    (rtx, rtx, rtx, rtx);
2630extern rtx        gen_iwmmxt_wqmiatt                    (rtx, rtx, rtx, rtx);
2631extern rtx        gen_iwmmxt_wqmiabbn                   (rtx, rtx, rtx, rtx);
2632extern rtx        gen_iwmmxt_wqmiabtn                   (rtx, rtx, rtx, rtx);
2633extern rtx        gen_iwmmxt_wqmiatbn                   (rtx, rtx, rtx, rtx);
2634extern rtx        gen_iwmmxt_wqmiattn                   (rtx, rtx, rtx, rtx);
2635extern rtx        gen_iwmmxt_wmiabb                     (rtx, rtx, rtx, rtx);
2636extern rtx        gen_iwmmxt_wmiabt                     (rtx, rtx, rtx, rtx);
2637extern rtx        gen_iwmmxt_wmiatb                     (rtx, rtx, rtx, rtx);
2638extern rtx        gen_iwmmxt_wmiatt                     (rtx, rtx, rtx, rtx);
2639extern rtx        gen_iwmmxt_wmiabbn                    (rtx, rtx, rtx, rtx);
2640extern rtx        gen_iwmmxt_wmiabtn                    (rtx, rtx, rtx, rtx);
2641extern rtx        gen_iwmmxt_wmiatbn                    (rtx, rtx, rtx, rtx);
2642extern rtx        gen_iwmmxt_wmiattn                    (rtx, rtx, rtx, rtx);
2643extern rtx        gen_iwmmxt_wmiawbb                    (rtx, rtx, rtx, rtx);
2644extern rtx        gen_iwmmxt_wmiawbt                    (rtx, rtx, rtx, rtx);
2645extern rtx        gen_iwmmxt_wmiawtb                    (rtx, rtx, rtx, rtx);
2646extern rtx        gen_iwmmxt_wmiawtt                    (rtx, rtx, rtx, rtx);
2647extern rtx        gen_iwmmxt_wmiawbbn                   (rtx, rtx, rtx, rtx);
2648extern rtx        gen_iwmmxt_wmiawbtn                   (rtx, rtx, rtx, rtx);
2649extern rtx        gen_iwmmxt_wmiawtbn                   (rtx, rtx, rtx, rtx);
2650extern rtx        gen_iwmmxt_wmiawttn                   (rtx, rtx, rtx, rtx);
2651extern rtx        gen_iwmmxt_wmerge                     (rtx, rtx, rtx, rtx);
2652extern rtx        gen_iwmmxt_tandcv2si3                 (void);
2653extern rtx        gen_iwmmxt_tandcv4hi3                 (void);
2654extern rtx        gen_iwmmxt_tandcv8qi3                 (void);
2655extern rtx        gen_iwmmxt_torcv2si3                  (void);
2656extern rtx        gen_iwmmxt_torcv4hi3                  (void);
2657extern rtx        gen_iwmmxt_torcv8qi3                  (void);
2658extern rtx        gen_iwmmxt_torvscv2si3                (void);
2659extern rtx        gen_iwmmxt_torvscv4hi3                (void);
2660extern rtx        gen_iwmmxt_torvscv8qi3                (void);
2661extern rtx        gen_iwmmxt_textrcv2si3                (rtx);
2662extern rtx        gen_iwmmxt_textrcv4hi3                (rtx);
2663extern rtx        gen_iwmmxt_textrcv8qi3                (rtx);
2664extern rtx        gen_fmasf4                            (rtx, rtx, rtx, rtx);
2665extern rtx        gen_fmadf4                            (rtx, rtx, rtx, rtx);
2666extern rtx        gen_extendhfsf2                       (rtx, rtx);
2667extern rtx        gen_truncsfhf2                        (rtx, rtx);
2668extern rtx        gen_fixuns_truncsfsi2                 (rtx, rtx);
2669extern rtx        gen_fixuns_truncdfsi2                 (rtx, rtx);
2670extern rtx        gen_floatunssisf2                     (rtx, rtx);
2671extern rtx        gen_floatunssidf2                     (rtx, rtx);
2672extern rtx        gen_btruncsf2                         (rtx, rtx);
2673extern rtx        gen_ceilsf2                           (rtx, rtx);
2674extern rtx        gen_floorsf2                          (rtx, rtx);
2675extern rtx        gen_nearbyintsf2                      (rtx, rtx);
2676extern rtx        gen_rintsf2                           (rtx, rtx);
2677extern rtx        gen_roundsf2                          (rtx, rtx);
2678extern rtx        gen_btruncdf2                         (rtx, rtx);
2679extern rtx        gen_ceildf2                           (rtx, rtx);
2680extern rtx        gen_floordf2                          (rtx, rtx);
2681extern rtx        gen_nearbyintdf2                      (rtx, rtx);
2682extern rtx        gen_rintdf2                           (rtx, rtx);
2683extern rtx        gen_rounddf2                          (rtx, rtx);
2684extern rtx        gen_smaxsf3                           (rtx, rtx, rtx);
2685extern rtx        gen_smaxdf3                           (rtx, rtx, rtx);
2686extern rtx        gen_sminsf3                           (rtx, rtx, rtx);
2687extern rtx        gen_smindf3                           (rtx, rtx, rtx);
2688extern rtx        gen_tls_load_dot_plus_four            (rtx, rtx, rtx, rtx);
2689extern rtx        gen_thumb2_zero_extendqisi2_v6        (rtx, rtx);
2690extern rtx        gen_thumb2_casesi_internal            (rtx, rtx, rtx, rtx);
2691extern rtx        gen_thumb2_casesi_internal_pic        (rtx, rtx, rtx, rtx);
2692extern rtx        gen_thumb2_eh_return                  (rtx);
2693extern rtx        gen_thumb2_addsi3_compare0            (rtx, rtx, rtx);
2694extern rtx        gen_vec_setv8qi_internal              (rtx, rtx, rtx, rtx);
2695extern rtx        gen_vec_setv4hi_internal              (rtx, rtx, rtx, rtx);
2696extern rtx        gen_vec_setv2si_internal              (rtx, rtx, rtx, rtx);
2697extern rtx        gen_vec_setv2sf_internal              (rtx, rtx, rtx, rtx);
2698extern rtx        gen_vec_setv16qi_internal             (rtx, rtx, rtx, rtx);
2699extern rtx        gen_vec_setv8hi_internal              (rtx, rtx, rtx, rtx);
2700extern rtx        gen_vec_setv4si_internal              (rtx, rtx, rtx, rtx);
2701extern rtx        gen_vec_setv4sf_internal              (rtx, rtx, rtx, rtx);
2702extern rtx        gen_vec_setv2di_internal              (rtx, rtx, rtx, rtx);
2703extern rtx        gen_vec_extractv8qi                   (rtx, rtx, rtx);
2704extern rtx        gen_vec_extractv4hi                   (rtx, rtx, rtx);
2705extern rtx        gen_vec_extractv2si                   (rtx, rtx, rtx);
2706extern rtx        gen_vec_extractv2sf                   (rtx, rtx, rtx);
2707extern rtx        gen_vec_extractv16qi                  (rtx, rtx, rtx);
2708extern rtx        gen_vec_extractv8hi                   (rtx, rtx, rtx);
2709extern rtx        gen_vec_extractv4si                   (rtx, rtx, rtx);
2710extern rtx        gen_vec_extractv4sf                   (rtx, rtx, rtx);
2711extern rtx        gen_vec_extractv2di                   (rtx, rtx, rtx);
2712extern rtx        gen_adddi3_neon                       (rtx, rtx, rtx);
2713extern rtx        gen_subdi3_neon                       (rtx, rtx, rtx);
2714extern rtx        gen_mulv8qi3addv8qi_neon              (rtx, rtx, rtx, rtx);
2715extern rtx        gen_mulv16qi3addv16qi_neon            (rtx, rtx, rtx, rtx);
2716extern rtx        gen_mulv4hi3addv4hi_neon              (rtx, rtx, rtx, rtx);
2717extern rtx        gen_mulv8hi3addv8hi_neon              (rtx, rtx, rtx, rtx);
2718extern rtx        gen_mulv2si3addv2si_neon              (rtx, rtx, rtx, rtx);
2719extern rtx        gen_mulv4si3addv4si_neon              (rtx, rtx, rtx, rtx);
2720extern rtx        gen_mulv2sf3addv2sf_neon              (rtx, rtx, rtx, rtx);
2721extern rtx        gen_mulv4sf3addv4sf_neon              (rtx, rtx, rtx, rtx);
2722extern rtx        gen_mulv2di3addv2di_neon              (rtx, rtx, rtx, rtx);
2723extern rtx        gen_mulv8qi3negv8qiaddv8qi_neon       (rtx, rtx, rtx, rtx);
2724extern rtx        gen_mulv16qi3negv16qiaddv16qi_neon    (rtx, rtx, rtx, rtx);
2725extern rtx        gen_mulv4hi3negv4hiaddv4hi_neon       (rtx, rtx, rtx, rtx);
2726extern rtx        gen_mulv8hi3negv8hiaddv8hi_neon       (rtx, rtx, rtx, rtx);
2727extern rtx        gen_mulv2si3negv2siaddv2si_neon       (rtx, rtx, rtx, rtx);
2728extern rtx        gen_mulv4si3negv4siaddv4si_neon       (rtx, rtx, rtx, rtx);
2729extern rtx        gen_mulv2sf3negv2sfaddv2sf_neon       (rtx, rtx, rtx, rtx);
2730extern rtx        gen_mulv4sf3negv4sfaddv4sf_neon       (rtx, rtx, rtx, rtx);
2731extern rtx        gen_mulv2di3negv2diaddv2di_neon       (rtx, rtx, rtx, rtx);
2732extern rtx        gen_fmav2sf4                          (rtx, rtx, rtx, rtx);
2733extern rtx        gen_fmav4sf4                          (rtx, rtx, rtx, rtx);
2734extern rtx        gen_fmav2sf4_intrinsic                (rtx, rtx, rtx, rtx);
2735extern rtx        gen_fmav4sf4_intrinsic                (rtx, rtx, rtx, rtx);
2736extern rtx        gen_fmsubv2sf4_intrinsic              (rtx, rtx, rtx, rtx);
2737extern rtx        gen_fmsubv4sf4_intrinsic              (rtx, rtx, rtx, rtx);
2738extern rtx        gen_neon_vrintpv2sf                   (rtx, rtx);
2739extern rtx        gen_neon_vrintzv2sf                   (rtx, rtx);
2740extern rtx        gen_neon_vrintmv2sf                   (rtx, rtx);
2741extern rtx        gen_neon_vrintxv2sf                   (rtx, rtx);
2742extern rtx        gen_neon_vrintav2sf                   (rtx, rtx);
2743extern rtx        gen_neon_vrintnv2sf                   (rtx, rtx);
2744extern rtx        gen_neon_vrintpv4sf                   (rtx, rtx);
2745extern rtx        gen_neon_vrintzv4sf                   (rtx, rtx);
2746extern rtx        gen_neon_vrintmv4sf                   (rtx, rtx);
2747extern rtx        gen_neon_vrintxv4sf                   (rtx, rtx);
2748extern rtx        gen_neon_vrintav4sf                   (rtx, rtx);
2749extern rtx        gen_neon_vrintnv4sf                   (rtx, rtx);
2750extern rtx        gen_iorv8qi3                          (rtx, rtx, rtx);
2751extern rtx        gen_iorv16qi3                         (rtx, rtx, rtx);
2752extern rtx        gen_iorv4hi3                          (rtx, rtx, rtx);
2753extern rtx        gen_iorv8hi3                          (rtx, rtx, rtx);
2754extern rtx        gen_iorv2si3                          (rtx, rtx, rtx);
2755extern rtx        gen_iorv4si3                          (rtx, rtx, rtx);
2756extern rtx        gen_iorv2sf3                          (rtx, rtx, rtx);
2757extern rtx        gen_iorv4sf3                          (rtx, rtx, rtx);
2758extern rtx        gen_iorv2di3                          (rtx, rtx, rtx);
2759extern rtx        gen_iordi3_neon                       (rtx, rtx, rtx);
2760extern rtx        gen_andv8qi3                          (rtx, rtx, rtx);
2761extern rtx        gen_andv16qi3                         (rtx, rtx, rtx);
2762extern rtx        gen_andv4hi3                          (rtx, rtx, rtx);
2763extern rtx        gen_andv8hi3                          (rtx, rtx, rtx);
2764extern rtx        gen_andv2si3                          (rtx, rtx, rtx);
2765extern rtx        gen_andv4si3                          (rtx, rtx, rtx);
2766extern rtx        gen_andv2sf3                          (rtx, rtx, rtx);
2767extern rtx        gen_andv4sf3                          (rtx, rtx, rtx);
2768extern rtx        gen_andv2di3                          (rtx, rtx, rtx);
2769extern rtx        gen_anddi3_neon                       (rtx, rtx, rtx);
2770extern rtx        gen_ornv8qi3_neon                     (rtx, rtx, rtx);
2771extern rtx        gen_ornv16qi3_neon                    (rtx, rtx, rtx);
2772extern rtx        gen_ornv4hi3_neon                     (rtx, rtx, rtx);
2773extern rtx        gen_ornv8hi3_neon                     (rtx, rtx, rtx);
2774extern rtx        gen_ornv2si3_neon                     (rtx, rtx, rtx);
2775extern rtx        gen_ornv4si3_neon                     (rtx, rtx, rtx);
2776extern rtx        gen_ornv2sf3_neon                     (rtx, rtx, rtx);
2777extern rtx        gen_ornv4sf3_neon                     (rtx, rtx, rtx);
2778extern rtx        gen_ornv2di3_neon                     (rtx, rtx, rtx);
2779extern rtx        gen_orndi3_neon                       (rtx, rtx, rtx);
2780extern rtx        gen_bicv8qi3_neon                     (rtx, rtx, rtx);
2781extern rtx        gen_bicv16qi3_neon                    (rtx, rtx, rtx);
2782extern rtx        gen_bicv4hi3_neon                     (rtx, rtx, rtx);
2783extern rtx        gen_bicv8hi3_neon                     (rtx, rtx, rtx);
2784extern rtx        gen_bicv2si3_neon                     (rtx, rtx, rtx);
2785extern rtx        gen_bicv4si3_neon                     (rtx, rtx, rtx);
2786extern rtx        gen_bicv2sf3_neon                     (rtx, rtx, rtx);
2787extern rtx        gen_bicv4sf3_neon                     (rtx, rtx, rtx);
2788extern rtx        gen_bicv2di3_neon                     (rtx, rtx, rtx);
2789extern rtx        gen_bicdi3_neon                       (rtx, rtx, rtx);
2790extern rtx        gen_xorv8qi3                          (rtx, rtx, rtx);
2791extern rtx        gen_xorv16qi3                         (rtx, rtx, rtx);
2792extern rtx        gen_xorv4hi3                          (rtx, rtx, rtx);
2793extern rtx        gen_xorv8hi3                          (rtx, rtx, rtx);
2794extern rtx        gen_xorv2si3                          (rtx, rtx, rtx);
2795extern rtx        gen_xorv4si3                          (rtx, rtx, rtx);
2796extern rtx        gen_xorv2sf3                          (rtx, rtx, rtx);
2797extern rtx        gen_xorv4sf3                          (rtx, rtx, rtx);
2798extern rtx        gen_xorv2di3                          (rtx, rtx, rtx);
2799extern rtx        gen_xordi3_neon                       (rtx, rtx, rtx);
2800extern rtx        gen_one_cmplv8qi2                     (rtx, rtx);
2801extern rtx        gen_one_cmplv16qi2                    (rtx, rtx);
2802extern rtx        gen_one_cmplv4hi2                     (rtx, rtx);
2803extern rtx        gen_one_cmplv8hi2                     (rtx, rtx);
2804extern rtx        gen_one_cmplv2si2                     (rtx, rtx);
2805extern rtx        gen_one_cmplv4si2                     (rtx, rtx);
2806extern rtx        gen_one_cmplv2sf2                     (rtx, rtx);
2807extern rtx        gen_one_cmplv4sf2                     (rtx, rtx);
2808extern rtx        gen_one_cmplv2di2                     (rtx, rtx);
2809extern rtx        gen_absv8qi2                          (rtx, rtx);
2810extern rtx        gen_absv16qi2                         (rtx, rtx);
2811extern rtx        gen_absv4hi2                          (rtx, rtx);
2812extern rtx        gen_absv8hi2                          (rtx, rtx);
2813extern rtx        gen_absv2si2                          (rtx, rtx);
2814extern rtx        gen_absv4si2                          (rtx, rtx);
2815extern rtx        gen_absv2sf2                          (rtx, rtx);
2816extern rtx        gen_absv4sf2                          (rtx, rtx);
2817extern rtx        gen_negv8qi2                          (rtx, rtx);
2818extern rtx        gen_negv16qi2                         (rtx, rtx);
2819extern rtx        gen_negv4hi2                          (rtx, rtx);
2820extern rtx        gen_negv8hi2                          (rtx, rtx);
2821extern rtx        gen_negv2si2                          (rtx, rtx);
2822extern rtx        gen_negv4si2                          (rtx, rtx);
2823extern rtx        gen_negv2sf2                          (rtx, rtx);
2824extern rtx        gen_negv4sf2                          (rtx, rtx);
2825extern rtx        gen_negdi2_neon                       (rtx, rtx);
2826extern rtx        gen_vashlv8qi3                        (rtx, rtx, rtx);
2827extern rtx        gen_vashlv16qi3                       (rtx, rtx, rtx);
2828extern rtx        gen_vashlv4hi3                        (rtx, rtx, rtx);
2829extern rtx        gen_vashlv8hi3                        (rtx, rtx, rtx);
2830extern rtx        gen_vashlv2si3                        (rtx, rtx, rtx);
2831extern rtx        gen_vashlv4si3                        (rtx, rtx, rtx);
2832extern rtx        gen_vashrv8qi3_imm                    (rtx, rtx, rtx);
2833extern rtx        gen_vashrv16qi3_imm                   (rtx, rtx, rtx);
2834extern rtx        gen_vashrv4hi3_imm                    (rtx, rtx, rtx);
2835extern rtx        gen_vashrv8hi3_imm                    (rtx, rtx, rtx);
2836extern rtx        gen_vashrv2si3_imm                    (rtx, rtx, rtx);
2837extern rtx        gen_vashrv4si3_imm                    (rtx, rtx, rtx);
2838extern rtx        gen_vlshrv8qi3_imm                    (rtx, rtx, rtx);
2839extern rtx        gen_vlshrv16qi3_imm                   (rtx, rtx, rtx);
2840extern rtx        gen_vlshrv4hi3_imm                    (rtx, rtx, rtx);
2841extern rtx        gen_vlshrv8hi3_imm                    (rtx, rtx, rtx);
2842extern rtx        gen_vlshrv2si3_imm                    (rtx, rtx, rtx);
2843extern rtx        gen_vlshrv4si3_imm                    (rtx, rtx, rtx);
2844extern rtx        gen_ashlv8qi3_signed                  (rtx, rtx, rtx);
2845extern rtx        gen_ashlv16qi3_signed                 (rtx, rtx, rtx);
2846extern rtx        gen_ashlv4hi3_signed                  (rtx, rtx, rtx);
2847extern rtx        gen_ashlv8hi3_signed                  (rtx, rtx, rtx);
2848extern rtx        gen_ashlv2si3_signed                  (rtx, rtx, rtx);
2849extern rtx        gen_ashlv4si3_signed                  (rtx, rtx, rtx);
2850extern rtx        gen_ashlv2di3_signed                  (rtx, rtx, rtx);
2851extern rtx        gen_ashlv8qi3_unsigned                (rtx, rtx, rtx);
2852extern rtx        gen_ashlv16qi3_unsigned               (rtx, rtx, rtx);
2853extern rtx        gen_ashlv4hi3_unsigned                (rtx, rtx, rtx);
2854extern rtx        gen_ashlv8hi3_unsigned                (rtx, rtx, rtx);
2855extern rtx        gen_ashlv2si3_unsigned                (rtx, rtx, rtx);
2856extern rtx        gen_ashlv4si3_unsigned                (rtx, rtx, rtx);
2857extern rtx        gen_ashlv2di3_unsigned                (rtx, rtx, rtx);
2858extern rtx        gen_neon_load_count                   (rtx, rtx);
2859extern rtx        gen_ashldi3_neon_noclobber            (rtx, rtx, rtx);
2860extern rtx        gen_ashldi3_neon                      (rtx, rtx, rtx);
2861extern rtx        gen_signed_shift_di3_neon             (rtx, rtx, rtx);
2862extern rtx        gen_unsigned_shift_di3_neon           (rtx, rtx, rtx);
2863extern rtx        gen_ashrdi3_neon_imm_noclobber        (rtx, rtx, rtx);
2864extern rtx        gen_lshrdi3_neon_imm_noclobber        (rtx, rtx, rtx);
2865extern rtx        gen_ashrdi3_neon                      (rtx, rtx, rtx);
2866extern rtx        gen_lshrdi3_neon                      (rtx, rtx, rtx);
2867extern rtx        gen_widen_ssumv8qi3                   (rtx, rtx, rtx);
2868extern rtx        gen_widen_ssumv4hi3                   (rtx, rtx, rtx);
2869extern rtx        gen_widen_ssumv2si3                   (rtx, rtx, rtx);
2870extern rtx        gen_widen_usumv8qi3                   (rtx, rtx, rtx);
2871extern rtx        gen_widen_usumv4hi3                   (rtx, rtx, rtx);
2872extern rtx        gen_widen_usumv2si3                   (rtx, rtx, rtx);
2873extern rtx        gen_quad_halves_plusv4si              (rtx, rtx);
2874extern rtx        gen_quad_halves_sminv4si              (rtx, rtx);
2875extern rtx        gen_quad_halves_smaxv4si              (rtx, rtx);
2876extern rtx        gen_quad_halves_uminv4si              (rtx, rtx);
2877extern rtx        gen_quad_halves_umaxv4si              (rtx, rtx);
2878extern rtx        gen_quad_halves_plusv4sf              (rtx, rtx);
2879extern rtx        gen_quad_halves_sminv4sf              (rtx, rtx);
2880extern rtx        gen_quad_halves_smaxv4sf              (rtx, rtx);
2881extern rtx        gen_quad_halves_plusv8hi              (rtx, rtx);
2882extern rtx        gen_quad_halves_sminv8hi              (rtx, rtx);
2883extern rtx        gen_quad_halves_smaxv8hi              (rtx, rtx);
2884extern rtx        gen_quad_halves_uminv8hi              (rtx, rtx);
2885extern rtx        gen_quad_halves_umaxv8hi              (rtx, rtx);
2886extern rtx        gen_quad_halves_plusv16qi             (rtx, rtx);
2887extern rtx        gen_quad_halves_sminv16qi             (rtx, rtx);
2888extern rtx        gen_quad_halves_smaxv16qi             (rtx, rtx);
2889extern rtx        gen_quad_halves_uminv16qi             (rtx, rtx);
2890extern rtx        gen_quad_halves_umaxv16qi             (rtx, rtx);
2891extern rtx        gen_reduc_splus_v2di                  (rtx, rtx);
2892extern rtx        gen_neon_vpadd_internalv8qi           (rtx, rtx, rtx);
2893extern rtx        gen_neon_vpadd_internalv4hi           (rtx, rtx, rtx);
2894extern rtx        gen_neon_vpadd_internalv2si           (rtx, rtx, rtx);
2895extern rtx        gen_neon_vpadd_internalv2sf           (rtx, rtx, rtx);
2896extern rtx        gen_neon_vpsminv8qi                   (rtx, rtx, rtx);
2897extern rtx        gen_neon_vpsminv4hi                   (rtx, rtx, rtx);
2898extern rtx        gen_neon_vpsminv2si                   (rtx, rtx, rtx);
2899extern rtx        gen_neon_vpsminv2sf                   (rtx, rtx, rtx);
2900extern rtx        gen_neon_vpsmaxv8qi                   (rtx, rtx, rtx);
2901extern rtx        gen_neon_vpsmaxv4hi                   (rtx, rtx, rtx);
2902extern rtx        gen_neon_vpsmaxv2si                   (rtx, rtx, rtx);
2903extern rtx        gen_neon_vpsmaxv2sf                   (rtx, rtx, rtx);
2904extern rtx        gen_neon_vpuminv8qi                   (rtx, rtx, rtx);
2905extern rtx        gen_neon_vpuminv4hi                   (rtx, rtx, rtx);
2906extern rtx        gen_neon_vpuminv2si                   (rtx, rtx, rtx);
2907extern rtx        gen_neon_vpumaxv8qi                   (rtx, rtx, rtx);
2908extern rtx        gen_neon_vpumaxv4hi                   (rtx, rtx, rtx);
2909extern rtx        gen_neon_vpumaxv2si                   (rtx, rtx, rtx);
2910extern rtx        gen_neon_vaddv8qi_unspec              (rtx, rtx, rtx);
2911extern rtx        gen_neon_vaddv16qi_unspec             (rtx, rtx, rtx);
2912extern rtx        gen_neon_vaddv4hi_unspec              (rtx, rtx, rtx);
2913extern rtx        gen_neon_vaddv8hi_unspec              (rtx, rtx, rtx);
2914extern rtx        gen_neon_vaddv2si_unspec              (rtx, rtx, rtx);
2915extern rtx        gen_neon_vaddv4si_unspec              (rtx, rtx, rtx);
2916extern rtx        gen_neon_vaddv2sf_unspec              (rtx, rtx, rtx);
2917extern rtx        gen_neon_vaddv4sf_unspec              (rtx, rtx, rtx);
2918extern rtx        gen_neon_vadddi_unspec                (rtx, rtx, rtx);
2919extern rtx        gen_neon_vaddv2di_unspec              (rtx, rtx, rtx);
2920extern rtx        gen_neon_vaddlv8qi                    (rtx, rtx, rtx, rtx);
2921extern rtx        gen_neon_vaddlv4hi                    (rtx, rtx, rtx, rtx);
2922extern rtx        gen_neon_vaddlv2si                    (rtx, rtx, rtx, rtx);
2923extern rtx        gen_neon_vaddwv8qi                    (rtx, rtx, rtx, rtx);
2924extern rtx        gen_neon_vaddwv4hi                    (rtx, rtx, rtx, rtx);
2925extern rtx        gen_neon_vaddwv2si                    (rtx, rtx, rtx, rtx);
2926extern rtx        gen_neon_vhaddv8qi                    (rtx, rtx, rtx, rtx);
2927extern rtx        gen_neon_vhaddv16qi                   (rtx, rtx, rtx, rtx);
2928extern rtx        gen_neon_vhaddv4hi                    (rtx, rtx, rtx, rtx);
2929extern rtx        gen_neon_vhaddv8hi                    (rtx, rtx, rtx, rtx);
2930extern rtx        gen_neon_vhaddv2si                    (rtx, rtx, rtx, rtx);
2931extern rtx        gen_neon_vhaddv4si                    (rtx, rtx, rtx, rtx);
2932extern rtx        gen_neon_vqaddv8qi                    (rtx, rtx, rtx, rtx);
2933extern rtx        gen_neon_vqaddv16qi                   (rtx, rtx, rtx, rtx);
2934extern rtx        gen_neon_vqaddv4hi                    (rtx, rtx, rtx, rtx);
2935extern rtx        gen_neon_vqaddv8hi                    (rtx, rtx, rtx, rtx);
2936extern rtx        gen_neon_vqaddv2si                    (rtx, rtx, rtx, rtx);
2937extern rtx        gen_neon_vqaddv4si                    (rtx, rtx, rtx, rtx);
2938extern rtx        gen_neon_vqadddi                      (rtx, rtx, rtx, rtx);
2939extern rtx        gen_neon_vqaddv2di                    (rtx, rtx, rtx, rtx);
2940extern rtx        gen_neon_vaddhnv8hi                   (rtx, rtx, rtx, rtx);
2941extern rtx        gen_neon_vaddhnv4si                   (rtx, rtx, rtx, rtx);
2942extern rtx        gen_neon_vaddhnv2di                   (rtx, rtx, rtx, rtx);
2943extern rtx        gen_neon_vmulv8qi                     (rtx, rtx, rtx, rtx);
2944extern rtx        gen_neon_vmulv16qi                    (rtx, rtx, rtx, rtx);
2945extern rtx        gen_neon_vmulv4hi                     (rtx, rtx, rtx, rtx);
2946extern rtx        gen_neon_vmulv8hi                     (rtx, rtx, rtx, rtx);
2947extern rtx        gen_neon_vmulv2si                     (rtx, rtx, rtx, rtx);
2948extern rtx        gen_neon_vmulv4si                     (rtx, rtx, rtx, rtx);
2949extern rtx        gen_neon_vmulv2sf                     (rtx, rtx, rtx, rtx);
2950extern rtx        gen_neon_vmulv4sf                     (rtx, rtx, rtx, rtx);
2951extern rtx        gen_neon_vmlav8qi_unspec              (rtx, rtx, rtx, rtx);
2952extern rtx        gen_neon_vmlav16qi_unspec             (rtx, rtx, rtx, rtx);
2953extern rtx        gen_neon_vmlav4hi_unspec              (rtx, rtx, rtx, rtx);
2954extern rtx        gen_neon_vmlav8hi_unspec              (rtx, rtx, rtx, rtx);
2955extern rtx        gen_neon_vmlav2si_unspec              (rtx, rtx, rtx, rtx);
2956extern rtx        gen_neon_vmlav4si_unspec              (rtx, rtx, rtx, rtx);
2957extern rtx        gen_neon_vmlav2sf_unspec              (rtx, rtx, rtx, rtx);
2958extern rtx        gen_neon_vmlav4sf_unspec              (rtx, rtx, rtx, rtx);
2959extern rtx        gen_neon_vmlav2di_unspec              (rtx, rtx, rtx, rtx);
2960extern rtx        gen_neon_vmlalv8qi                    (rtx, rtx, rtx, rtx, rtx);
2961extern rtx        gen_neon_vmlalv4hi                    (rtx, rtx, rtx, rtx, rtx);
2962extern rtx        gen_neon_vmlalv2si                    (rtx, rtx, rtx, rtx, rtx);
2963extern rtx        gen_neon_vmlsv8qi_unspec              (rtx, rtx, rtx, rtx);
2964extern rtx        gen_neon_vmlsv16qi_unspec             (rtx, rtx, rtx, rtx);
2965extern rtx        gen_neon_vmlsv4hi_unspec              (rtx, rtx, rtx, rtx);
2966extern rtx        gen_neon_vmlsv8hi_unspec              (rtx, rtx, rtx, rtx);
2967extern rtx        gen_neon_vmlsv2si_unspec              (rtx, rtx, rtx, rtx);
2968extern rtx        gen_neon_vmlsv4si_unspec              (rtx, rtx, rtx, rtx);
2969extern rtx        gen_neon_vmlsv2sf_unspec              (rtx, rtx, rtx, rtx);
2970extern rtx        gen_neon_vmlsv4sf_unspec              (rtx, rtx, rtx, rtx);
2971extern rtx        gen_neon_vmlsv2di_unspec              (rtx, rtx, rtx, rtx);
2972extern rtx        gen_neon_vmlslv8qi                    (rtx, rtx, rtx, rtx, rtx);
2973extern rtx        gen_neon_vmlslv4hi                    (rtx, rtx, rtx, rtx, rtx);
2974extern rtx        gen_neon_vmlslv2si                    (rtx, rtx, rtx, rtx, rtx);
2975extern rtx        gen_neon_vqdmulhv4hi                  (rtx, rtx, rtx, rtx);
2976extern rtx        gen_neon_vqdmulhv2si                  (rtx, rtx, rtx, rtx);
2977extern rtx        gen_neon_vqdmulhv8hi                  (rtx, rtx, rtx, rtx);
2978extern rtx        gen_neon_vqdmulhv4si                  (rtx, rtx, rtx, rtx);
2979extern rtx        gen_neon_vqdmlalv4hi                  (rtx, rtx, rtx, rtx, rtx);
2980extern rtx        gen_neon_vqdmlalv2si                  (rtx, rtx, rtx, rtx, rtx);
2981extern rtx        gen_neon_vqdmlslv4hi                  (rtx, rtx, rtx, rtx, rtx);
2982extern rtx        gen_neon_vqdmlslv2si                  (rtx, rtx, rtx, rtx, rtx);
2983extern rtx        gen_neon_vmullv8qi                    (rtx, rtx, rtx, rtx);
2984extern rtx        gen_neon_vmullv4hi                    (rtx, rtx, rtx, rtx);
2985extern rtx        gen_neon_vmullv2si                    (rtx, rtx, rtx, rtx);
2986extern rtx        gen_neon_vqdmullv4hi                  (rtx, rtx, rtx, rtx);
2987extern rtx        gen_neon_vqdmullv2si                  (rtx, rtx, rtx, rtx);
2988extern rtx        gen_neon_vsubv8qi_unspec              (rtx, rtx, rtx);
2989extern rtx        gen_neon_vsubv16qi_unspec             (rtx, rtx, rtx);
2990extern rtx        gen_neon_vsubv4hi_unspec              (rtx, rtx, rtx);
2991extern rtx        gen_neon_vsubv8hi_unspec              (rtx, rtx, rtx);
2992extern rtx        gen_neon_vsubv2si_unspec              (rtx, rtx, rtx);
2993extern rtx        gen_neon_vsubv4si_unspec              (rtx, rtx, rtx);
2994extern rtx        gen_neon_vsubv2sf_unspec              (rtx, rtx, rtx);
2995extern rtx        gen_neon_vsubv4sf_unspec              (rtx, rtx, rtx);
2996extern rtx        gen_neon_vsubdi_unspec                (rtx, rtx, rtx);
2997extern rtx        gen_neon_vsubv2di_unspec              (rtx, rtx, rtx);
2998extern rtx        gen_neon_vsublv8qi                    (rtx, rtx, rtx, rtx);
2999extern rtx        gen_neon_vsublv4hi                    (rtx, rtx, rtx, rtx);
3000extern rtx        gen_neon_vsublv2si                    (rtx, rtx, rtx, rtx);
3001extern rtx        gen_neon_vsubwv8qi                    (rtx, rtx, rtx, rtx);
3002extern rtx        gen_neon_vsubwv4hi                    (rtx, rtx, rtx, rtx);
3003extern rtx        gen_neon_vsubwv2si                    (rtx, rtx, rtx, rtx);
3004extern rtx        gen_neon_vqsubv8qi                    (rtx, rtx, rtx, rtx);
3005extern rtx        gen_neon_vqsubv16qi                   (rtx, rtx, rtx, rtx);
3006extern rtx        gen_neon_vqsubv4hi                    (rtx, rtx, rtx, rtx);
3007extern rtx        gen_neon_vqsubv8hi                    (rtx, rtx, rtx, rtx);
3008extern rtx        gen_neon_vqsubv2si                    (rtx, rtx, rtx, rtx);
3009extern rtx        gen_neon_vqsubv4si                    (rtx, rtx, rtx, rtx);
3010extern rtx        gen_neon_vqsubdi                      (rtx, rtx, rtx, rtx);
3011extern rtx        gen_neon_vqsubv2di                    (rtx, rtx, rtx, rtx);
3012extern rtx        gen_neon_vhsubv8qi                    (rtx, rtx, rtx, rtx);
3013extern rtx        gen_neon_vhsubv16qi                   (rtx, rtx, rtx, rtx);
3014extern rtx        gen_neon_vhsubv4hi                    (rtx, rtx, rtx, rtx);
3015extern rtx        gen_neon_vhsubv8hi                    (rtx, rtx, rtx, rtx);
3016extern rtx        gen_neon_vhsubv2si                    (rtx, rtx, rtx, rtx);
3017extern rtx        gen_neon_vhsubv4si                    (rtx, rtx, rtx, rtx);
3018extern rtx        gen_neon_vsubhnv8hi                   (rtx, rtx, rtx, rtx);
3019extern rtx        gen_neon_vsubhnv4si                   (rtx, rtx, rtx, rtx);
3020extern rtx        gen_neon_vsubhnv2di                   (rtx, rtx, rtx, rtx);
3021extern rtx        gen_neon_vceqv8qi                     (rtx, rtx, rtx, rtx);
3022extern rtx        gen_neon_vceqv16qi                    (rtx, rtx, rtx, rtx);
3023extern rtx        gen_neon_vceqv4hi                     (rtx, rtx, rtx, rtx);
3024extern rtx        gen_neon_vceqv8hi                     (rtx, rtx, rtx, rtx);
3025extern rtx        gen_neon_vceqv2si                     (rtx, rtx, rtx, rtx);
3026extern rtx        gen_neon_vceqv4si                     (rtx, rtx, rtx, rtx);
3027extern rtx        gen_neon_vceqv2sf                     (rtx, rtx, rtx, rtx);
3028extern rtx        gen_neon_vceqv4sf                     (rtx, rtx, rtx, rtx);
3029extern rtx        gen_neon_vcgev8qi                     (rtx, rtx, rtx, rtx);
3030extern rtx        gen_neon_vcgev16qi                    (rtx, rtx, rtx, rtx);
3031extern rtx        gen_neon_vcgev4hi                     (rtx, rtx, rtx, rtx);
3032extern rtx        gen_neon_vcgev8hi                     (rtx, rtx, rtx, rtx);
3033extern rtx        gen_neon_vcgev2si                     (rtx, rtx, rtx, rtx);
3034extern rtx        gen_neon_vcgev4si                     (rtx, rtx, rtx, rtx);
3035extern rtx        gen_neon_vcgev2sf                     (rtx, rtx, rtx, rtx);
3036extern rtx        gen_neon_vcgev4sf                     (rtx, rtx, rtx, rtx);
3037extern rtx        gen_neon_vcgeuv8qi                    (rtx, rtx, rtx, rtx);
3038extern rtx        gen_neon_vcgeuv16qi                   (rtx, rtx, rtx, rtx);
3039extern rtx        gen_neon_vcgeuv4hi                    (rtx, rtx, rtx, rtx);
3040extern rtx        gen_neon_vcgeuv8hi                    (rtx, rtx, rtx, rtx);
3041extern rtx        gen_neon_vcgeuv2si                    (rtx, rtx, rtx, rtx);
3042extern rtx        gen_neon_vcgeuv4si                    (rtx, rtx, rtx, rtx);
3043extern rtx        gen_neon_vcgtv8qi                     (rtx, rtx, rtx, rtx);
3044extern rtx        gen_neon_vcgtv16qi                    (rtx, rtx, rtx, rtx);
3045extern rtx        gen_neon_vcgtv4hi                     (rtx, rtx, rtx, rtx);
3046extern rtx        gen_neon_vcgtv8hi                     (rtx, rtx, rtx, rtx);
3047extern rtx        gen_neon_vcgtv2si                     (rtx, rtx, rtx, rtx);
3048extern rtx        gen_neon_vcgtv4si                     (rtx, rtx, rtx, rtx);
3049extern rtx        gen_neon_vcgtv2sf                     (rtx, rtx, rtx, rtx);
3050extern rtx        gen_neon_vcgtv4sf                     (rtx, rtx, rtx, rtx);
3051extern rtx        gen_neon_vcgtuv8qi                    (rtx, rtx, rtx, rtx);
3052extern rtx        gen_neon_vcgtuv16qi                   (rtx, rtx, rtx, rtx);
3053extern rtx        gen_neon_vcgtuv4hi                    (rtx, rtx, rtx, rtx);
3054extern rtx        gen_neon_vcgtuv8hi                    (rtx, rtx, rtx, rtx);
3055extern rtx        gen_neon_vcgtuv2si                    (rtx, rtx, rtx, rtx);
3056extern rtx        gen_neon_vcgtuv4si                    (rtx, rtx, rtx, rtx);
3057extern rtx        gen_neon_vclev8qi                     (rtx, rtx, rtx, rtx);
3058extern rtx        gen_neon_vclev16qi                    (rtx, rtx, rtx, rtx);
3059extern rtx        gen_neon_vclev4hi                     (rtx, rtx, rtx, rtx);
3060extern rtx        gen_neon_vclev8hi                     (rtx, rtx, rtx, rtx);
3061extern rtx        gen_neon_vclev2si                     (rtx, rtx, rtx, rtx);
3062extern rtx        gen_neon_vclev4si                     (rtx, rtx, rtx, rtx);
3063extern rtx        gen_neon_vclev2sf                     (rtx, rtx, rtx, rtx);
3064extern rtx        gen_neon_vclev4sf                     (rtx, rtx, rtx, rtx);
3065extern rtx        gen_neon_vcltv8qi                     (rtx, rtx, rtx, rtx);
3066extern rtx        gen_neon_vcltv16qi                    (rtx, rtx, rtx, rtx);
3067extern rtx        gen_neon_vcltv4hi                     (rtx, rtx, rtx, rtx);
3068extern rtx        gen_neon_vcltv8hi                     (rtx, rtx, rtx, rtx);
3069extern rtx        gen_neon_vcltv2si                     (rtx, rtx, rtx, rtx);
3070extern rtx        gen_neon_vcltv4si                     (rtx, rtx, rtx, rtx);
3071extern rtx        gen_neon_vcltv2sf                     (rtx, rtx, rtx, rtx);
3072extern rtx        gen_neon_vcltv4sf                     (rtx, rtx, rtx, rtx);
3073extern rtx        gen_neon_vcagev2sf                    (rtx, rtx, rtx, rtx);
3074extern rtx        gen_neon_vcagev4sf                    (rtx, rtx, rtx, rtx);
3075extern rtx        gen_neon_vcagtv2sf                    (rtx, rtx, rtx, rtx);
3076extern rtx        gen_neon_vcagtv4sf                    (rtx, rtx, rtx, rtx);
3077extern rtx        gen_neon_vtstv8qi                     (rtx, rtx, rtx, rtx);
3078extern rtx        gen_neon_vtstv16qi                    (rtx, rtx, rtx, rtx);
3079extern rtx        gen_neon_vtstv4hi                     (rtx, rtx, rtx, rtx);
3080extern rtx        gen_neon_vtstv8hi                     (rtx, rtx, rtx, rtx);
3081extern rtx        gen_neon_vtstv2si                     (rtx, rtx, rtx, rtx);
3082extern rtx        gen_neon_vtstv4si                     (rtx, rtx, rtx, rtx);
3083extern rtx        gen_neon_vabdv8qi                     (rtx, rtx, rtx, rtx);
3084extern rtx        gen_neon_vabdv16qi                    (rtx, rtx, rtx, rtx);
3085extern rtx        gen_neon_vabdv4hi                     (rtx, rtx, rtx, rtx);
3086extern rtx        gen_neon_vabdv8hi                     (rtx, rtx, rtx, rtx);
3087extern rtx        gen_neon_vabdv2si                     (rtx, rtx, rtx, rtx);
3088extern rtx        gen_neon_vabdv4si                     (rtx, rtx, rtx, rtx);
3089extern rtx        gen_neon_vabdv2sf                     (rtx, rtx, rtx, rtx);
3090extern rtx        gen_neon_vabdv4sf                     (rtx, rtx, rtx, rtx);
3091extern rtx        gen_neon_vabdlv8qi                    (rtx, rtx, rtx, rtx);
3092extern rtx        gen_neon_vabdlv4hi                    (rtx, rtx, rtx, rtx);
3093extern rtx        gen_neon_vabdlv2si                    (rtx, rtx, rtx, rtx);
3094extern rtx        gen_neon_vabav8qi                     (rtx, rtx, rtx, rtx, rtx);
3095extern rtx        gen_neon_vabav16qi                    (rtx, rtx, rtx, rtx, rtx);
3096extern rtx        gen_neon_vabav4hi                     (rtx, rtx, rtx, rtx, rtx);
3097extern rtx        gen_neon_vabav8hi                     (rtx, rtx, rtx, rtx, rtx);
3098extern rtx        gen_neon_vabav2si                     (rtx, rtx, rtx, rtx, rtx);
3099extern rtx        gen_neon_vabav4si                     (rtx, rtx, rtx, rtx, rtx);
3100extern rtx        gen_neon_vabalv8qi                    (rtx, rtx, rtx, rtx, rtx);
3101extern rtx        gen_neon_vabalv4hi                    (rtx, rtx, rtx, rtx, rtx);
3102extern rtx        gen_neon_vabalv2si                    (rtx, rtx, rtx, rtx, rtx);
3103extern rtx        gen_neon_vmaxv8qi                     (rtx, rtx, rtx, rtx);
3104extern rtx        gen_neon_vmaxv16qi                    (rtx, rtx, rtx, rtx);
3105extern rtx        gen_neon_vmaxv4hi                     (rtx, rtx, rtx, rtx);
3106extern rtx        gen_neon_vmaxv8hi                     (rtx, rtx, rtx, rtx);
3107extern rtx        gen_neon_vmaxv2si                     (rtx, rtx, rtx, rtx);
3108extern rtx        gen_neon_vmaxv4si                     (rtx, rtx, rtx, rtx);
3109extern rtx        gen_neon_vmaxv2sf                     (rtx, rtx, rtx, rtx);
3110extern rtx        gen_neon_vmaxv4sf                     (rtx, rtx, rtx, rtx);
3111extern rtx        gen_neon_vminv8qi                     (rtx, rtx, rtx, rtx);
3112extern rtx        gen_neon_vminv16qi                    (rtx, rtx, rtx, rtx);
3113extern rtx        gen_neon_vminv4hi                     (rtx, rtx, rtx, rtx);
3114extern rtx        gen_neon_vminv8hi                     (rtx, rtx, rtx, rtx);
3115extern rtx        gen_neon_vminv2si                     (rtx, rtx, rtx, rtx);
3116extern rtx        gen_neon_vminv4si                     (rtx, rtx, rtx, rtx);
3117extern rtx        gen_neon_vminv2sf                     (rtx, rtx, rtx, rtx);
3118extern rtx        gen_neon_vminv4sf                     (rtx, rtx, rtx, rtx);
3119extern rtx        gen_neon_vpaddlv8qi                   (rtx, rtx, rtx);
3120extern rtx        gen_neon_vpaddlv16qi                  (rtx, rtx, rtx);
3121extern rtx        gen_neon_vpaddlv4hi                   (rtx, rtx, rtx);
3122extern rtx        gen_neon_vpaddlv8hi                   (rtx, rtx, rtx);
3123extern rtx        gen_neon_vpaddlv2si                   (rtx, rtx, rtx);
3124extern rtx        gen_neon_vpaddlv4si                   (rtx, rtx, rtx);
3125extern rtx        gen_neon_vpadalv8qi                   (rtx, rtx, rtx, rtx);
3126extern rtx        gen_neon_vpadalv16qi                  (rtx, rtx, rtx, rtx);
3127extern rtx        gen_neon_vpadalv4hi                   (rtx, rtx, rtx, rtx);
3128extern rtx        gen_neon_vpadalv8hi                   (rtx, rtx, rtx, rtx);
3129extern rtx        gen_neon_vpadalv2si                   (rtx, rtx, rtx, rtx);
3130extern rtx        gen_neon_vpadalv4si                   (rtx, rtx, rtx, rtx);
3131extern rtx        gen_neon_vpmaxv8qi                    (rtx, rtx, rtx, rtx);
3132extern rtx        gen_neon_vpmaxv4hi                    (rtx, rtx, rtx, rtx);
3133extern rtx        gen_neon_vpmaxv2si                    (rtx, rtx, rtx, rtx);
3134extern rtx        gen_neon_vpmaxv2sf                    (rtx, rtx, rtx, rtx);
3135extern rtx        gen_neon_vpminv8qi                    (rtx, rtx, rtx, rtx);
3136extern rtx        gen_neon_vpminv4hi                    (rtx, rtx, rtx, rtx);
3137extern rtx        gen_neon_vpminv2si                    (rtx, rtx, rtx, rtx);
3138extern rtx        gen_neon_vpminv2sf                    (rtx, rtx, rtx, rtx);
3139extern rtx        gen_neon_vrecpsv2sf                   (rtx, rtx, rtx, rtx);
3140extern rtx        gen_neon_vrecpsv4sf                   (rtx, rtx, rtx, rtx);
3141extern rtx        gen_neon_vrsqrtsv2sf                  (rtx, rtx, rtx, rtx);
3142extern rtx        gen_neon_vrsqrtsv4sf                  (rtx, rtx, rtx, rtx);
3143extern rtx        gen_neon_vqabsv8qi                    (rtx, rtx, rtx);
3144extern rtx        gen_neon_vqabsv16qi                   (rtx, rtx, rtx);
3145extern rtx        gen_neon_vqabsv4hi                    (rtx, rtx, rtx);
3146extern rtx        gen_neon_vqabsv8hi                    (rtx, rtx, rtx);
3147extern rtx        gen_neon_vqabsv2si                    (rtx, rtx, rtx);
3148extern rtx        gen_neon_vqabsv4si                    (rtx, rtx, rtx);
3149extern rtx        gen_neon_vqnegv8qi                    (rtx, rtx, rtx);
3150extern rtx        gen_neon_vqnegv16qi                   (rtx, rtx, rtx);
3151extern rtx        gen_neon_vqnegv4hi                    (rtx, rtx, rtx);
3152extern rtx        gen_neon_vqnegv8hi                    (rtx, rtx, rtx);
3153extern rtx        gen_neon_vqnegv2si                    (rtx, rtx, rtx);
3154extern rtx        gen_neon_vqnegv4si                    (rtx, rtx, rtx);
3155extern rtx        gen_neon_vclsv8qi                     (rtx, rtx, rtx);
3156extern rtx        gen_neon_vclsv16qi                    (rtx, rtx, rtx);
3157extern rtx        gen_neon_vclsv4hi                     (rtx, rtx, rtx);
3158extern rtx        gen_neon_vclsv8hi                     (rtx, rtx, rtx);
3159extern rtx        gen_neon_vclsv2si                     (rtx, rtx, rtx);
3160extern rtx        gen_neon_vclsv4si                     (rtx, rtx, rtx);
3161extern rtx        gen_clzv8qi2                          (rtx, rtx);
3162extern rtx        gen_clzv16qi2                         (rtx, rtx);
3163extern rtx        gen_clzv4hi2                          (rtx, rtx);
3164extern rtx        gen_clzv8hi2                          (rtx, rtx);
3165extern rtx        gen_clzv2si2                          (rtx, rtx);
3166extern rtx        gen_clzv4si2                          (rtx, rtx);
3167extern rtx        gen_popcountv8qi2                     (rtx, rtx);
3168extern rtx        gen_popcountv16qi2                    (rtx, rtx);
3169extern rtx        gen_neon_vrecpev2si                   (rtx, rtx, rtx);
3170extern rtx        gen_neon_vrecpev2sf                   (rtx, rtx, rtx);
3171extern rtx        gen_neon_vrecpev4si                   (rtx, rtx, rtx);
3172extern rtx        gen_neon_vrecpev4sf                   (rtx, rtx, rtx);
3173extern rtx        gen_neon_vrsqrtev2si                  (rtx, rtx, rtx);
3174extern rtx        gen_neon_vrsqrtev2sf                  (rtx, rtx, rtx);
3175extern rtx        gen_neon_vrsqrtev4si                  (rtx, rtx, rtx);
3176extern rtx        gen_neon_vrsqrtev4sf                  (rtx, rtx, rtx);
3177extern rtx        gen_neon_vget_lanev8qi_sext_internal  (rtx, rtx, rtx);
3178extern rtx        gen_neon_vget_lanev4hi_sext_internal  (rtx, rtx, rtx);
3179extern rtx        gen_neon_vget_lanev2si_sext_internal  (rtx, rtx, rtx);
3180extern rtx        gen_neon_vget_lanev2sf_sext_internal  (rtx, rtx, rtx);
3181extern rtx        gen_neon_vget_lanev8qi_zext_internal  (rtx, rtx, rtx);
3182extern rtx        gen_neon_vget_lanev4hi_zext_internal  (rtx, rtx, rtx);
3183extern rtx        gen_neon_vget_lanev2si_zext_internal  (rtx, rtx, rtx);
3184extern rtx        gen_neon_vget_lanev2sf_zext_internal  (rtx, rtx, rtx);
3185extern rtx        gen_neon_vget_lanev16qi_sext_internal (rtx, rtx, rtx);
3186extern rtx        gen_neon_vget_lanev8hi_sext_internal  (rtx, rtx, rtx);
3187extern rtx        gen_neon_vget_lanev4si_sext_internal  (rtx, rtx, rtx);
3188extern rtx        gen_neon_vget_lanev4sf_sext_internal  (rtx, rtx, rtx);
3189extern rtx        gen_neon_vget_lanev16qi_zext_internal (rtx, rtx, rtx);
3190extern rtx        gen_neon_vget_lanev8hi_zext_internal  (rtx, rtx, rtx);
3191extern rtx        gen_neon_vget_lanev4si_zext_internal  (rtx, rtx, rtx);
3192extern rtx        gen_neon_vget_lanev4sf_zext_internal  (rtx, rtx, rtx);
3193extern rtx        gen_neon_vdup_nv8qi                   (rtx, rtx);
3194extern rtx        gen_neon_vdup_nv4hi                   (rtx, rtx);
3195extern rtx        gen_neon_vdup_nv16qi                  (rtx, rtx);
3196extern rtx        gen_neon_vdup_nv8hi                   (rtx, rtx);
3197extern rtx        gen_neon_vdup_nv2si                   (rtx, rtx);
3198extern rtx        gen_neon_vdup_nv2sf                   (rtx, rtx);
3199extern rtx        gen_neon_vdup_nv4si                   (rtx, rtx);
3200extern rtx        gen_neon_vdup_nv4sf                   (rtx, rtx);
3201extern rtx        gen_neon_vdup_nv2di                   (rtx, rtx);
3202extern rtx        gen_neon_vdup_lanev8qi_internal       (rtx, rtx, rtx);
3203extern rtx        gen_neon_vdup_lanev16qi_internal      (rtx, rtx, rtx);
3204extern rtx        gen_neon_vdup_lanev4hi_internal       (rtx, rtx, rtx);
3205extern rtx        gen_neon_vdup_lanev8hi_internal       (rtx, rtx, rtx);
3206extern rtx        gen_neon_vdup_lanev2si_internal       (rtx, rtx, rtx);
3207extern rtx        gen_neon_vdup_lanev4si_internal       (rtx, rtx, rtx);
3208extern rtx        gen_neon_vdup_lanev2sf_internal       (rtx, rtx, rtx);
3209extern rtx        gen_neon_vdup_lanev4sf_internal       (rtx, rtx, rtx);
3210extern rtx        gen_neon_vcombinev8qi                 (rtx, rtx, rtx);
3211extern rtx        gen_neon_vcombinev4hi                 (rtx, rtx, rtx);
3212extern rtx        gen_neon_vcombinev2si                 (rtx, rtx, rtx);
3213extern rtx        gen_neon_vcombinev2sf                 (rtx, rtx, rtx);
3214extern rtx        gen_neon_vcombinedi                   (rtx, rtx, rtx);
3215extern rtx        gen_floatv2siv2sf2                    (rtx, rtx);
3216extern rtx        gen_floatv4siv4sf2                    (rtx, rtx);
3217extern rtx        gen_floatunsv2siv2sf2                 (rtx, rtx);
3218extern rtx        gen_floatunsv4siv4sf2                 (rtx, rtx);
3219extern rtx        gen_fix_truncv2sfv2si2                (rtx, rtx);
3220extern rtx        gen_fix_truncv4sfv4si2                (rtx, rtx);
3221extern rtx        gen_fixuns_truncv2sfv2si2             (rtx, rtx);
3222extern rtx        gen_fixuns_truncv4sfv4si2             (rtx, rtx);
3223extern rtx        gen_neon_vcvtv2sf                     (rtx, rtx, rtx);
3224extern rtx        gen_neon_vcvtv4sf                     (rtx, rtx, rtx);
3225extern rtx        gen_neon_vcvtv2si                     (rtx, rtx, rtx);
3226extern rtx        gen_neon_vcvtv4si                     (rtx, rtx, rtx);
3227extern rtx        gen_neon_vcvt_nv2sf                   (rtx, rtx, rtx, rtx);
3228extern rtx        gen_neon_vcvt_nv4sf                   (rtx, rtx, rtx, rtx);
3229extern rtx        gen_neon_vcvt_nv2si                   (rtx, rtx, rtx, rtx);
3230extern rtx        gen_neon_vcvt_nv4si                   (rtx, rtx, rtx, rtx);
3231extern rtx        gen_neon_vmovnv8hi                    (rtx, rtx, rtx);
3232extern rtx        gen_neon_vmovnv4si                    (rtx, rtx, rtx);
3233extern rtx        gen_neon_vmovnv2di                    (rtx, rtx, rtx);
3234extern rtx        gen_neon_vqmovnv8hi                   (rtx, rtx, rtx);
3235extern rtx        gen_neon_vqmovnv4si                   (rtx, rtx, rtx);
3236extern rtx        gen_neon_vqmovnv2di                   (rtx, rtx, rtx);
3237extern rtx        gen_neon_vqmovunv8hi                  (rtx, rtx, rtx);
3238extern rtx        gen_neon_vqmovunv4si                  (rtx, rtx, rtx);
3239extern rtx        gen_neon_vqmovunv2di                  (rtx, rtx, rtx);
3240extern rtx        gen_neon_vmovlv8qi                    (rtx, rtx, rtx);
3241extern rtx        gen_neon_vmovlv4hi                    (rtx, rtx, rtx);
3242extern rtx        gen_neon_vmovlv2si                    (rtx, rtx, rtx);
3243extern rtx        gen_neon_vmul_lanev4hi                (rtx, rtx, rtx, rtx, rtx);
3244extern rtx        gen_neon_vmul_lanev2si                (rtx, rtx, rtx, rtx, rtx);
3245extern rtx        gen_neon_vmul_lanev2sf                (rtx, rtx, rtx, rtx, rtx);
3246extern rtx        gen_neon_vmul_lanev8hi                (rtx, rtx, rtx, rtx, rtx);
3247extern rtx        gen_neon_vmul_lanev4si                (rtx, rtx, rtx, rtx, rtx);
3248extern rtx        gen_neon_vmul_lanev4sf                (rtx, rtx, rtx, rtx, rtx);
3249extern rtx        gen_neon_vmull_lanev4hi               (rtx, rtx, rtx, rtx, rtx);
3250extern rtx        gen_neon_vmull_lanev2si               (rtx, rtx, rtx, rtx, rtx);
3251extern rtx        gen_neon_vqdmull_lanev4hi             (rtx, rtx, rtx, rtx, rtx);
3252extern rtx        gen_neon_vqdmull_lanev2si             (rtx, rtx, rtx, rtx, rtx);
3253extern rtx        gen_neon_vqdmulh_lanev8hi             (rtx, rtx, rtx, rtx, rtx);
3254extern rtx        gen_neon_vqdmulh_lanev4si             (rtx, rtx, rtx, rtx, rtx);
3255extern rtx        gen_neon_vqdmulh_lanev4hi             (rtx, rtx, rtx, rtx, rtx);
3256extern rtx        gen_neon_vqdmulh_lanev2si             (rtx, rtx, rtx, rtx, rtx);
3257extern rtx        gen_neon_vmla_lanev4hi                (rtx, rtx, rtx, rtx, rtx, rtx);
3258extern rtx        gen_neon_vmla_lanev2si                (rtx, rtx, rtx, rtx, rtx, rtx);
3259extern rtx        gen_neon_vmla_lanev2sf                (rtx, rtx, rtx, rtx, rtx, rtx);
3260extern rtx        gen_neon_vmla_lanev8hi                (rtx, rtx, rtx, rtx, rtx, rtx);
3261extern rtx        gen_neon_vmla_lanev4si                (rtx, rtx, rtx, rtx, rtx, rtx);
3262extern rtx        gen_neon_vmla_lanev4sf                (rtx, rtx, rtx, rtx, rtx, rtx);
3263extern rtx        gen_neon_vmlal_lanev4hi               (rtx, rtx, rtx, rtx, rtx, rtx);
3264extern rtx        gen_neon_vmlal_lanev2si               (rtx, rtx, rtx, rtx, rtx, rtx);
3265extern rtx        gen_neon_vqdmlal_lanev4hi             (rtx, rtx, rtx, rtx, rtx, rtx);
3266extern rtx        gen_neon_vqdmlal_lanev2si             (rtx, rtx, rtx, rtx, rtx, rtx);
3267extern rtx        gen_neon_vmls_lanev4hi                (rtx, rtx, rtx, rtx, rtx, rtx);
3268extern rtx        gen_neon_vmls_lanev2si                (rtx, rtx, rtx, rtx, rtx, rtx);
3269extern rtx        gen_neon_vmls_lanev2sf                (rtx, rtx, rtx, rtx, rtx, rtx);
3270extern rtx        gen_neon_vmls_lanev8hi                (rtx, rtx, rtx, rtx, rtx, rtx);
3271extern rtx        gen_neon_vmls_lanev4si                (rtx, rtx, rtx, rtx, rtx, rtx);
3272extern rtx        gen_neon_vmls_lanev4sf                (rtx, rtx, rtx, rtx, rtx, rtx);
3273extern rtx        gen_neon_vmlsl_lanev4hi               (rtx, rtx, rtx, rtx, rtx, rtx);
3274extern rtx        gen_neon_vmlsl_lanev2si               (rtx, rtx, rtx, rtx, rtx, rtx);
3275extern rtx        gen_neon_vqdmlsl_lanev4hi             (rtx, rtx, rtx, rtx, rtx, rtx);
3276extern rtx        gen_neon_vqdmlsl_lanev2si             (rtx, rtx, rtx, rtx, rtx, rtx);
3277extern rtx        gen_neon_vextv8qi                     (rtx, rtx, rtx, rtx);
3278extern rtx        gen_neon_vextv16qi                    (rtx, rtx, rtx, rtx);
3279extern rtx        gen_neon_vextv4hi                     (rtx, rtx, rtx, rtx);
3280extern rtx        gen_neon_vextv8hi                     (rtx, rtx, rtx, rtx);
3281extern rtx        gen_neon_vextv2si                     (rtx, rtx, rtx, rtx);
3282extern rtx        gen_neon_vextv4si                     (rtx, rtx, rtx, rtx);
3283extern rtx        gen_neon_vextv2sf                     (rtx, rtx, rtx, rtx);
3284extern rtx        gen_neon_vextv4sf                     (rtx, rtx, rtx, rtx);
3285extern rtx        gen_neon_vextdi                       (rtx, rtx, rtx, rtx);
3286extern rtx        gen_neon_vextv2di                     (rtx, rtx, rtx, rtx);
3287extern rtx        gen_neon_vrev64v8qi                   (rtx, rtx, rtx);
3288extern rtx        gen_neon_vrev64v16qi                  (rtx, rtx, rtx);
3289extern rtx        gen_neon_vrev64v4hi                   (rtx, rtx, rtx);
3290extern rtx        gen_neon_vrev64v8hi                   (rtx, rtx, rtx);
3291extern rtx        gen_neon_vrev64v2si                   (rtx, rtx, rtx);
3292extern rtx        gen_neon_vrev64v4si                   (rtx, rtx, rtx);
3293extern rtx        gen_neon_vrev64v2sf                   (rtx, rtx, rtx);
3294extern rtx        gen_neon_vrev64v4sf                   (rtx, rtx, rtx);
3295extern rtx        gen_neon_vrev64v2di                   (rtx, rtx, rtx);
3296extern rtx        gen_neon_vrev32v8qi                   (rtx, rtx, rtx);
3297extern rtx        gen_neon_vrev32v4hi                   (rtx, rtx, rtx);
3298extern rtx        gen_neon_vrev32v16qi                  (rtx, rtx, rtx);
3299extern rtx        gen_neon_vrev32v8hi                   (rtx, rtx, rtx);
3300extern rtx        gen_neon_vrev16v8qi                   (rtx, rtx, rtx);
3301extern rtx        gen_neon_vrev16v16qi                  (rtx, rtx, rtx);
3302extern rtx        gen_neon_vbslv8qi_internal            (rtx, rtx, rtx, rtx);
3303extern rtx        gen_neon_vbslv16qi_internal           (rtx, rtx, rtx, rtx);
3304extern rtx        gen_neon_vbslv4hi_internal            (rtx, rtx, rtx, rtx);
3305extern rtx        gen_neon_vbslv8hi_internal            (rtx, rtx, rtx, rtx);
3306extern rtx        gen_neon_vbslv2si_internal            (rtx, rtx, rtx, rtx);
3307extern rtx        gen_neon_vbslv4si_internal            (rtx, rtx, rtx, rtx);
3308extern rtx        gen_neon_vbslv2sf_internal            (rtx, rtx, rtx, rtx);
3309extern rtx        gen_neon_vbslv4sf_internal            (rtx, rtx, rtx, rtx);
3310extern rtx        gen_neon_vbsldi_internal              (rtx, rtx, rtx, rtx);
3311extern rtx        gen_neon_vbslv2di_internal            (rtx, rtx, rtx, rtx);
3312extern rtx        gen_neon_vshlv8qi                     (rtx, rtx, rtx, rtx);
3313extern rtx        gen_neon_vshlv16qi                    (rtx, rtx, rtx, rtx);
3314extern rtx        gen_neon_vshlv4hi                     (rtx, rtx, rtx, rtx);
3315extern rtx        gen_neon_vshlv8hi                     (rtx, rtx, rtx, rtx);
3316extern rtx        gen_neon_vshlv2si                     (rtx, rtx, rtx, rtx);
3317extern rtx        gen_neon_vshlv4si                     (rtx, rtx, rtx, rtx);
3318extern rtx        gen_neon_vshldi                       (rtx, rtx, rtx, rtx);
3319extern rtx        gen_neon_vshlv2di                     (rtx, rtx, rtx, rtx);
3320extern rtx        gen_neon_vqshlv8qi                    (rtx, rtx, rtx, rtx);
3321extern rtx        gen_neon_vqshlv16qi                   (rtx, rtx, rtx, rtx);
3322extern rtx        gen_neon_vqshlv4hi                    (rtx, rtx, rtx, rtx);
3323extern rtx        gen_neon_vqshlv8hi                    (rtx, rtx, rtx, rtx);
3324extern rtx        gen_neon_vqshlv2si                    (rtx, rtx, rtx, rtx);
3325extern rtx        gen_neon_vqshlv4si                    (rtx, rtx, rtx, rtx);
3326extern rtx        gen_neon_vqshldi                      (rtx, rtx, rtx, rtx);
3327extern rtx        gen_neon_vqshlv2di                    (rtx, rtx, rtx, rtx);
3328extern rtx        gen_neon_vshr_nv8qi                   (rtx, rtx, rtx, rtx);
3329extern rtx        gen_neon_vshr_nv16qi                  (rtx, rtx, rtx, rtx);
3330extern rtx        gen_neon_vshr_nv4hi                   (rtx, rtx, rtx, rtx);
3331extern rtx        gen_neon_vshr_nv8hi                   (rtx, rtx, rtx, rtx);
3332extern rtx        gen_neon_vshr_nv2si                   (rtx, rtx, rtx, rtx);
3333extern rtx        gen_neon_vshr_nv4si                   (rtx, rtx, rtx, rtx);
3334extern rtx        gen_neon_vshr_ndi                     (rtx, rtx, rtx, rtx);
3335extern rtx        gen_neon_vshr_nv2di                   (rtx, rtx, rtx, rtx);
3336extern rtx        gen_neon_vshrn_nv8hi                  (rtx, rtx, rtx, rtx);
3337extern rtx        gen_neon_vshrn_nv4si                  (rtx, rtx, rtx, rtx);
3338extern rtx        gen_neon_vshrn_nv2di                  (rtx, rtx, rtx, rtx);
3339extern rtx        gen_neon_vqshrn_nv8hi                 (rtx, rtx, rtx, rtx);
3340extern rtx        gen_neon_vqshrn_nv4si                 (rtx, rtx, rtx, rtx);
3341extern rtx        gen_neon_vqshrn_nv2di                 (rtx, rtx, rtx, rtx);
3342extern rtx        gen_neon_vqshrun_nv8hi                (rtx, rtx, rtx, rtx);
3343extern rtx        gen_neon_vqshrun_nv4si                (rtx, rtx, rtx, rtx);
3344extern rtx        gen_neon_vqshrun_nv2di                (rtx, rtx, rtx, rtx);
3345extern rtx        gen_neon_vshl_nv8qi                   (rtx, rtx, rtx, rtx);
3346extern rtx        gen_neon_vshl_nv16qi                  (rtx, rtx, rtx, rtx);
3347extern rtx        gen_neon_vshl_nv4hi                   (rtx, rtx, rtx, rtx);
3348extern rtx        gen_neon_vshl_nv8hi                   (rtx, rtx, rtx, rtx);
3349extern rtx        gen_neon_vshl_nv2si                   (rtx, rtx, rtx, rtx);
3350extern rtx        gen_neon_vshl_nv4si                   (rtx, rtx, rtx, rtx);
3351extern rtx        gen_neon_vshl_ndi                     (rtx, rtx, rtx, rtx);
3352extern rtx        gen_neon_vshl_nv2di                   (rtx, rtx, rtx, rtx);
3353extern rtx        gen_neon_vqshl_nv8qi                  (rtx, rtx, rtx, rtx);
3354extern rtx        gen_neon_vqshl_nv16qi                 (rtx, rtx, rtx, rtx);
3355extern rtx        gen_neon_vqshl_nv4hi                  (rtx, rtx, rtx, rtx);
3356extern rtx        gen_neon_vqshl_nv8hi                  (rtx, rtx, rtx, rtx);
3357extern rtx        gen_neon_vqshl_nv2si                  (rtx, rtx, rtx, rtx);
3358extern rtx        gen_neon_vqshl_nv4si                  (rtx, rtx, rtx, rtx);
3359extern rtx        gen_neon_vqshl_ndi                    (rtx, rtx, rtx, rtx);
3360extern rtx        gen_neon_vqshl_nv2di                  (rtx, rtx, rtx, rtx);
3361extern rtx        gen_neon_vqshlu_nv8qi                 (rtx, rtx, rtx, rtx);
3362extern rtx        gen_neon_vqshlu_nv16qi                (rtx, rtx, rtx, rtx);
3363extern rtx        gen_neon_vqshlu_nv4hi                 (rtx, rtx, rtx, rtx);
3364extern rtx        gen_neon_vqshlu_nv8hi                 (rtx, rtx, rtx, rtx);
3365extern rtx        gen_neon_vqshlu_nv2si                 (rtx, rtx, rtx, rtx);
3366extern rtx        gen_neon_vqshlu_nv4si                 (rtx, rtx, rtx, rtx);
3367extern rtx        gen_neon_vqshlu_ndi                   (rtx, rtx, rtx, rtx);
3368extern rtx        gen_neon_vqshlu_nv2di                 (rtx, rtx, rtx, rtx);
3369extern rtx        gen_neon_vshll_nv8qi                  (rtx, rtx, rtx, rtx);
3370extern rtx        gen_neon_vshll_nv4hi                  (rtx, rtx, rtx, rtx);
3371extern rtx        gen_neon_vshll_nv2si                  (rtx, rtx, rtx, rtx);
3372extern rtx        gen_neon_vsra_nv8qi                   (rtx, rtx, rtx, rtx, rtx);
3373extern rtx        gen_neon_vsra_nv16qi                  (rtx, rtx, rtx, rtx, rtx);
3374extern rtx        gen_neon_vsra_nv4hi                   (rtx, rtx, rtx, rtx, rtx);
3375extern rtx        gen_neon_vsra_nv8hi                   (rtx, rtx, rtx, rtx, rtx);
3376extern rtx        gen_neon_vsra_nv2si                   (rtx, rtx, rtx, rtx, rtx);
3377extern rtx        gen_neon_vsra_nv4si                   (rtx, rtx, rtx, rtx, rtx);
3378extern rtx        gen_neon_vsra_ndi                     (rtx, rtx, rtx, rtx, rtx);
3379extern rtx        gen_neon_vsra_nv2di                   (rtx, rtx, rtx, rtx, rtx);
3380extern rtx        gen_neon_vsri_nv8qi                   (rtx, rtx, rtx, rtx);
3381extern rtx        gen_neon_vsri_nv16qi                  (rtx, rtx, rtx, rtx);
3382extern rtx        gen_neon_vsri_nv4hi                   (rtx, rtx, rtx, rtx);
3383extern rtx        gen_neon_vsri_nv8hi                   (rtx, rtx, rtx, rtx);
3384extern rtx        gen_neon_vsri_nv2si                   (rtx, rtx, rtx, rtx);
3385extern rtx        gen_neon_vsri_nv4si                   (rtx, rtx, rtx, rtx);
3386extern rtx        gen_neon_vsri_ndi                     (rtx, rtx, rtx, rtx);
3387extern rtx        gen_neon_vsri_nv2di                   (rtx, rtx, rtx, rtx);
3388extern rtx        gen_neon_vsli_nv8qi                   (rtx, rtx, rtx, rtx);
3389extern rtx        gen_neon_vsli_nv16qi                  (rtx, rtx, rtx, rtx);
3390extern rtx        gen_neon_vsli_nv4hi                   (rtx, rtx, rtx, rtx);
3391extern rtx        gen_neon_vsli_nv8hi                   (rtx, rtx, rtx, rtx);
3392extern rtx        gen_neon_vsli_nv2si                   (rtx, rtx, rtx, rtx);
3393extern rtx        gen_neon_vsli_nv4si                   (rtx, rtx, rtx, rtx);
3394extern rtx        gen_neon_vsli_ndi                     (rtx, rtx, rtx, rtx);
3395extern rtx        gen_neon_vsli_nv2di                   (rtx, rtx, rtx, rtx);
3396extern rtx        gen_neon_vtbl1v8qi                    (rtx, rtx, rtx);
3397extern rtx        gen_neon_vtbl2v8qi                    (rtx, rtx, rtx);
3398extern rtx        gen_neon_vtbl3v8qi                    (rtx, rtx, rtx);
3399extern rtx        gen_neon_vtbl4v8qi                    (rtx, rtx, rtx);
3400extern rtx        gen_neon_vtbl1v16qi                   (rtx, rtx, rtx);
3401extern rtx        gen_neon_vtbl2v16qi                   (rtx, rtx, rtx);
3402extern rtx        gen_neon_vcombinev16qi                (rtx, rtx, rtx);
3403extern rtx        gen_neon_vtbx1v8qi                    (rtx, rtx, rtx, rtx);
3404extern rtx        gen_neon_vtbx2v8qi                    (rtx, rtx, rtx, rtx);
3405extern rtx        gen_neon_vtbx3v8qi                    (rtx, rtx, rtx, rtx);
3406extern rtx        gen_neon_vtbx4v8qi                    (rtx, rtx, rtx, rtx);
3407extern rtx        gen_neon_vld1v8qi                     (rtx, rtx);
3408extern rtx        gen_neon_vld1v16qi                    (rtx, rtx);
3409extern rtx        gen_neon_vld1v4hi                     (rtx, rtx);
3410extern rtx        gen_neon_vld1v8hi                     (rtx, rtx);
3411extern rtx        gen_neon_vld1v2si                     (rtx, rtx);
3412extern rtx        gen_neon_vld1v4si                     (rtx, rtx);
3413extern rtx        gen_neon_vld1v2sf                     (rtx, rtx);
3414extern rtx        gen_neon_vld1v4sf                     (rtx, rtx);
3415extern rtx        gen_neon_vld1di                       (rtx, rtx);
3416extern rtx        gen_neon_vld1v2di                     (rtx, rtx);
3417extern rtx        gen_neon_vld1_lanev8qi                (rtx, rtx, rtx, rtx);
3418extern rtx        gen_neon_vld1_lanev4hi                (rtx, rtx, rtx, rtx);
3419extern rtx        gen_neon_vld1_lanev2si                (rtx, rtx, rtx, rtx);
3420extern rtx        gen_neon_vld1_lanev2sf                (rtx, rtx, rtx, rtx);
3421extern rtx        gen_neon_vld1_lanedi                  (rtx, rtx, rtx, rtx);
3422extern rtx        gen_neon_vld1_lanev16qi               (rtx, rtx, rtx, rtx);
3423extern rtx        gen_neon_vld1_lanev8hi                (rtx, rtx, rtx, rtx);
3424extern rtx        gen_neon_vld1_lanev4si                (rtx, rtx, rtx, rtx);
3425extern rtx        gen_neon_vld1_lanev4sf                (rtx, rtx, rtx, rtx);
3426extern rtx        gen_neon_vld1_lanev2di                (rtx, rtx, rtx, rtx);
3427extern rtx        gen_neon_vld1_dupv8qi                 (rtx, rtx);
3428extern rtx        gen_neon_vld1_dupv4hi                 (rtx, rtx);
3429extern rtx        gen_neon_vld1_dupv2si                 (rtx, rtx);
3430extern rtx        gen_neon_vld1_dupv2sf                 (rtx, rtx);
3431extern rtx        gen_neon_vld1_dupdi                   (rtx, rtx);
3432extern rtx        gen_neon_vld1_dupv16qi                (rtx, rtx);
3433extern rtx        gen_neon_vld1_dupv8hi                 (rtx, rtx);
3434extern rtx        gen_neon_vld1_dupv4si                 (rtx, rtx);
3435extern rtx        gen_neon_vld1_dupv4sf                 (rtx, rtx);
3436extern rtx        gen_neon_vld1_dupv2di                 (rtx, rtx);
3437extern rtx        gen_neon_vst1v8qi                     (rtx, rtx);
3438extern rtx        gen_neon_vst1v16qi                    (rtx, rtx);
3439extern rtx        gen_neon_vst1v4hi                     (rtx, rtx);
3440extern rtx        gen_neon_vst1v8hi                     (rtx, rtx);
3441extern rtx        gen_neon_vst1v2si                     (rtx, rtx);
3442extern rtx        gen_neon_vst1v4si                     (rtx, rtx);
3443extern rtx        gen_neon_vst1v2sf                     (rtx, rtx);
3444extern rtx        gen_neon_vst1v4sf                     (rtx, rtx);
3445extern rtx        gen_neon_vst1di                       (rtx, rtx);
3446extern rtx        gen_neon_vst1v2di                     (rtx, rtx);
3447extern rtx        gen_neon_vst1_lanev8qi                (rtx, rtx, rtx);
3448extern rtx        gen_neon_vst1_lanev4hi                (rtx, rtx, rtx);
3449extern rtx        gen_neon_vst1_lanev2si                (rtx, rtx, rtx);
3450extern rtx        gen_neon_vst1_lanev2sf                (rtx, rtx, rtx);
3451extern rtx        gen_neon_vst1_lanedi                  (rtx, rtx, rtx);
3452extern rtx        gen_neon_vst1_lanev16qi               (rtx, rtx, rtx);
3453extern rtx        gen_neon_vst1_lanev8hi                (rtx, rtx, rtx);
3454extern rtx        gen_neon_vst1_lanev4si                (rtx, rtx, rtx);
3455extern rtx        gen_neon_vst1_lanev4sf                (rtx, rtx, rtx);
3456extern rtx        gen_neon_vst1_lanev2di                (rtx, rtx, rtx);
3457extern rtx        gen_neon_vld2v8qi                     (rtx, rtx);
3458extern rtx        gen_neon_vld2v4hi                     (rtx, rtx);
3459extern rtx        gen_neon_vld2v2si                     (rtx, rtx);
3460extern rtx        gen_neon_vld2v2sf                     (rtx, rtx);
3461extern rtx        gen_neon_vld2di                       (rtx, rtx);
3462extern rtx        gen_neon_vld2v16qi                    (rtx, rtx);
3463extern rtx        gen_neon_vld2v8hi                     (rtx, rtx);
3464extern rtx        gen_neon_vld2v4si                     (rtx, rtx);
3465extern rtx        gen_neon_vld2v4sf                     (rtx, rtx);
3466extern rtx        gen_neon_vld2_lanev8qi                (rtx, rtx, rtx, rtx);
3467extern rtx        gen_neon_vld2_lanev4hi                (rtx, rtx, rtx, rtx);
3468extern rtx        gen_neon_vld2_lanev2si                (rtx, rtx, rtx, rtx);
3469extern rtx        gen_neon_vld2_lanev2sf                (rtx, rtx, rtx, rtx);
3470extern rtx        gen_neon_vld2_lanev8hi                (rtx, rtx, rtx, rtx);
3471extern rtx        gen_neon_vld2_lanev4si                (rtx, rtx, rtx, rtx);
3472extern rtx        gen_neon_vld2_lanev4sf                (rtx, rtx, rtx, rtx);
3473extern rtx        gen_neon_vld2_dupv8qi                 (rtx, rtx);
3474extern rtx        gen_neon_vld2_dupv4hi                 (rtx, rtx);
3475extern rtx        gen_neon_vld2_dupv2si                 (rtx, rtx);
3476extern rtx        gen_neon_vld2_dupv2sf                 (rtx, rtx);
3477extern rtx        gen_neon_vld2_dupdi                   (rtx, rtx);
3478extern rtx        gen_neon_vst2v8qi                     (rtx, rtx);
3479extern rtx        gen_neon_vst2v4hi                     (rtx, rtx);
3480extern rtx        gen_neon_vst2v2si                     (rtx, rtx);
3481extern rtx        gen_neon_vst2v2sf                     (rtx, rtx);
3482extern rtx        gen_neon_vst2di                       (rtx, rtx);
3483extern rtx        gen_neon_vst2v16qi                    (rtx, rtx);
3484extern rtx        gen_neon_vst2v8hi                     (rtx, rtx);
3485extern rtx        gen_neon_vst2v4si                     (rtx, rtx);
3486extern rtx        gen_neon_vst2v4sf                     (rtx, rtx);
3487extern rtx        gen_neon_vst2_lanev8qi                (rtx, rtx, rtx);
3488extern rtx        gen_neon_vst2_lanev4hi                (rtx, rtx, rtx);
3489extern rtx        gen_neon_vst2_lanev2si                (rtx, rtx, rtx);
3490extern rtx        gen_neon_vst2_lanev2sf                (rtx, rtx, rtx);
3491extern rtx        gen_neon_vst2_lanev8hi                (rtx, rtx, rtx);
3492extern rtx        gen_neon_vst2_lanev4si                (rtx, rtx, rtx);
3493extern rtx        gen_neon_vst2_lanev4sf                (rtx, rtx, rtx);
3494extern rtx        gen_neon_vld3v8qi                     (rtx, rtx);
3495extern rtx        gen_neon_vld3v4hi                     (rtx, rtx);
3496extern rtx        gen_neon_vld3v2si                     (rtx, rtx);
3497extern rtx        gen_neon_vld3v2sf                     (rtx, rtx);
3498extern rtx        gen_neon_vld3di                       (rtx, rtx);
3499extern rtx        gen_neon_vld3qav16qi                  (rtx, rtx);
3500extern rtx        gen_neon_vld3qav8hi                   (rtx, rtx);
3501extern rtx        gen_neon_vld3qav4si                   (rtx, rtx);
3502extern rtx        gen_neon_vld3qav4sf                   (rtx, rtx);
3503extern rtx        gen_neon_vld3qbv16qi                  (rtx, rtx, rtx);
3504extern rtx        gen_neon_vld3qbv8hi                   (rtx, rtx, rtx);
3505extern rtx        gen_neon_vld3qbv4si                   (rtx, rtx, rtx);
3506extern rtx        gen_neon_vld3qbv4sf                   (rtx, rtx, rtx);
3507extern rtx        gen_neon_vld3_lanev8qi                (rtx, rtx, rtx, rtx);
3508extern rtx        gen_neon_vld3_lanev4hi                (rtx, rtx, rtx, rtx);
3509extern rtx        gen_neon_vld3_lanev2si                (rtx, rtx, rtx, rtx);
3510extern rtx        gen_neon_vld3_lanev2sf                (rtx, rtx, rtx, rtx);
3511extern rtx        gen_neon_vld3_lanev8hi                (rtx, rtx, rtx, rtx);
3512extern rtx        gen_neon_vld3_lanev4si                (rtx, rtx, rtx, rtx);
3513extern rtx        gen_neon_vld3_lanev4sf                (rtx, rtx, rtx, rtx);
3514extern rtx        gen_neon_vld3_dupv8qi                 (rtx, rtx);
3515extern rtx        gen_neon_vld3_dupv4hi                 (rtx, rtx);
3516extern rtx        gen_neon_vld3_dupv2si                 (rtx, rtx);
3517extern rtx        gen_neon_vld3_dupv2sf                 (rtx, rtx);
3518extern rtx        gen_neon_vld3_dupdi                   (rtx, rtx);
3519extern rtx        gen_neon_vst3v8qi                     (rtx, rtx);
3520extern rtx        gen_neon_vst3v4hi                     (rtx, rtx);
3521extern rtx        gen_neon_vst3v2si                     (rtx, rtx);
3522extern rtx        gen_neon_vst3v2sf                     (rtx, rtx);
3523extern rtx        gen_neon_vst3di                       (rtx, rtx);
3524extern rtx        gen_neon_vst3qav16qi                  (rtx, rtx);
3525extern rtx        gen_neon_vst3qav8hi                   (rtx, rtx);
3526extern rtx        gen_neon_vst3qav4si                   (rtx, rtx);
3527extern rtx        gen_neon_vst3qav4sf                   (rtx, rtx);
3528extern rtx        gen_neon_vst3qbv16qi                  (rtx, rtx);
3529extern rtx        gen_neon_vst3qbv8hi                   (rtx, rtx);
3530extern rtx        gen_neon_vst3qbv4si                   (rtx, rtx);
3531extern rtx        gen_neon_vst3qbv4sf                   (rtx, rtx);
3532extern rtx        gen_neon_vst3_lanev8qi                (rtx, rtx, rtx);
3533extern rtx        gen_neon_vst3_lanev4hi                (rtx, rtx, rtx);
3534extern rtx        gen_neon_vst3_lanev2si                (rtx, rtx, rtx);
3535extern rtx        gen_neon_vst3_lanev2sf                (rtx, rtx, rtx);
3536extern rtx        gen_neon_vst3_lanev8hi                (rtx, rtx, rtx);
3537extern rtx        gen_neon_vst3_lanev4si                (rtx, rtx, rtx);
3538extern rtx        gen_neon_vst3_lanev4sf                (rtx, rtx, rtx);
3539extern rtx        gen_neon_vld4v8qi                     (rtx, rtx);
3540extern rtx        gen_neon_vld4v4hi                     (rtx, rtx);
3541extern rtx        gen_neon_vld4v2si                     (rtx, rtx);
3542extern rtx        gen_neon_vld4v2sf                     (rtx, rtx);
3543extern rtx        gen_neon_vld4di                       (rtx, rtx);
3544extern rtx        gen_neon_vld4qav16qi                  (rtx, rtx);
3545extern rtx        gen_neon_vld4qav8hi                   (rtx, rtx);
3546extern rtx        gen_neon_vld4qav4si                   (rtx, rtx);
3547extern rtx        gen_neon_vld4qav4sf                   (rtx, rtx);
3548extern rtx        gen_neon_vld4qbv16qi                  (rtx, rtx, rtx);
3549extern rtx        gen_neon_vld4qbv8hi                   (rtx, rtx, rtx);
3550extern rtx        gen_neon_vld4qbv4si                   (rtx, rtx, rtx);
3551extern rtx        gen_neon_vld4qbv4sf                   (rtx, rtx, rtx);
3552extern rtx        gen_neon_vld4_lanev8qi                (rtx, rtx, rtx, rtx);
3553extern rtx        gen_neon_vld4_lanev4hi                (rtx, rtx, rtx, rtx);
3554extern rtx        gen_neon_vld4_lanev2si                (rtx, rtx, rtx, rtx);
3555extern rtx        gen_neon_vld4_lanev2sf                (rtx, rtx, rtx, rtx);
3556extern rtx        gen_neon_vld4_lanev8hi                (rtx, rtx, rtx, rtx);
3557extern rtx        gen_neon_vld4_lanev4si                (rtx, rtx, rtx, rtx);
3558extern rtx        gen_neon_vld4_lanev4sf                (rtx, rtx, rtx, rtx);
3559extern rtx        gen_neon_vld4_dupv8qi                 (rtx, rtx);
3560extern rtx        gen_neon_vld4_dupv4hi                 (rtx, rtx);
3561extern rtx        gen_neon_vld4_dupv2si                 (rtx, rtx);
3562extern rtx        gen_neon_vld4_dupv2sf                 (rtx, rtx);
3563extern rtx        gen_neon_vld4_dupdi                   (rtx, rtx);
3564extern rtx        gen_neon_vst4v8qi                     (rtx, rtx);
3565extern rtx        gen_neon_vst4v4hi                     (rtx, rtx);
3566extern rtx        gen_neon_vst4v2si                     (rtx, rtx);
3567extern rtx        gen_neon_vst4v2sf                     (rtx, rtx);
3568extern rtx        gen_neon_vst4di                       (rtx, rtx);
3569extern rtx        gen_neon_vst4qav16qi                  (rtx, rtx);
3570extern rtx        gen_neon_vst4qav8hi                   (rtx, rtx);
3571extern rtx        gen_neon_vst4qav4si                   (rtx, rtx);
3572extern rtx        gen_neon_vst4qav4sf                   (rtx, rtx);
3573extern rtx        gen_neon_vst4qbv16qi                  (rtx, rtx);
3574extern rtx        gen_neon_vst4qbv8hi                   (rtx, rtx);
3575extern rtx        gen_neon_vst4qbv4si                   (rtx, rtx);
3576extern rtx        gen_neon_vst4qbv4sf                   (rtx, rtx);
3577extern rtx        gen_neon_vst4_lanev8qi                (rtx, rtx, rtx);
3578extern rtx        gen_neon_vst4_lanev4hi                (rtx, rtx, rtx);
3579extern rtx        gen_neon_vst4_lanev2si                (rtx, rtx, rtx);
3580extern rtx        gen_neon_vst4_lanev2sf                (rtx, rtx, rtx);
3581extern rtx        gen_neon_vst4_lanev8hi                (rtx, rtx, rtx);
3582extern rtx        gen_neon_vst4_lanev4si                (rtx, rtx, rtx);
3583extern rtx        gen_neon_vst4_lanev4sf                (rtx, rtx, rtx);
3584extern rtx        gen_neon_vec_unpacks_lo_v16qi         (rtx, rtx, rtx);
3585extern rtx        gen_neon_vec_unpacku_lo_v16qi         (rtx, rtx, rtx);
3586extern rtx        gen_neon_vec_unpacks_lo_v8hi          (rtx, rtx, rtx);
3587extern rtx        gen_neon_vec_unpacku_lo_v8hi          (rtx, rtx, rtx);
3588extern rtx        gen_neon_vec_unpacks_lo_v4si          (rtx, rtx, rtx);
3589extern rtx        gen_neon_vec_unpacku_lo_v4si          (rtx, rtx, rtx);
3590extern rtx        gen_neon_vec_unpacks_hi_v16qi         (rtx, rtx, rtx);
3591extern rtx        gen_neon_vec_unpacku_hi_v16qi         (rtx, rtx, rtx);
3592extern rtx        gen_neon_vec_unpacks_hi_v8hi          (rtx, rtx, rtx);
3593extern rtx        gen_neon_vec_unpacku_hi_v8hi          (rtx, rtx, rtx);
3594extern rtx        gen_neon_vec_unpacks_hi_v4si          (rtx, rtx, rtx);
3595extern rtx        gen_neon_vec_unpacku_hi_v4si          (rtx, rtx, rtx);
3596extern rtx        gen_neon_vec_smult_lo_v16qi           (rtx, rtx, rtx, rtx);
3597extern rtx        gen_neon_vec_umult_lo_v16qi           (rtx, rtx, rtx, rtx);
3598extern rtx        gen_neon_vec_smult_lo_v8hi            (rtx, rtx, rtx, rtx);
3599extern rtx        gen_neon_vec_umult_lo_v8hi            (rtx, rtx, rtx, rtx);
3600extern rtx        gen_neon_vec_smult_lo_v4si            (rtx, rtx, rtx, rtx);
3601extern rtx        gen_neon_vec_umult_lo_v4si            (rtx, rtx, rtx, rtx);
3602extern rtx        gen_neon_vec_smult_hi_v16qi           (rtx, rtx, rtx, rtx);
3603extern rtx        gen_neon_vec_umult_hi_v16qi           (rtx, rtx, rtx, rtx);
3604extern rtx        gen_neon_vec_smult_hi_v8hi            (rtx, rtx, rtx, rtx);
3605extern rtx        gen_neon_vec_umult_hi_v8hi            (rtx, rtx, rtx, rtx);
3606extern rtx        gen_neon_vec_smult_hi_v4si            (rtx, rtx, rtx, rtx);
3607extern rtx        gen_neon_vec_umult_hi_v4si            (rtx, rtx, rtx, rtx);
3608extern rtx        gen_neon_vec_sshiftl_v8qi             (rtx, rtx, rtx);
3609extern rtx        gen_neon_vec_ushiftl_v8qi             (rtx, rtx, rtx);
3610extern rtx        gen_neon_vec_sshiftl_v4hi             (rtx, rtx, rtx);
3611extern rtx        gen_neon_vec_ushiftl_v4hi             (rtx, rtx, rtx);
3612extern rtx        gen_neon_vec_sshiftl_v2si             (rtx, rtx, rtx);
3613extern rtx        gen_neon_vec_ushiftl_v2si             (rtx, rtx, rtx);
3614extern rtx        gen_neon_unpacks_v8qi                 (rtx, rtx);
3615extern rtx        gen_neon_unpacku_v8qi                 (rtx, rtx);
3616extern rtx        gen_neon_unpacks_v4hi                 (rtx, rtx);
3617extern rtx        gen_neon_unpacku_v4hi                 (rtx, rtx);
3618extern rtx        gen_neon_unpacks_v2si                 (rtx, rtx);
3619extern rtx        gen_neon_unpacku_v2si                 (rtx, rtx);
3620extern rtx        gen_neon_vec_smult_v8qi               (rtx, rtx, rtx);
3621extern rtx        gen_neon_vec_umult_v8qi               (rtx, rtx, rtx);
3622extern rtx        gen_neon_vec_smult_v4hi               (rtx, rtx, rtx);
3623extern rtx        gen_neon_vec_umult_v4hi               (rtx, rtx, rtx);
3624extern rtx        gen_neon_vec_smult_v2si               (rtx, rtx, rtx);
3625extern rtx        gen_neon_vec_umult_v2si               (rtx, rtx, rtx);
3626extern rtx        gen_vec_pack_trunc_v8hi               (rtx, rtx, rtx);
3627extern rtx        gen_vec_pack_trunc_v4si               (rtx, rtx, rtx);
3628extern rtx        gen_vec_pack_trunc_v2di               (rtx, rtx, rtx);
3629extern rtx        gen_neon_vec_pack_trunc_v8hi          (rtx, rtx);
3630extern rtx        gen_neon_vec_pack_trunc_v4si          (rtx, rtx);
3631extern rtx        gen_neon_vec_pack_trunc_v2di          (rtx, rtx);
3632extern rtx        gen_neon_vabdv8qi_2                   (rtx, rtx, rtx);
3633extern rtx        gen_neon_vabdv16qi_2                  (rtx, rtx, rtx);
3634extern rtx        gen_neon_vabdv4hi_2                   (rtx, rtx, rtx);
3635extern rtx        gen_neon_vabdv8hi_2                   (rtx, rtx, rtx);
3636extern rtx        gen_neon_vabdv2si_2                   (rtx, rtx, rtx);
3637extern rtx        gen_neon_vabdv4si_2                   (rtx, rtx, rtx);
3638extern rtx        gen_neon_vabdv2sf_2                   (rtx, rtx, rtx);
3639extern rtx        gen_neon_vabdv4sf_2                   (rtx, rtx, rtx);
3640extern rtx        gen_neon_vabdv2di_2                   (rtx, rtx, rtx);
3641extern rtx        gen_neon_vabdv8qi_3                   (rtx, rtx, rtx);
3642extern rtx        gen_neon_vabdv16qi_3                  (rtx, rtx, rtx);
3643extern rtx        gen_neon_vabdv4hi_3                   (rtx, rtx, rtx);
3644extern rtx        gen_neon_vabdv8hi_3                   (rtx, rtx, rtx);
3645extern rtx        gen_neon_vabdv2si_3                   (rtx, rtx, rtx);
3646extern rtx        gen_neon_vabdv4si_3                   (rtx, rtx, rtx);
3647extern rtx        gen_neon_vabdv2sf_3                   (rtx, rtx, rtx);
3648extern rtx        gen_neon_vabdv4sf_3                   (rtx, rtx, rtx);
3649extern rtx        gen_neon_vabdv2di_3                   (rtx, rtx, rtx);
3650extern rtx        gen_atomic_loaddi_1                   (rtx, rtx);
3651extern rtx        gen_atomic_compare_and_swapqi_1       (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
3652extern rtx        gen_atomic_compare_and_swaphi_1       (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
3653extern rtx        gen_atomic_compare_and_swapsi_1       (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
3654extern rtx        gen_atomic_compare_and_swapdi_1       (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
3655extern rtx        gen_atomic_exchangeqi                 (rtx, rtx, rtx, rtx);
3656extern rtx        gen_atomic_exchangehi                 (rtx, rtx, rtx, rtx);
3657extern rtx        gen_atomic_exchangesi                 (rtx, rtx, rtx, rtx);
3658extern rtx        gen_atomic_exchangedi                 (rtx, rtx, rtx, rtx);
3659extern rtx        gen_atomic_addqi                      (rtx, rtx, rtx);
3660extern rtx        gen_atomic_subqi                      (rtx, rtx, rtx);
3661extern rtx        gen_atomic_orqi                       (rtx, rtx, rtx);
3662extern rtx        gen_atomic_xorqi                      (rtx, rtx, rtx);
3663extern rtx        gen_atomic_andqi                      (rtx, rtx, rtx);
3664extern rtx        gen_atomic_addhi                      (rtx, rtx, rtx);
3665extern rtx        gen_atomic_subhi                      (rtx, rtx, rtx);
3666extern rtx        gen_atomic_orhi                       (rtx, rtx, rtx);
3667extern rtx        gen_atomic_xorhi                      (rtx, rtx, rtx);
3668extern rtx        gen_atomic_andhi                      (rtx, rtx, rtx);
3669extern rtx        gen_atomic_addsi                      (rtx, rtx, rtx);
3670extern rtx        gen_atomic_subsi                      (rtx, rtx, rtx);
3671extern rtx        gen_atomic_orsi                       (rtx, rtx, rtx);
3672extern rtx        gen_atomic_xorsi                      (rtx, rtx, rtx);
3673extern rtx        gen_atomic_andsi                      (rtx, rtx, rtx);
3674extern rtx        gen_atomic_adddi                      (rtx, rtx, rtx);
3675extern rtx        gen_atomic_subdi                      (rtx, rtx, rtx);
3676extern rtx        gen_atomic_ordi                       (rtx, rtx, rtx);
3677extern rtx        gen_atomic_xordi                      (rtx, rtx, rtx);
3678extern rtx        gen_atomic_anddi                      (rtx, rtx, rtx);
3679extern rtx        gen_atomic_nandqi                     (rtx, rtx, rtx);
3680extern rtx        gen_atomic_nandhi                     (rtx, rtx, rtx);
3681extern rtx        gen_atomic_nandsi                     (rtx, rtx, rtx);
3682extern rtx        gen_atomic_nanddi                     (rtx, rtx, rtx);
3683extern rtx        gen_atomic_fetch_addqi                (rtx, rtx, rtx, rtx);
3684extern rtx        gen_atomic_fetch_subqi                (rtx, rtx, rtx, rtx);
3685extern rtx        gen_atomic_fetch_orqi                 (rtx, rtx, rtx, rtx);
3686extern rtx        gen_atomic_fetch_xorqi                (rtx, rtx, rtx, rtx);
3687extern rtx        gen_atomic_fetch_andqi                (rtx, rtx, rtx, rtx);
3688extern rtx        gen_atomic_fetch_addhi                (rtx, rtx, rtx, rtx);
3689extern rtx        gen_atomic_fetch_subhi                (rtx, rtx, rtx, rtx);
3690extern rtx        gen_atomic_fetch_orhi                 (rtx, rtx, rtx, rtx);
3691extern rtx        gen_atomic_fetch_xorhi                (rtx, rtx, rtx, rtx);
3692extern rtx        gen_atomic_fetch_andhi                (rtx, rtx, rtx, rtx);
3693extern rtx        gen_atomic_fetch_addsi                (rtx, rtx, rtx, rtx);
3694extern rtx        gen_atomic_fetch_subsi                (rtx, rtx, rtx, rtx);
3695extern rtx        gen_atomic_fetch_orsi                 (rtx, rtx, rtx, rtx);
3696extern rtx        gen_atomic_fetch_xorsi                (rtx, rtx, rtx, rtx);
3697extern rtx        gen_atomic_fetch_andsi                (rtx, rtx, rtx, rtx);
3698extern rtx        gen_atomic_fetch_adddi                (rtx, rtx, rtx, rtx);
3699extern rtx        gen_atomic_fetch_subdi                (rtx, rtx, rtx, rtx);
3700extern rtx        gen_atomic_fetch_ordi                 (rtx, rtx, rtx, rtx);
3701extern rtx        gen_atomic_fetch_xordi                (rtx, rtx, rtx, rtx);
3702extern rtx        gen_atomic_fetch_anddi                (rtx, rtx, rtx, rtx);
3703extern rtx        gen_atomic_fetch_nandqi               (rtx, rtx, rtx, rtx);
3704extern rtx        gen_atomic_fetch_nandhi               (rtx, rtx, rtx, rtx);
3705extern rtx        gen_atomic_fetch_nandsi               (rtx, rtx, rtx, rtx);
3706extern rtx        gen_atomic_fetch_nanddi               (rtx, rtx, rtx, rtx);
3707extern rtx        gen_atomic_add_fetchqi                (rtx, rtx, rtx, rtx);
3708extern rtx        gen_atomic_sub_fetchqi                (rtx, rtx, rtx, rtx);
3709extern rtx        gen_atomic_or_fetchqi                 (rtx, rtx, rtx, rtx);
3710extern rtx        gen_atomic_xor_fetchqi                (rtx, rtx, rtx, rtx);
3711extern rtx        gen_atomic_and_fetchqi                (rtx, rtx, rtx, rtx);
3712extern rtx        gen_atomic_add_fetchhi                (rtx, rtx, rtx, rtx);
3713extern rtx        gen_atomic_sub_fetchhi                (rtx, rtx, rtx, rtx);
3714extern rtx        gen_atomic_or_fetchhi                 (rtx, rtx, rtx, rtx);
3715extern rtx        gen_atomic_xor_fetchhi                (rtx, rtx, rtx, rtx);
3716extern rtx        gen_atomic_and_fetchhi                (rtx, rtx, rtx, rtx);
3717extern rtx        gen_atomic_add_fetchsi                (rtx, rtx, rtx, rtx);
3718extern rtx        gen_atomic_sub_fetchsi                (rtx, rtx, rtx, rtx);
3719extern rtx        gen_atomic_or_fetchsi                 (rtx, rtx, rtx, rtx);
3720extern rtx        gen_atomic_xor_fetchsi                (rtx, rtx, rtx, rtx);
3721extern rtx        gen_atomic_and_fetchsi                (rtx, rtx, rtx, rtx);
3722extern rtx        gen_atomic_add_fetchdi                (rtx, rtx, rtx, rtx);
3723extern rtx        gen_atomic_sub_fetchdi                (rtx, rtx, rtx, rtx);
3724extern rtx        gen_atomic_or_fetchdi                 (rtx, rtx, rtx, rtx);
3725extern rtx        gen_atomic_xor_fetchdi                (rtx, rtx, rtx, rtx);
3726extern rtx        gen_atomic_and_fetchdi                (rtx, rtx, rtx, rtx);
3727extern rtx        gen_atomic_nand_fetchqi               (rtx, rtx, rtx, rtx);
3728extern rtx        gen_atomic_nand_fetchhi               (rtx, rtx, rtx, rtx);
3729extern rtx        gen_atomic_nand_fetchsi               (rtx, rtx, rtx, rtx);
3730extern rtx        gen_atomic_nand_fetchdi               (rtx, rtx, rtx, rtx);
3731extern rtx        gen_arm_load_exclusiveqi              (rtx, rtx);
3732extern rtx        gen_arm_load_exclusivehi              (rtx, rtx);
3733extern rtx        gen_arm_load_exclusivesi              (rtx, rtx);
3734extern rtx        gen_arm_load_exclusivedi              (rtx, rtx);
3735extern rtx        gen_arm_store_exclusiveqi             (rtx, rtx, rtx);
3736extern rtx        gen_arm_store_exclusivehi             (rtx, rtx, rtx);
3737extern rtx        gen_arm_store_exclusivesi             (rtx, rtx, rtx);
3738extern rtx        gen_arm_store_exclusivedi             (rtx, rtx, rtx);
3739extern rtx        gen_addqq3                            (rtx, rtx, rtx);
3740extern rtx        gen_addhq3                            (rtx, rtx, rtx);
3741extern rtx        gen_addsq3                            (rtx, rtx, rtx);
3742extern rtx        gen_adduqq3                           (rtx, rtx, rtx);
3743extern rtx        gen_adduhq3                           (rtx, rtx, rtx);
3744extern rtx        gen_addusq3                           (rtx, rtx, rtx);
3745extern rtx        gen_addha3                            (rtx, rtx, rtx);
3746extern rtx        gen_addsa3                            (rtx, rtx, rtx);
3747extern rtx        gen_adduha3                           (rtx, rtx, rtx);
3748extern rtx        gen_addusa3                           (rtx, rtx, rtx);
3749extern rtx        gen_addv4qq3                          (rtx, rtx, rtx);
3750extern rtx        gen_addv2hq3                          (rtx, rtx, rtx);
3751extern rtx        gen_addv2ha3                          (rtx, rtx, rtx);
3752extern rtx        gen_usaddv4uqq3                       (rtx, rtx, rtx);
3753extern rtx        gen_usaddv2uhq3                       (rtx, rtx, rtx);
3754extern rtx        gen_usadduqq3                         (rtx, rtx, rtx);
3755extern rtx        gen_usadduhq3                         (rtx, rtx, rtx);
3756extern rtx        gen_usaddv2uha3                       (rtx, rtx, rtx);
3757extern rtx        gen_usadduha3                         (rtx, rtx, rtx);
3758extern rtx        gen_ssaddv4qq3                        (rtx, rtx, rtx);
3759extern rtx        gen_ssaddv2hq3                        (rtx, rtx, rtx);
3760extern rtx        gen_ssaddqq3                          (rtx, rtx, rtx);
3761extern rtx        gen_ssaddhq3                          (rtx, rtx, rtx);
3762extern rtx        gen_ssaddv2ha3                        (rtx, rtx, rtx);
3763extern rtx        gen_ssaddha3                          (rtx, rtx, rtx);
3764extern rtx        gen_ssaddsq3                          (rtx, rtx, rtx);
3765extern rtx        gen_ssaddsa3                          (rtx, rtx, rtx);
3766extern rtx        gen_subqq3                            (rtx, rtx, rtx);
3767extern rtx        gen_subhq3                            (rtx, rtx, rtx);
3768extern rtx        gen_subsq3                            (rtx, rtx, rtx);
3769extern rtx        gen_subuqq3                           (rtx, rtx, rtx);
3770extern rtx        gen_subuhq3                           (rtx, rtx, rtx);
3771extern rtx        gen_subusq3                           (rtx, rtx, rtx);
3772extern rtx        gen_subha3                            (rtx, rtx, rtx);
3773extern rtx        gen_subsa3                            (rtx, rtx, rtx);
3774extern rtx        gen_subuha3                           (rtx, rtx, rtx);
3775extern rtx        gen_subusa3                           (rtx, rtx, rtx);
3776extern rtx        gen_subv4qq3                          (rtx, rtx, rtx);
3777extern rtx        gen_subv2hq3                          (rtx, rtx, rtx);
3778extern rtx        gen_subv2ha3                          (rtx, rtx, rtx);
3779extern rtx        gen_ussubv4uqq3                       (rtx, rtx, rtx);
3780extern rtx        gen_ussubv2uhq3                       (rtx, rtx, rtx);
3781extern rtx        gen_ussubuqq3                         (rtx, rtx, rtx);
3782extern rtx        gen_ussubuhq3                         (rtx, rtx, rtx);
3783extern rtx        gen_ussubv2uha3                       (rtx, rtx, rtx);
3784extern rtx        gen_ussubuha3                         (rtx, rtx, rtx);
3785extern rtx        gen_sssubv4qq3                        (rtx, rtx, rtx);
3786extern rtx        gen_sssubv2hq3                        (rtx, rtx, rtx);
3787extern rtx        gen_sssubqq3                          (rtx, rtx, rtx);
3788extern rtx        gen_sssubhq3                          (rtx, rtx, rtx);
3789extern rtx        gen_sssubv2ha3                        (rtx, rtx, rtx);
3790extern rtx        gen_sssubha3                          (rtx, rtx, rtx);
3791extern rtx        gen_sssubsq3                          (rtx, rtx, rtx);
3792extern rtx        gen_sssubsa3                          (rtx, rtx, rtx);
3793extern rtx        gen_ssmulsa3                          (rtx, rtx, rtx);
3794extern rtx        gen_usmulusa3                         (rtx, rtx, rtx);
3795extern rtx        gen_arm_ssatsihi_shift                (rtx, rtx, rtx, rtx);
3796extern rtx        gen_arm_usatsihi                      (rtx, rtx);
3797extern rtx        gen_adddi3                            (rtx, rtx, rtx);
3798extern rtx        gen_addsi3                            (rtx, rtx, rtx);
3799extern rtx        gen_incscc                            (rtx, rtx, rtx, rtx);
3800extern rtx        gen_addsf3                            (rtx, rtx, rtx);
3801extern rtx        gen_adddf3                            (rtx, rtx, rtx);
3802extern rtx        gen_subdi3                            (rtx, rtx, rtx);
3803extern rtx        gen_subsi3                            (rtx, rtx, rtx);
3804extern rtx        gen_decscc                            (rtx, rtx, rtx, rtx);
3805extern rtx        gen_subsf3                            (rtx, rtx, rtx);
3806extern rtx        gen_subdf3                            (rtx, rtx, rtx);
3807extern rtx        gen_mulsi3                            (rtx, rtx, rtx);
3808extern rtx        gen_maddsidi4                         (rtx, rtx, rtx, rtx);
3809extern rtx        gen_mulsidi3                          (rtx, rtx, rtx);
3810extern rtx        gen_umulsidi3                         (rtx, rtx, rtx);
3811extern rtx        gen_umaddsidi4                        (rtx, rtx, rtx, rtx);
3812extern rtx        gen_smulsi3_highpart                  (rtx, rtx, rtx);
3813extern rtx        gen_umulsi3_highpart                  (rtx, rtx, rtx);
3814extern rtx        gen_mulsf3                            (rtx, rtx, rtx);
3815extern rtx        gen_muldf3                            (rtx, rtx, rtx);
3816extern rtx        gen_divsf3                            (rtx, rtx, rtx);
3817extern rtx        gen_divdf3                            (rtx, rtx, rtx);
3818extern rtx        gen_anddi3                            (rtx, rtx, rtx);
3819extern rtx        gen_andsi3                            (rtx, rtx, rtx);
3820extern rtx        gen_insv                              (rtx, rtx, rtx, rtx);
3821extern rtx        gen_iordi3                            (rtx, rtx, rtx);
3822extern rtx        gen_iorsi3                            (rtx, rtx, rtx);
3823extern rtx        gen_xordi3                            (rtx, rtx, rtx);
3824extern rtx        gen_xorsi3                            (rtx, rtx, rtx);
3825extern rtx        gen_smaxsi3                           (rtx, rtx, rtx);
3826extern rtx        gen_sminsi3                           (rtx, rtx, rtx);
3827extern rtx        gen_umaxsi3                           (rtx, rtx, rtx);
3828extern rtx        gen_uminsi3                           (rtx, rtx, rtx);
3829extern rtx        gen_ashldi3                           (rtx, rtx, rtx);
3830extern rtx        gen_ashlsi3                           (rtx, rtx, rtx);
3831extern rtx        gen_ashrdi3                           (rtx, rtx, rtx);
3832extern rtx        gen_ashrsi3                           (rtx, rtx, rtx);
3833extern rtx        gen_lshrdi3                           (rtx, rtx, rtx);
3834extern rtx        gen_lshrsi3                           (rtx, rtx, rtx);
3835extern rtx        gen_rotlsi3                           (rtx, rtx, rtx);
3836extern rtx        gen_rotrsi3                           (rtx, rtx, rtx);
3837extern rtx        gen_extzv                             (rtx, rtx, rtx, rtx);
3838extern rtx        gen_extzv_t1                          (rtx, rtx, rtx, rtx, rtx);
3839extern rtx        gen_extv                              (rtx, rtx, rtx, rtx);
3840extern rtx        gen_extv_regsi                        (rtx, rtx, rtx, rtx);
3841extern rtx        gen_negdi2                            (rtx, rtx);
3842extern rtx        gen_negsi2                            (rtx, rtx);
3843extern rtx        gen_negsf2                            (rtx, rtx);
3844extern rtx        gen_negdf2                            (rtx, rtx);
3845extern rtx        gen_abssi2                            (rtx, rtx);
3846extern rtx        gen_abssf2                            (rtx, rtx);
3847extern rtx        gen_absdf2                            (rtx, rtx);
3848extern rtx        gen_sqrtsf2                           (rtx, rtx);
3849extern rtx        gen_sqrtdf2                           (rtx, rtx);
3850extern rtx        gen_one_cmplsi2                       (rtx, rtx);
3851extern rtx        gen_floatsihf2                        (rtx, rtx);
3852extern rtx        gen_floatdihf2                        (rtx, rtx);
3853extern rtx        gen_floatsisf2                        (rtx, rtx);
3854extern rtx        gen_floatsidf2                        (rtx, rtx);
3855extern rtx        gen_fix_trunchfsi2                    (rtx, rtx);
3856extern rtx        gen_fix_trunchfdi2                    (rtx, rtx);
3857extern rtx        gen_fix_truncsfsi2                    (rtx, rtx);
3858extern rtx        gen_fix_truncdfsi2                    (rtx, rtx);
3859extern rtx        gen_truncdfsf2                        (rtx, rtx);
3860extern rtx        gen_truncdfhf2                        (rtx, rtx);
3861extern rtx        gen_zero_extendhisi2                  (rtx, rtx);
3862extern rtx        gen_zero_extendqisi2                  (rtx, rtx);
3863extern rtx        gen_extendhisi2                       (rtx, rtx);
3864extern rtx        gen_extendhisi2_mem                   (rtx, rtx);
3865extern rtx        gen_extendqihi2                       (rtx, rtx);
3866extern rtx        gen_extendqisi2                       (rtx, rtx);
3867extern rtx        gen_extendsfdf2                       (rtx, rtx);
3868extern rtx        gen_extendhfdf2                       (rtx, rtx);
3869extern rtx        gen_movdi                             (rtx, rtx);
3870extern rtx        gen_movsi                             (rtx, rtx);
3871extern rtx        gen_calculate_pic_address             (rtx, rtx, rtx);
3872extern rtx        gen_builtin_setjmp_receiver           (rtx);
3873extern rtx        gen_storehi                           (rtx, rtx);
3874extern rtx        gen_storehi_bigend                    (rtx, rtx);
3875extern rtx        gen_storeinthi                        (rtx, rtx);
3876extern rtx        gen_storehi_single_op                 (rtx, rtx);
3877extern rtx        gen_movhi                             (rtx, rtx);
3878extern rtx        gen_movhi_bytes                       (rtx, rtx);
3879extern rtx        gen_movhi_bigend                      (rtx, rtx);
3880extern rtx        gen_thumb_movhi_clobber               (rtx, rtx, rtx);
3881extern rtx        gen_reload_outhi                      (rtx, rtx, rtx);
3882extern rtx        gen_reload_inhi                       (rtx, rtx, rtx);
3883extern rtx        gen_movqi                             (rtx, rtx);
3884extern rtx        gen_movhf                             (rtx, rtx);
3885extern rtx        gen_movsf                             (rtx, rtx);
3886extern rtx        gen_movdf                             (rtx, rtx);
3887extern rtx        gen_reload_outdf                      (rtx, rtx, rtx);
3888extern rtx        gen_load_multiple                     (rtx, rtx, rtx);
3889extern rtx        gen_store_multiple                    (rtx, rtx, rtx);
3890extern rtx        gen_movmemqi                          (rtx, rtx, rtx, rtx);
3891extern rtx        gen_cbranchsi4                        (rtx, rtx, rtx, rtx);
3892extern rtx        gen_cbranchqi4                        (rtx, rtx, rtx, rtx);
3893extern rtx        gen_cbranchsf4                        (rtx, rtx, rtx, rtx);
3894extern rtx        gen_cbranchdf4                        (rtx, rtx, rtx, rtx);
3895extern rtx        gen_cbranchdi4                        (rtx, rtx, rtx, rtx);
3896extern rtx        gen_cbranch_cc                        (rtx, rtx, rtx, rtx);
3897extern rtx        gen_cstore_cc                         (rtx, rtx, rtx, rtx);
3898extern rtx        gen_cstoresi4                         (rtx, rtx, rtx, rtx);
3899extern rtx        gen_cstoresf4                         (rtx, rtx, rtx, rtx);
3900extern rtx        gen_cstoredf4                         (rtx, rtx, rtx, rtx);
3901extern rtx        gen_cstoredi4                         (rtx, rtx, rtx, rtx);
3902extern rtx        gen_cstoresi_eq0_thumb1               (rtx, rtx);
3903extern rtx        gen_cstoresi_ne0_thumb1               (rtx, rtx);
3904extern rtx        gen_movsicc                           (rtx, rtx, rtx, rtx);
3905extern rtx        gen_movsfcc                           (rtx, rtx, rtx, rtx);
3906extern rtx        gen_movdfcc                           (rtx, rtx, rtx, rtx);
3907extern rtx        gen_jump                              (rtx);
3908#define GEN_CALL(A, B, C, D) gen_call ((A), (B), (C))
3909extern rtx        gen_call                              (rtx, rtx, rtx);
3910extern rtx        gen_call_internal                     (rtx, rtx, rtx);
3911#define GEN_CALL_VALUE(A, B, C, D, E) gen_call_value ((A), (B), (C), (D))
3912extern rtx        gen_call_value                        (rtx, rtx, rtx, rtx);
3913extern rtx        gen_call_value_internal               (rtx, rtx, rtx, rtx);
3914#define GEN_SIBCALL(A, B, C, D) gen_sibcall ((A), (B), (C))
3915extern rtx        gen_sibcall                           (rtx, rtx, rtx);
3916#define GEN_SIBCALL_VALUE(A, B, C, D, E) gen_sibcall_value ((A), (B), (C), (D))
3917extern rtx        gen_sibcall_value                     (rtx, rtx, rtx, rtx);
3918extern rtx        gen_return                            (void);
3919extern rtx        gen_return_addr_mask                  (rtx);
3920extern rtx        gen_untyped_call                      (rtx, rtx, rtx);
3921extern rtx        gen_untyped_return                    (rtx, rtx);
3922extern rtx        gen_casesi                            (rtx, rtx, rtx, rtx, rtx);
3923extern rtx        gen_thumb1_casesi_internal_pic        (rtx, rtx, rtx, rtx);
3924extern rtx        gen_indirect_jump                     (rtx);
3925extern rtx        gen_prologue                          (void);
3926extern rtx        gen_epilogue                          (void);
3927extern rtx        gen_sibcall_epilogue                  (void);
3928extern rtx        gen_eh_epilogue                       (rtx, rtx, rtx);
3929extern rtx        gen_tablejump                         (rtx, rtx);
3930extern rtx        gen_ctzsi2                            (rtx, rtx);
3931extern rtx        gen_eh_return                         (rtx);
3932extern rtx        gen_get_thread_pointersi              (rtx);
3933extern rtx        gen_arm_legacy_rev                    (rtx, rtx, rtx, rtx);
3934extern rtx        gen_thumb_legacy_rev                  (rtx, rtx, rtx, rtx, rtx, rtx);
3935extern rtx        gen_bswapsi2                          (rtx, rtx);
3936extern rtx        gen_bswaphi2                          (rtx, rtx);
3937extern rtx        gen_movv2di                           (rtx, rtx);
3938extern rtx        gen_movv2si                           (rtx, rtx);
3939extern rtx        gen_movv4hi                           (rtx, rtx);
3940extern rtx        gen_movv8qi                           (rtx, rtx);
3941extern rtx        gen_movv2sf                           (rtx, rtx);
3942extern rtx        gen_movv4si                           (rtx, rtx);
3943extern rtx        gen_movv8hi                           (rtx, rtx);
3944extern rtx        gen_movv16qi                          (rtx, rtx);
3945extern rtx        gen_movv4sf                           (rtx, rtx);
3946extern rtx        gen_addv2di3                          (rtx, rtx, rtx);
3947extern rtx        gen_addv2si3                          (rtx, rtx, rtx);
3948extern rtx        gen_addv4hi3                          (rtx, rtx, rtx);
3949extern rtx        gen_addv8qi3                          (rtx, rtx, rtx);
3950extern rtx        gen_addv2sf3                          (rtx, rtx, rtx);
3951extern rtx        gen_addv4si3                          (rtx, rtx, rtx);
3952extern rtx        gen_addv8hi3                          (rtx, rtx, rtx);
3953extern rtx        gen_addv16qi3                         (rtx, rtx, rtx);
3954extern rtx        gen_addv4sf3                          (rtx, rtx, rtx);
3955extern rtx        gen_subv2di3                          (rtx, rtx, rtx);
3956extern rtx        gen_subv2si3                          (rtx, rtx, rtx);
3957extern rtx        gen_subv4hi3                          (rtx, rtx, rtx);
3958extern rtx        gen_subv8qi3                          (rtx, rtx, rtx);
3959extern rtx        gen_subv2sf3                          (rtx, rtx, rtx);
3960extern rtx        gen_subv4si3                          (rtx, rtx, rtx);
3961extern rtx        gen_subv8hi3                          (rtx, rtx, rtx);
3962extern rtx        gen_subv16qi3                         (rtx, rtx, rtx);
3963extern rtx        gen_subv4sf3                          (rtx, rtx, rtx);
3964extern rtx        gen_mulv2si3                          (rtx, rtx, rtx);
3965extern rtx        gen_mulv4hi3                          (rtx, rtx, rtx);
3966extern rtx        gen_mulv8qi3                          (rtx, rtx, rtx);
3967extern rtx        gen_mulv2sf3                          (rtx, rtx, rtx);
3968extern rtx        gen_mulv4si3                          (rtx, rtx, rtx);
3969extern rtx        gen_mulv8hi3                          (rtx, rtx, rtx);
3970extern rtx        gen_mulv16qi3                         (rtx, rtx, rtx);
3971extern rtx        gen_mulv4sf3                          (rtx, rtx, rtx);
3972extern rtx        gen_sminv2si3                         (rtx, rtx, rtx);
3973extern rtx        gen_sminv4hi3                         (rtx, rtx, rtx);
3974extern rtx        gen_sminv8qi3                         (rtx, rtx, rtx);
3975extern rtx        gen_sminv2sf3                         (rtx, rtx, rtx);
3976extern rtx        gen_sminv4si3                         (rtx, rtx, rtx);
3977extern rtx        gen_sminv8hi3                         (rtx, rtx, rtx);
3978extern rtx        gen_sminv16qi3                        (rtx, rtx, rtx);
3979extern rtx        gen_sminv4sf3                         (rtx, rtx, rtx);
3980extern rtx        gen_uminv2si3                         (rtx, rtx, rtx);
3981extern rtx        gen_uminv4hi3                         (rtx, rtx, rtx);
3982extern rtx        gen_uminv8qi3                         (rtx, rtx, rtx);
3983extern rtx        gen_uminv4si3                         (rtx, rtx, rtx);
3984extern rtx        gen_uminv8hi3                         (rtx, rtx, rtx);
3985extern rtx        gen_uminv16qi3                        (rtx, rtx, rtx);
3986extern rtx        gen_smaxv2si3                         (rtx, rtx, rtx);
3987extern rtx        gen_smaxv4hi3                         (rtx, rtx, rtx);
3988extern rtx        gen_smaxv8qi3                         (rtx, rtx, rtx);
3989extern rtx        gen_smaxv2sf3                         (rtx, rtx, rtx);
3990extern rtx        gen_smaxv4si3                         (rtx, rtx, rtx);
3991extern rtx        gen_smaxv8hi3                         (rtx, rtx, rtx);
3992extern rtx        gen_smaxv16qi3                        (rtx, rtx, rtx);
3993extern rtx        gen_smaxv4sf3                         (rtx, rtx, rtx);
3994extern rtx        gen_umaxv2si3                         (rtx, rtx, rtx);
3995extern rtx        gen_umaxv4hi3                         (rtx, rtx, rtx);
3996extern rtx        gen_umaxv8qi3                         (rtx, rtx, rtx);
3997extern rtx        gen_umaxv4si3                         (rtx, rtx, rtx);
3998extern rtx        gen_umaxv8hi3                         (rtx, rtx, rtx);
3999extern rtx        gen_umaxv16qi3                        (rtx, rtx, rtx);
4000extern rtx        gen_vec_perm_constv2di                (rtx, rtx, rtx, rtx);
4001extern rtx        gen_vec_perm_constv2si                (rtx, rtx, rtx, rtx);
4002extern rtx        gen_vec_perm_constv4hi                (rtx, rtx, rtx, rtx);
4003extern rtx        gen_vec_perm_constv8qi                (rtx, rtx, rtx, rtx);
4004extern rtx        gen_vec_perm_constv2sf                (rtx, rtx, rtx, rtx);
4005extern rtx        gen_vec_perm_constv4si                (rtx, rtx, rtx, rtx);
4006extern rtx        gen_vec_perm_constv8hi                (rtx, rtx, rtx, rtx);
4007extern rtx        gen_vec_perm_constv16qi               (rtx, rtx, rtx, rtx);
4008extern rtx        gen_vec_perm_constv4sf                (rtx, rtx, rtx, rtx);
4009extern rtx        gen_vec_permv8qi                      (rtx, rtx, rtx, rtx);
4010extern rtx        gen_vec_permv16qi                     (rtx, rtx, rtx, rtx);
4011extern rtx        gen_iwmmxt_setwcgr0                   (rtx);
4012extern rtx        gen_iwmmxt_setwcgr1                   (rtx);
4013extern rtx        gen_iwmmxt_setwcgr2                   (rtx);
4014extern rtx        gen_iwmmxt_setwcgr3                   (rtx);
4015extern rtx        gen_iwmmxt_getwcgr0                   (rtx);
4016extern rtx        gen_iwmmxt_getwcgr1                   (rtx);
4017extern rtx        gen_iwmmxt_getwcgr2                   (rtx);
4018extern rtx        gen_iwmmxt_getwcgr3                   (rtx);
4019extern rtx        gen_doloop_end                        (rtx, rtx, rtx, rtx, rtx, rtx);
4020extern rtx        gen_movti                             (rtx, rtx);
4021extern rtx        gen_movei                             (rtx, rtx);
4022extern rtx        gen_movoi                             (rtx, rtx);
4023extern rtx        gen_movci                             (rtx, rtx);
4024extern rtx        gen_movxi                             (rtx, rtx);
4025extern rtx        gen_movmisalignv8qi                   (rtx, rtx);
4026extern rtx        gen_movmisalignv16qi                  (rtx, rtx);
4027extern rtx        gen_movmisalignv4hi                   (rtx, rtx);
4028extern rtx        gen_movmisalignv8hi                   (rtx, rtx);
4029extern rtx        gen_movmisalignv2si                   (rtx, rtx);
4030extern rtx        gen_movmisalignv4si                   (rtx, rtx);
4031extern rtx        gen_movmisalignv2sf                   (rtx, rtx);
4032extern rtx        gen_movmisalignv4sf                   (rtx, rtx);
4033extern rtx        gen_movmisaligndi                     (rtx, rtx);
4034extern rtx        gen_movmisalignv2di                   (rtx, rtx);
4035extern rtx        gen_vec_setv8qi                       (rtx, rtx, rtx);
4036extern rtx        gen_vec_setv16qi                      (rtx, rtx, rtx);
4037extern rtx        gen_vec_setv4hi                       (rtx, rtx, rtx);
4038extern rtx        gen_vec_setv8hi                       (rtx, rtx, rtx);
4039extern rtx        gen_vec_setv2si                       (rtx, rtx, rtx);
4040extern rtx        gen_vec_setv4si                       (rtx, rtx, rtx);
4041extern rtx        gen_vec_setv2sf                       (rtx, rtx, rtx);
4042extern rtx        gen_vec_setv4sf                       (rtx, rtx, rtx);
4043extern rtx        gen_vec_setv2di                       (rtx, rtx, rtx);
4044extern rtx        gen_vec_initv8qi                      (rtx, rtx);
4045extern rtx        gen_vec_initv16qi                     (rtx, rtx);
4046extern rtx        gen_vec_initv4hi                      (rtx, rtx);
4047extern rtx        gen_vec_initv8hi                      (rtx, rtx);
4048extern rtx        gen_vec_initv2si                      (rtx, rtx);
4049extern rtx        gen_vec_initv4si                      (rtx, rtx);
4050extern rtx        gen_vec_initv2sf                      (rtx, rtx);
4051extern rtx        gen_vec_initv4sf                      (rtx, rtx);
4052extern rtx        gen_vec_initv2di                      (rtx, rtx);
4053extern rtx        gen_vashrv8qi3                        (rtx, rtx, rtx);
4054extern rtx        gen_vashrv16qi3                       (rtx, rtx, rtx);
4055extern rtx        gen_vashrv4hi3                        (rtx, rtx, rtx);
4056extern rtx        gen_vashrv8hi3                        (rtx, rtx, rtx);
4057extern rtx        gen_vashrv2si3                        (rtx, rtx, rtx);
4058extern rtx        gen_vashrv4si3                        (rtx, rtx, rtx);
4059extern rtx        gen_vlshrv8qi3                        (rtx, rtx, rtx);
4060extern rtx        gen_vlshrv16qi3                       (rtx, rtx, rtx);
4061extern rtx        gen_vlshrv4hi3                        (rtx, rtx, rtx);
4062extern rtx        gen_vlshrv8hi3                        (rtx, rtx, rtx);
4063extern rtx        gen_vlshrv2si3                        (rtx, rtx, rtx);
4064extern rtx        gen_vlshrv4si3                        (rtx, rtx, rtx);
4065extern rtx        gen_vec_shr_v8qi                      (rtx, rtx, rtx);
4066extern rtx        gen_vec_shr_v16qi                     (rtx, rtx, rtx);
4067extern rtx        gen_vec_shr_v4hi                      (rtx, rtx, rtx);
4068extern rtx        gen_vec_shr_v8hi                      (rtx, rtx, rtx);
4069extern rtx        gen_vec_shr_v2si                      (rtx, rtx, rtx);
4070extern rtx        gen_vec_shr_v4si                      (rtx, rtx, rtx);
4071extern rtx        gen_vec_shr_v2sf                      (rtx, rtx, rtx);
4072extern rtx        gen_vec_shr_v4sf                      (rtx, rtx, rtx);
4073extern rtx        gen_vec_shr_v2di                      (rtx, rtx, rtx);
4074extern rtx        gen_vec_shl_v8qi                      (rtx, rtx, rtx);
4075extern rtx        gen_vec_shl_v16qi                     (rtx, rtx, rtx);
4076extern rtx        gen_vec_shl_v4hi                      (rtx, rtx, rtx);
4077extern rtx        gen_vec_shl_v8hi                      (rtx, rtx, rtx);
4078extern rtx        gen_vec_shl_v2si                      (rtx, rtx, rtx);
4079extern rtx        gen_vec_shl_v4si                      (rtx, rtx, rtx);
4080extern rtx        gen_vec_shl_v2sf                      (rtx, rtx, rtx);
4081extern rtx        gen_vec_shl_v4sf                      (rtx, rtx, rtx);
4082extern rtx        gen_vec_shl_v2di                      (rtx, rtx, rtx);
4083extern rtx        gen_move_hi_quad_v2di                 (rtx, rtx);
4084extern rtx        gen_move_hi_quad_v2df                 (rtx, rtx);
4085extern rtx        gen_move_hi_quad_v16qi                (rtx, rtx);
4086extern rtx        gen_move_hi_quad_v8hi                 (rtx, rtx);
4087extern rtx        gen_move_hi_quad_v4si                 (rtx, rtx);
4088extern rtx        gen_move_hi_quad_v4sf                 (rtx, rtx);
4089extern rtx        gen_move_lo_quad_v2di                 (rtx, rtx);
4090extern rtx        gen_move_lo_quad_v2df                 (rtx, rtx);
4091extern rtx        gen_move_lo_quad_v16qi                (rtx, rtx);
4092extern rtx        gen_move_lo_quad_v8hi                 (rtx, rtx);
4093extern rtx        gen_move_lo_quad_v4si                 (rtx, rtx);
4094extern rtx        gen_move_lo_quad_v4sf                 (rtx, rtx);
4095extern rtx        gen_reduc_splus_v8qi                  (rtx, rtx);
4096extern rtx        gen_reduc_splus_v4hi                  (rtx, rtx);
4097extern rtx        gen_reduc_splus_v2si                  (rtx, rtx);
4098extern rtx        gen_reduc_splus_v2sf                  (rtx, rtx);
4099extern rtx        gen_reduc_splus_v16qi                 (rtx, rtx);
4100extern rtx        gen_reduc_splus_v8hi                  (rtx, rtx);
4101extern rtx        gen_reduc_splus_v4si                  (rtx, rtx);
4102extern rtx        gen_reduc_splus_v4sf                  (rtx, rtx);
4103extern rtx        gen_reduc_uplus_v8qi                  (rtx, rtx);
4104extern rtx        gen_reduc_uplus_v16qi                 (rtx, rtx);
4105extern rtx        gen_reduc_uplus_v4hi                  (rtx, rtx);
4106extern rtx        gen_reduc_uplus_v8hi                  (rtx, rtx);
4107extern rtx        gen_reduc_uplus_v2si                  (rtx, rtx);
4108extern rtx        gen_reduc_uplus_v4si                  (rtx, rtx);
4109extern rtx        gen_reduc_uplus_v2di                  (rtx, rtx);
4110extern rtx        gen_reduc_smin_v8qi                   (rtx, rtx);
4111extern rtx        gen_reduc_smin_v4hi                   (rtx, rtx);
4112extern rtx        gen_reduc_smin_v2si                   (rtx, rtx);
4113extern rtx        gen_reduc_smin_v2sf                   (rtx, rtx);
4114extern rtx        gen_reduc_smin_v16qi                  (rtx, rtx);
4115extern rtx        gen_reduc_smin_v8hi                   (rtx, rtx);
4116extern rtx        gen_reduc_smin_v4si                   (rtx, rtx);
4117extern rtx        gen_reduc_smin_v4sf                   (rtx, rtx);
4118extern rtx        gen_reduc_smax_v8qi                   (rtx, rtx);
4119extern rtx        gen_reduc_smax_v4hi                   (rtx, rtx);
4120extern rtx        gen_reduc_smax_v2si                   (rtx, rtx);
4121extern rtx        gen_reduc_smax_v2sf                   (rtx, rtx);
4122extern rtx        gen_reduc_smax_v16qi                  (rtx, rtx);
4123extern rtx        gen_reduc_smax_v8hi                   (rtx, rtx);
4124extern rtx        gen_reduc_smax_v4si                   (rtx, rtx);
4125extern rtx        gen_reduc_smax_v4sf                   (rtx, rtx);
4126extern rtx        gen_reduc_umin_v8qi                   (rtx, rtx);
4127extern rtx        gen_reduc_umin_v4hi                   (rtx, rtx);
4128extern rtx        gen_reduc_umin_v2si                   (rtx, rtx);
4129extern rtx        gen_reduc_umin_v16qi                  (rtx, rtx);
4130extern rtx        gen_reduc_umin_v8hi                   (rtx, rtx);
4131extern rtx        gen_reduc_umin_v4si                   (rtx, rtx);
4132extern rtx        gen_reduc_umax_v8qi                   (rtx, rtx);
4133extern rtx        gen_reduc_umax_v4hi                   (rtx, rtx);
4134extern rtx        gen_reduc_umax_v2si                   (rtx, rtx);
4135extern rtx        gen_reduc_umax_v16qi                  (rtx, rtx);
4136extern rtx        gen_reduc_umax_v8hi                   (rtx, rtx);
4137extern rtx        gen_reduc_umax_v4si                   (rtx, rtx);
4138extern rtx        gen_vcondv8qiv8qi                     (rtx, rtx, rtx, rtx, rtx, rtx);
4139extern rtx        gen_vcondv16qiv16qi                   (rtx, rtx, rtx, rtx, rtx, rtx);
4140extern rtx        gen_vcondv4hiv4hi                     (rtx, rtx, rtx, rtx, rtx, rtx);
4141extern rtx        gen_vcondv8hiv8hi                     (rtx, rtx, rtx, rtx, rtx, rtx);
4142extern rtx        gen_vcondv2siv2si                     (rtx, rtx, rtx, rtx, rtx, rtx);
4143extern rtx        gen_vcondv4siv4si                     (rtx, rtx, rtx, rtx, rtx, rtx);
4144extern rtx        gen_vcondv2sfv2sf                     (rtx, rtx, rtx, rtx, rtx, rtx);
4145extern rtx        gen_vcondv4sfv4sf                     (rtx, rtx, rtx, rtx, rtx, rtx);
4146extern rtx        gen_vconduv8qiv8qi                    (rtx, rtx, rtx, rtx, rtx, rtx);
4147extern rtx        gen_vconduv16qiv16qi                  (rtx, rtx, rtx, rtx, rtx, rtx);
4148extern rtx        gen_vconduv4hiv4hi                    (rtx, rtx, rtx, rtx, rtx, rtx);
4149extern rtx        gen_vconduv8hiv8hi                    (rtx, rtx, rtx, rtx, rtx, rtx);
4150extern rtx        gen_vconduv2siv2si                    (rtx, rtx, rtx, rtx, rtx, rtx);
4151extern rtx        gen_vconduv4siv4si                    (rtx, rtx, rtx, rtx, rtx, rtx);
4152extern rtx        gen_neon_vaddv8qi                     (rtx, rtx, rtx, rtx);
4153extern rtx        gen_neon_vaddv16qi                    (rtx, rtx, rtx, rtx);
4154extern rtx        gen_neon_vaddv4hi                     (rtx, rtx, rtx, rtx);
4155extern rtx        gen_neon_vaddv8hi                     (rtx, rtx, rtx, rtx);
4156extern rtx        gen_neon_vaddv2si                     (rtx, rtx, rtx, rtx);
4157extern rtx        gen_neon_vaddv4si                     (rtx, rtx, rtx, rtx);
4158extern rtx        gen_neon_vaddv2sf                     (rtx, rtx, rtx, rtx);
4159extern rtx        gen_neon_vaddv4sf                     (rtx, rtx, rtx, rtx);
4160extern rtx        gen_neon_vadddi                       (rtx, rtx, rtx, rtx);
4161extern rtx        gen_neon_vaddv2di                     (rtx, rtx, rtx, rtx);
4162extern rtx        gen_neon_vmlav8qi                     (rtx, rtx, rtx, rtx, rtx);
4163extern rtx        gen_neon_vmlav16qi                    (rtx, rtx, rtx, rtx, rtx);
4164extern rtx        gen_neon_vmlav4hi                     (rtx, rtx, rtx, rtx, rtx);
4165extern rtx        gen_neon_vmlav8hi                     (rtx, rtx, rtx, rtx, rtx);
4166extern rtx        gen_neon_vmlav2si                     (rtx, rtx, rtx, rtx, rtx);
4167extern rtx        gen_neon_vmlav4si                     (rtx, rtx, rtx, rtx, rtx);
4168extern rtx        gen_neon_vmlav2sf                     (rtx, rtx, rtx, rtx, rtx);
4169extern rtx        gen_neon_vmlav4sf                     (rtx, rtx, rtx, rtx, rtx);
4170extern rtx        gen_neon_vfmav2sf                     (rtx, rtx, rtx, rtx, rtx);
4171extern rtx        gen_neon_vfmav4sf                     (rtx, rtx, rtx, rtx, rtx);
4172extern rtx        gen_neon_vfmsv2sf                     (rtx, rtx, rtx, rtx, rtx);
4173extern rtx        gen_neon_vfmsv4sf                     (rtx, rtx, rtx, rtx, rtx);
4174extern rtx        gen_neon_vmlsv8qi                     (rtx, rtx, rtx, rtx, rtx);
4175extern rtx        gen_neon_vmlsv16qi                    (rtx, rtx, rtx, rtx, rtx);
4176extern rtx        gen_neon_vmlsv4hi                     (rtx, rtx, rtx, rtx, rtx);
4177extern rtx        gen_neon_vmlsv8hi                     (rtx, rtx, rtx, rtx, rtx);
4178extern rtx        gen_neon_vmlsv2si                     (rtx, rtx, rtx, rtx, rtx);
4179extern rtx        gen_neon_vmlsv4si                     (rtx, rtx, rtx, rtx, rtx);
4180extern rtx        gen_neon_vmlsv2sf                     (rtx, rtx, rtx, rtx, rtx);
4181extern rtx        gen_neon_vmlsv4sf                     (rtx, rtx, rtx, rtx, rtx);
4182extern rtx        gen_neon_vsubv8qi                     (rtx, rtx, rtx, rtx);
4183extern rtx        gen_neon_vsubv16qi                    (rtx, rtx, rtx, rtx);
4184extern rtx        gen_neon_vsubv4hi                     (rtx, rtx, rtx, rtx);
4185extern rtx        gen_neon_vsubv8hi                     (rtx, rtx, rtx, rtx);
4186extern rtx        gen_neon_vsubv2si                     (rtx, rtx, rtx, rtx);
4187extern rtx        gen_neon_vsubv4si                     (rtx, rtx, rtx, rtx);
4188extern rtx        gen_neon_vsubv2sf                     (rtx, rtx, rtx, rtx);
4189extern rtx        gen_neon_vsubv4sf                     (rtx, rtx, rtx, rtx);
4190extern rtx        gen_neon_vsubdi                       (rtx, rtx, rtx, rtx);
4191extern rtx        gen_neon_vsubv2di                     (rtx, rtx, rtx, rtx);
4192extern rtx        gen_neon_vpaddv8qi                    (rtx, rtx, rtx, rtx);
4193extern rtx        gen_neon_vpaddv4hi                    (rtx, rtx, rtx, rtx);
4194extern rtx        gen_neon_vpaddv2si                    (rtx, rtx, rtx, rtx);
4195extern rtx        gen_neon_vpaddv2sf                    (rtx, rtx, rtx, rtx);
4196extern rtx        gen_neon_vabsv8qi                     (rtx, rtx, rtx);
4197extern rtx        gen_neon_vabsv16qi                    (rtx, rtx, rtx);
4198extern rtx        gen_neon_vabsv4hi                     (rtx, rtx, rtx);
4199extern rtx        gen_neon_vabsv8hi                     (rtx, rtx, rtx);
4200extern rtx        gen_neon_vabsv2si                     (rtx, rtx, rtx);
4201extern rtx        gen_neon_vabsv4si                     (rtx, rtx, rtx);
4202extern rtx        gen_neon_vabsv2sf                     (rtx, rtx, rtx);
4203extern rtx        gen_neon_vabsv4sf                     (rtx, rtx, rtx);
4204extern rtx        gen_neon_vnegv8qi                     (rtx, rtx, rtx);
4205extern rtx        gen_neon_vnegv16qi                    (rtx, rtx, rtx);
4206extern rtx        gen_neon_vnegv4hi                     (rtx, rtx, rtx);
4207extern rtx        gen_neon_vnegv8hi                     (rtx, rtx, rtx);
4208extern rtx        gen_neon_vnegv2si                     (rtx, rtx, rtx);
4209extern rtx        gen_neon_vnegv4si                     (rtx, rtx, rtx);
4210extern rtx        gen_neon_vnegv2sf                     (rtx, rtx, rtx);
4211extern rtx        gen_neon_vnegv4sf                     (rtx, rtx, rtx);
4212extern rtx        gen_neon_vclzv8qi                     (rtx, rtx, rtx);
4213extern rtx        gen_neon_vclzv16qi                    (rtx, rtx, rtx);
4214extern rtx        gen_neon_vclzv4hi                     (rtx, rtx, rtx);
4215extern rtx        gen_neon_vclzv8hi                     (rtx, rtx, rtx);
4216extern rtx        gen_neon_vclzv2si                     (rtx, rtx, rtx);
4217extern rtx        gen_neon_vclzv4si                     (rtx, rtx, rtx);
4218extern rtx        gen_neon_vcntv8qi                     (rtx, rtx, rtx);
4219extern rtx        gen_neon_vcntv16qi                    (rtx, rtx, rtx);
4220extern rtx        gen_neon_vmvnv8qi                     (rtx, rtx, rtx);
4221extern rtx        gen_neon_vmvnv16qi                    (rtx, rtx, rtx);
4222extern rtx        gen_neon_vmvnv4hi                     (rtx, rtx, rtx);
4223extern rtx        gen_neon_vmvnv8hi                     (rtx, rtx, rtx);
4224extern rtx        gen_neon_vmvnv2si                     (rtx, rtx, rtx);
4225extern rtx        gen_neon_vmvnv4si                     (rtx, rtx, rtx);
4226extern rtx        gen_neon_vget_lanev8qi                (rtx, rtx, rtx, rtx);
4227extern rtx        gen_neon_vget_lanev16qi               (rtx, rtx, rtx, rtx);
4228extern rtx        gen_neon_vget_lanev4hi                (rtx, rtx, rtx, rtx);
4229extern rtx        gen_neon_vget_lanev8hi                (rtx, rtx, rtx, rtx);
4230extern rtx        gen_neon_vget_lanev2si                (rtx, rtx, rtx, rtx);
4231extern rtx        gen_neon_vget_lanev4si                (rtx, rtx, rtx, rtx);
4232extern rtx        gen_neon_vget_lanev2sf                (rtx, rtx, rtx, rtx);
4233extern rtx        gen_neon_vget_lanev4sf                (rtx, rtx, rtx, rtx);
4234extern rtx        gen_neon_vget_lanedi                  (rtx, rtx, rtx, rtx);
4235extern rtx        gen_neon_vget_lanev2di                (rtx, rtx, rtx, rtx);
4236extern rtx        gen_neon_vset_lanev8qi                (rtx, rtx, rtx, rtx);
4237extern rtx        gen_neon_vset_lanev16qi               (rtx, rtx, rtx, rtx);
4238extern rtx        gen_neon_vset_lanev4hi                (rtx, rtx, rtx, rtx);
4239extern rtx        gen_neon_vset_lanev8hi                (rtx, rtx, rtx, rtx);
4240extern rtx        gen_neon_vset_lanev2si                (rtx, rtx, rtx, rtx);
4241extern rtx        gen_neon_vset_lanev4si                (rtx, rtx, rtx, rtx);
4242extern rtx        gen_neon_vset_lanev2sf                (rtx, rtx, rtx, rtx);
4243extern rtx        gen_neon_vset_lanev4sf                (rtx, rtx, rtx, rtx);
4244extern rtx        gen_neon_vset_lanev2di                (rtx, rtx, rtx, rtx);
4245extern rtx        gen_neon_vset_lanedi                  (rtx, rtx, rtx, rtx);
4246extern rtx        gen_neon_vcreatev8qi                  (rtx, rtx);
4247extern rtx        gen_neon_vcreatev4hi                  (rtx, rtx);
4248extern rtx        gen_neon_vcreatev2si                  (rtx, rtx);
4249extern rtx        gen_neon_vcreatev2sf                  (rtx, rtx);
4250extern rtx        gen_neon_vcreatedi                    (rtx, rtx);
4251extern rtx        gen_neon_vdup_ndi                     (rtx, rtx);
4252extern rtx        gen_neon_vdup_lanev8qi                (rtx, rtx, rtx);
4253extern rtx        gen_neon_vdup_lanev16qi               (rtx, rtx, rtx);
4254extern rtx        gen_neon_vdup_lanev4hi                (rtx, rtx, rtx);
4255extern rtx        gen_neon_vdup_lanev8hi                (rtx, rtx, rtx);
4256extern rtx        gen_neon_vdup_lanev2si                (rtx, rtx, rtx);
4257extern rtx        gen_neon_vdup_lanev4si                (rtx, rtx, rtx);
4258extern rtx        gen_neon_vdup_lanev2sf                (rtx, rtx, rtx);
4259extern rtx        gen_neon_vdup_lanev4sf                (rtx, rtx, rtx);
4260extern rtx        gen_neon_vdup_lanedi                  (rtx, rtx, rtx);
4261extern rtx        gen_neon_vdup_lanev2di                (rtx, rtx, rtx);
4262extern rtx        gen_neon_vget_highv16qi               (rtx, rtx);
4263extern rtx        gen_neon_vget_highv8hi                (rtx, rtx);
4264extern rtx        gen_neon_vget_highv4si                (rtx, rtx);
4265extern rtx        gen_neon_vget_highv4sf                (rtx, rtx);
4266extern rtx        gen_neon_vget_highv2di                (rtx, rtx);
4267extern rtx        gen_neon_vget_lowv16qi                (rtx, rtx);
4268extern rtx        gen_neon_vget_lowv8hi                 (rtx, rtx);
4269extern rtx        gen_neon_vget_lowv4si                 (rtx, rtx);
4270extern rtx        gen_neon_vget_lowv4sf                 (rtx, rtx);
4271extern rtx        gen_neon_vget_lowv2di                 (rtx, rtx);
4272extern rtx        gen_neon_vmul_nv4hi                   (rtx, rtx, rtx, rtx);
4273extern rtx        gen_neon_vmul_nv2si                   (rtx, rtx, rtx, rtx);
4274extern rtx        gen_neon_vmul_nv2sf                   (rtx, rtx, rtx, rtx);
4275extern rtx        gen_neon_vmul_nv8hi                   (rtx, rtx, rtx, rtx);
4276extern rtx        gen_neon_vmul_nv4si                   (rtx, rtx, rtx, rtx);
4277extern rtx        gen_neon_vmul_nv4sf                   (rtx, rtx, rtx, rtx);
4278extern rtx        gen_neon_vmull_nv4hi                  (rtx, rtx, rtx, rtx);
4279extern rtx        gen_neon_vmull_nv2si                  (rtx, rtx, rtx, rtx);
4280extern rtx        gen_neon_vqdmull_nv4hi                (rtx, rtx, rtx, rtx);
4281extern rtx        gen_neon_vqdmull_nv2si                (rtx, rtx, rtx, rtx);
4282extern rtx        gen_neon_vqdmulh_nv4hi                (rtx, rtx, rtx, rtx);
4283extern rtx        gen_neon_vqdmulh_nv2si                (rtx, rtx, rtx, rtx);
4284extern rtx        gen_neon_vqdmulh_nv8hi                (rtx, rtx, rtx, rtx);
4285extern rtx        gen_neon_vqdmulh_nv4si                (rtx, rtx, rtx, rtx);
4286extern rtx        gen_neon_vmla_nv4hi                   (rtx, rtx, rtx, rtx, rtx);
4287extern rtx        gen_neon_vmla_nv2si                   (rtx, rtx, rtx, rtx, rtx);
4288extern rtx        gen_neon_vmla_nv2sf                   (rtx, rtx, rtx, rtx, rtx);
4289extern rtx        gen_neon_vmla_nv8hi                   (rtx, rtx, rtx, rtx, rtx);
4290extern rtx        gen_neon_vmla_nv4si                   (rtx, rtx, rtx, rtx, rtx);
4291extern rtx        gen_neon_vmla_nv4sf                   (rtx, rtx, rtx, rtx, rtx);
4292extern rtx        gen_neon_vmlal_nv4hi                  (rtx, rtx, rtx, rtx, rtx);
4293extern rtx        gen_neon_vmlal_nv2si                  (rtx, rtx, rtx, rtx, rtx);
4294extern rtx        gen_neon_vqdmlal_nv4hi                (rtx, rtx, rtx, rtx, rtx);
4295extern rtx        gen_neon_vqdmlal_nv2si                (rtx, rtx, rtx, rtx, rtx);
4296extern rtx        gen_neon_vmls_nv4hi                   (rtx, rtx, rtx, rtx, rtx);
4297extern rtx        gen_neon_vmls_nv2si                   (rtx, rtx, rtx, rtx, rtx);
4298extern rtx        gen_neon_vmls_nv2sf                   (rtx, rtx, rtx, rtx, rtx);
4299extern rtx        gen_neon_vmls_nv8hi                   (rtx, rtx, rtx, rtx, rtx);
4300extern rtx        gen_neon_vmls_nv4si                   (rtx, rtx, rtx, rtx, rtx);
4301extern rtx        gen_neon_vmls_nv4sf                   (rtx, rtx, rtx, rtx, rtx);
4302extern rtx        gen_neon_vmlsl_nv4hi                  (rtx, rtx, rtx, rtx, rtx);
4303extern rtx        gen_neon_vmlsl_nv2si                  (rtx, rtx, rtx, rtx, rtx);
4304extern rtx        gen_neon_vqdmlsl_nv4hi                (rtx, rtx, rtx, rtx, rtx);
4305extern rtx        gen_neon_vqdmlsl_nv2si                (rtx, rtx, rtx, rtx, rtx);
4306extern rtx        gen_neon_vbslv8qi                     (rtx, rtx, rtx, rtx);
4307extern rtx        gen_neon_vbslv16qi                    (rtx, rtx, rtx, rtx);
4308extern rtx        gen_neon_vbslv4hi                     (rtx, rtx, rtx, rtx);
4309extern rtx        gen_neon_vbslv8hi                     (rtx, rtx, rtx, rtx);
4310extern rtx        gen_neon_vbslv2si                     (rtx, rtx, rtx, rtx);
4311extern rtx        gen_neon_vbslv4si                     (rtx, rtx, rtx, rtx);
4312extern rtx        gen_neon_vbslv2sf                     (rtx, rtx, rtx, rtx);
4313extern rtx        gen_neon_vbslv4sf                     (rtx, rtx, rtx, rtx);
4314extern rtx        gen_neon_vbsldi                       (rtx, rtx, rtx, rtx);
4315extern rtx        gen_neon_vbslv2di                     (rtx, rtx, rtx, rtx);
4316extern rtx        gen_neon_vtrnv8qi_internal            (rtx, rtx, rtx, rtx);
4317extern rtx        gen_neon_vtrnv16qi_internal           (rtx, rtx, rtx, rtx);
4318extern rtx        gen_neon_vtrnv4hi_internal            (rtx, rtx, rtx, rtx);
4319extern rtx        gen_neon_vtrnv8hi_internal            (rtx, rtx, rtx, rtx);
4320extern rtx        gen_neon_vtrnv2si_internal            (rtx, rtx, rtx, rtx);
4321extern rtx        gen_neon_vtrnv4si_internal            (rtx, rtx, rtx, rtx);
4322extern rtx        gen_neon_vtrnv2sf_internal            (rtx, rtx, rtx, rtx);
4323extern rtx        gen_neon_vtrnv4sf_internal            (rtx, rtx, rtx, rtx);
4324extern rtx        gen_neon_vtrnv8qi                     (rtx, rtx, rtx);
4325extern rtx        gen_neon_vtrnv16qi                    (rtx, rtx, rtx);
4326extern rtx        gen_neon_vtrnv4hi                     (rtx, rtx, rtx);
4327extern rtx        gen_neon_vtrnv8hi                     (rtx, rtx, rtx);
4328extern rtx        gen_neon_vtrnv2si                     (rtx, rtx, rtx);
4329extern rtx        gen_neon_vtrnv4si                     (rtx, rtx, rtx);
4330extern rtx        gen_neon_vtrnv2sf                     (rtx, rtx, rtx);
4331extern rtx        gen_neon_vtrnv4sf                     (rtx, rtx, rtx);
4332extern rtx        gen_neon_vzipv8qi_internal            (rtx, rtx, rtx, rtx);
4333extern rtx        gen_neon_vzipv16qi_internal           (rtx, rtx, rtx, rtx);
4334extern rtx        gen_neon_vzipv4hi_internal            (rtx, rtx, rtx, rtx);
4335extern rtx        gen_neon_vzipv8hi_internal            (rtx, rtx, rtx, rtx);
4336extern rtx        gen_neon_vzipv2si_internal            (rtx, rtx, rtx, rtx);
4337extern rtx        gen_neon_vzipv4si_internal            (rtx, rtx, rtx, rtx);
4338extern rtx        gen_neon_vzipv2sf_internal            (rtx, rtx, rtx, rtx);
4339extern rtx        gen_neon_vzipv4sf_internal            (rtx, rtx, rtx, rtx);
4340extern rtx        gen_neon_vzipv8qi                     (rtx, rtx, rtx);
4341extern rtx        gen_neon_vzipv16qi                    (rtx, rtx, rtx);
4342extern rtx        gen_neon_vzipv4hi                     (rtx, rtx, rtx);
4343extern rtx        gen_neon_vzipv8hi                     (rtx, rtx, rtx);
4344extern rtx        gen_neon_vzipv2si                     (rtx, rtx, rtx);
4345extern rtx        gen_neon_vzipv4si                     (rtx, rtx, rtx);
4346extern rtx        gen_neon_vzipv2sf                     (rtx, rtx, rtx);
4347extern rtx        gen_neon_vzipv4sf                     (rtx, rtx, rtx);
4348extern rtx        gen_neon_vuzpv8qi_internal            (rtx, rtx, rtx, rtx);
4349extern rtx        gen_neon_vuzpv16qi_internal           (rtx, rtx, rtx, rtx);
4350extern rtx        gen_neon_vuzpv4hi_internal            (rtx, rtx, rtx, rtx);
4351extern rtx        gen_neon_vuzpv8hi_internal            (rtx, rtx, rtx, rtx);
4352extern rtx        gen_neon_vuzpv2si_internal            (rtx, rtx, rtx, rtx);
4353extern rtx        gen_neon_vuzpv4si_internal            (rtx, rtx, rtx, rtx);
4354extern rtx        gen_neon_vuzpv2sf_internal            (rtx, rtx, rtx, rtx);
4355extern rtx        gen_neon_vuzpv4sf_internal            (rtx, rtx, rtx, rtx);
4356extern rtx        gen_neon_vuzpv8qi                     (rtx, rtx, rtx);
4357extern rtx        gen_neon_vuzpv16qi                    (rtx, rtx, rtx);
4358extern rtx        gen_neon_vuzpv4hi                     (rtx, rtx, rtx);
4359extern rtx        gen_neon_vuzpv8hi                     (rtx, rtx, rtx);
4360extern rtx        gen_neon_vuzpv2si                     (rtx, rtx, rtx);
4361extern rtx        gen_neon_vuzpv4si                     (rtx, rtx, rtx);
4362extern rtx        gen_neon_vuzpv2sf                     (rtx, rtx, rtx);
4363extern rtx        gen_neon_vuzpv4sf                     (rtx, rtx, rtx);
4364extern rtx        gen_neon_vreinterpretv8qiv8qi         (rtx, rtx);
4365extern rtx        gen_neon_vreinterpretv8qiv4hi         (rtx, rtx);
4366extern rtx        gen_neon_vreinterpretv8qiv2si         (rtx, rtx);
4367extern rtx        gen_neon_vreinterpretv8qiv2sf         (rtx, rtx);
4368extern rtx        gen_neon_vreinterpretv8qidi           (rtx, rtx);
4369extern rtx        gen_neon_vreinterpretv4hiv8qi         (rtx, rtx);
4370extern rtx        gen_neon_vreinterpretv4hiv4hi         (rtx, rtx);
4371extern rtx        gen_neon_vreinterpretv4hiv2si         (rtx, rtx);
4372extern rtx        gen_neon_vreinterpretv4hiv2sf         (rtx, rtx);
4373extern rtx        gen_neon_vreinterpretv4hidi           (rtx, rtx);
4374extern rtx        gen_neon_vreinterpretv2siv8qi         (rtx, rtx);
4375extern rtx        gen_neon_vreinterpretv2siv4hi         (rtx, rtx);
4376extern rtx        gen_neon_vreinterpretv2siv2si         (rtx, rtx);
4377extern rtx        gen_neon_vreinterpretv2siv2sf         (rtx, rtx);
4378extern rtx        gen_neon_vreinterpretv2sidi           (rtx, rtx);
4379extern rtx        gen_neon_vreinterpretv2sfv8qi         (rtx, rtx);
4380extern rtx        gen_neon_vreinterpretv2sfv4hi         (rtx, rtx);
4381extern rtx        gen_neon_vreinterpretv2sfv2si         (rtx, rtx);
4382extern rtx        gen_neon_vreinterpretv2sfv2sf         (rtx, rtx);
4383extern rtx        gen_neon_vreinterpretv2sfdi           (rtx, rtx);
4384extern rtx        gen_neon_vreinterpretdiv8qi           (rtx, rtx);
4385extern rtx        gen_neon_vreinterpretdiv4hi           (rtx, rtx);
4386extern rtx        gen_neon_vreinterpretdiv2si           (rtx, rtx);
4387extern rtx        gen_neon_vreinterpretdiv2sf           (rtx, rtx);
4388extern rtx        gen_neon_vreinterpretdidi             (rtx, rtx);
4389extern rtx        gen_neon_vreinterpretv16qiv16qi       (rtx, rtx);
4390extern rtx        gen_neon_vreinterpretv16qiv8hi        (rtx, rtx);
4391extern rtx        gen_neon_vreinterpretv16qiv4si        (rtx, rtx);
4392extern rtx        gen_neon_vreinterpretv16qiv4sf        (rtx, rtx);
4393extern rtx        gen_neon_vreinterpretv16qiv2di        (rtx, rtx);
4394extern rtx        gen_neon_vreinterpretv8hiv16qi        (rtx, rtx);
4395extern rtx        gen_neon_vreinterpretv8hiv8hi         (rtx, rtx);
4396extern rtx        gen_neon_vreinterpretv8hiv4si         (rtx, rtx);
4397extern rtx        gen_neon_vreinterpretv8hiv4sf         (rtx, rtx);
4398extern rtx        gen_neon_vreinterpretv8hiv2di         (rtx, rtx);
4399extern rtx        gen_neon_vreinterpretv4siv16qi        (rtx, rtx);
4400extern rtx        gen_neon_vreinterpretv4siv8hi         (rtx, rtx);
4401extern rtx        gen_neon_vreinterpretv4siv4si         (rtx, rtx);
4402extern rtx        gen_neon_vreinterpretv4siv4sf         (rtx, rtx);
4403extern rtx        gen_neon_vreinterpretv4siv2di         (rtx, rtx);
4404extern rtx        gen_neon_vreinterpretv4sfv16qi        (rtx, rtx);
4405extern rtx        gen_neon_vreinterpretv4sfv8hi         (rtx, rtx);
4406extern rtx        gen_neon_vreinterpretv4sfv4si         (rtx, rtx);
4407extern rtx        gen_neon_vreinterpretv4sfv4sf         (rtx, rtx);
4408extern rtx        gen_neon_vreinterpretv4sfv2di         (rtx, rtx);
4409extern rtx        gen_neon_vreinterpretv2div16qi        (rtx, rtx);
4410extern rtx        gen_neon_vreinterpretv2div8hi         (rtx, rtx);
4411extern rtx        gen_neon_vreinterpretv2div4si         (rtx, rtx);
4412extern rtx        gen_neon_vreinterpretv2div4sf         (rtx, rtx);
4413extern rtx        gen_neon_vreinterpretv2div2di         (rtx, rtx);
4414extern rtx        gen_vec_load_lanesv8qiv8qi            (rtx, rtx);
4415extern rtx        gen_vec_load_lanesv16qiv16qi          (rtx, rtx);
4416extern rtx        gen_vec_load_lanesv4hiv4hi            (rtx, rtx);
4417extern rtx        gen_vec_load_lanesv8hiv8hi            (rtx, rtx);
4418extern rtx        gen_vec_load_lanesv2siv2si            (rtx, rtx);
4419extern rtx        gen_vec_load_lanesv4siv4si            (rtx, rtx);
4420extern rtx        gen_vec_load_lanesv2sfv2sf            (rtx, rtx);
4421extern rtx        gen_vec_load_lanesv4sfv4sf            (rtx, rtx);
4422extern rtx        gen_vec_load_lanesdidi                (rtx, rtx);
4423extern rtx        gen_vec_load_lanesv2div2di            (rtx, rtx);
4424extern rtx        gen_vec_store_lanesv8qiv8qi           (rtx, rtx);
4425extern rtx        gen_vec_store_lanesv16qiv16qi         (rtx, rtx);
4426extern rtx        gen_vec_store_lanesv4hiv4hi           (rtx, rtx);
4427extern rtx        gen_vec_store_lanesv8hiv8hi           (rtx, rtx);
4428extern rtx        gen_vec_store_lanesv2siv2si           (rtx, rtx);
4429extern rtx        gen_vec_store_lanesv4siv4si           (rtx, rtx);
4430extern rtx        gen_vec_store_lanesv2sfv2sf           (rtx, rtx);
4431extern rtx        gen_vec_store_lanesv4sfv4sf           (rtx, rtx);
4432extern rtx        gen_vec_store_lanesdidi               (rtx, rtx);
4433extern rtx        gen_vec_store_lanesv2div2di           (rtx, rtx);
4434extern rtx        gen_vec_load_lanestiv8qi              (rtx, rtx);
4435extern rtx        gen_vec_load_lanestiv4hi              (rtx, rtx);
4436extern rtx        gen_vec_load_lanestiv2si              (rtx, rtx);
4437extern rtx        gen_vec_load_lanestiv2sf              (rtx, rtx);
4438extern rtx        gen_vec_load_lanestidi                (rtx, rtx);
4439extern rtx        gen_vec_load_lanesoiv16qi             (rtx, rtx);
4440extern rtx        gen_vec_load_lanesoiv8hi              (rtx, rtx);
4441extern rtx        gen_vec_load_lanesoiv4si              (rtx, rtx);
4442extern rtx        gen_vec_load_lanesoiv4sf              (rtx, rtx);
4443extern rtx        gen_vec_store_lanestiv8qi             (rtx, rtx);
4444extern rtx        gen_vec_store_lanestiv4hi             (rtx, rtx);
4445extern rtx        gen_vec_store_lanestiv2si             (rtx, rtx);
4446extern rtx        gen_vec_store_lanestiv2sf             (rtx, rtx);
4447extern rtx        gen_vec_store_lanestidi               (rtx, rtx);
4448extern rtx        gen_vec_store_lanesoiv16qi            (rtx, rtx);
4449extern rtx        gen_vec_store_lanesoiv8hi             (rtx, rtx);
4450extern rtx        gen_vec_store_lanesoiv4si             (rtx, rtx);
4451extern rtx        gen_vec_store_lanesoiv4sf             (rtx, rtx);
4452extern rtx        gen_vec_load_laneseiv8qi              (rtx, rtx);
4453extern rtx        gen_vec_load_laneseiv4hi              (rtx, rtx);
4454extern rtx        gen_vec_load_laneseiv2si              (rtx, rtx);
4455extern rtx        gen_vec_load_laneseiv2sf              (rtx, rtx);
4456extern rtx        gen_vec_load_laneseidi                (rtx, rtx);
4457extern rtx        gen_vec_load_lanesciv16qi             (rtx, rtx);
4458extern rtx        gen_vec_load_lanesciv8hi              (rtx, rtx);
4459extern rtx        gen_vec_load_lanesciv4si              (rtx, rtx);
4460extern rtx        gen_vec_load_lanesciv4sf              (rtx, rtx);
4461extern rtx        gen_neon_vld3v16qi                    (rtx, rtx);
4462extern rtx        gen_neon_vld3v8hi                     (rtx, rtx);
4463extern rtx        gen_neon_vld3v4si                     (rtx, rtx);
4464extern rtx        gen_neon_vld3v4sf                     (rtx, rtx);
4465extern rtx        gen_vec_store_laneseiv8qi             (rtx, rtx);
4466extern rtx        gen_vec_store_laneseiv4hi             (rtx, rtx);
4467extern rtx        gen_vec_store_laneseiv2si             (rtx, rtx);
4468extern rtx        gen_vec_store_laneseiv2sf             (rtx, rtx);
4469extern rtx        gen_vec_store_laneseidi               (rtx, rtx);
4470extern rtx        gen_vec_store_lanesciv16qi            (rtx, rtx);
4471extern rtx        gen_vec_store_lanesciv8hi             (rtx, rtx);
4472extern rtx        gen_vec_store_lanesciv4si             (rtx, rtx);
4473extern rtx        gen_vec_store_lanesciv4sf             (rtx, rtx);
4474extern rtx        gen_neon_vst3v16qi                    (rtx, rtx);
4475extern rtx        gen_neon_vst3v8hi                     (rtx, rtx);
4476extern rtx        gen_neon_vst3v4si                     (rtx, rtx);
4477extern rtx        gen_neon_vst3v4sf                     (rtx, rtx);
4478extern rtx        gen_vec_load_lanesoiv8qi              (rtx, rtx);
4479extern rtx        gen_vec_load_lanesoiv4hi              (rtx, rtx);
4480extern rtx        gen_vec_load_lanesoiv2si              (rtx, rtx);
4481extern rtx        gen_vec_load_lanesoiv2sf              (rtx, rtx);
4482extern rtx        gen_vec_load_lanesoidi                (rtx, rtx);
4483extern rtx        gen_vec_load_lanesxiv16qi             (rtx, rtx);
4484extern rtx        gen_vec_load_lanesxiv8hi              (rtx, rtx);
4485extern rtx        gen_vec_load_lanesxiv4si              (rtx, rtx);
4486extern rtx        gen_vec_load_lanesxiv4sf              (rtx, rtx);
4487extern rtx        gen_neon_vld4v16qi                    (rtx, rtx);
4488extern rtx        gen_neon_vld4v8hi                     (rtx, rtx);
4489extern rtx        gen_neon_vld4v4si                     (rtx, rtx);
4490extern rtx        gen_neon_vld4v4sf                     (rtx, rtx);
4491extern rtx        gen_vec_store_lanesoiv8qi             (rtx, rtx);
4492extern rtx        gen_vec_store_lanesoiv4hi             (rtx, rtx);
4493extern rtx        gen_vec_store_lanesoiv2si             (rtx, rtx);
4494extern rtx        gen_vec_store_lanesoiv2sf             (rtx, rtx);
4495extern rtx        gen_vec_store_lanesoidi               (rtx, rtx);
4496extern rtx        gen_vec_store_lanesxiv16qi            (rtx, rtx);
4497extern rtx        gen_vec_store_lanesxiv8hi             (rtx, rtx);
4498extern rtx        gen_vec_store_lanesxiv4si             (rtx, rtx);
4499extern rtx        gen_vec_store_lanesxiv4sf             (rtx, rtx);
4500extern rtx        gen_neon_vst4v16qi                    (rtx, rtx);
4501extern rtx        gen_neon_vst4v8hi                     (rtx, rtx);
4502extern rtx        gen_neon_vst4v4si                     (rtx, rtx);
4503extern rtx        gen_neon_vst4v4sf                     (rtx, rtx);
4504extern rtx        gen_neon_vandv8qi                     (rtx, rtx, rtx, rtx);
4505extern rtx        gen_neon_vandv16qi                    (rtx, rtx, rtx, rtx);
4506extern rtx        gen_neon_vandv4hi                     (rtx, rtx, rtx, rtx);
4507extern rtx        gen_neon_vandv8hi                     (rtx, rtx, rtx, rtx);
4508extern rtx        gen_neon_vandv2si                     (rtx, rtx, rtx, rtx);
4509extern rtx        gen_neon_vandv4si                     (rtx, rtx, rtx, rtx);
4510extern rtx        gen_neon_vandv2sf                     (rtx, rtx, rtx, rtx);
4511extern rtx        gen_neon_vandv4sf                     (rtx, rtx, rtx, rtx);
4512extern rtx        gen_neon_vanddi                       (rtx, rtx, rtx, rtx);
4513extern rtx        gen_neon_vandv2di                     (rtx, rtx, rtx, rtx);
4514extern rtx        gen_neon_vorrv8qi                     (rtx, rtx, rtx, rtx);
4515extern rtx        gen_neon_vorrv16qi                    (rtx, rtx, rtx, rtx);
4516extern rtx        gen_neon_vorrv4hi                     (rtx, rtx, rtx, rtx);
4517extern rtx        gen_neon_vorrv8hi                     (rtx, rtx, rtx, rtx);
4518extern rtx        gen_neon_vorrv2si                     (rtx, rtx, rtx, rtx);
4519extern rtx        gen_neon_vorrv4si                     (rtx, rtx, rtx, rtx);
4520extern rtx        gen_neon_vorrv2sf                     (rtx, rtx, rtx, rtx);
4521extern rtx        gen_neon_vorrv4sf                     (rtx, rtx, rtx, rtx);
4522extern rtx        gen_neon_vorrdi                       (rtx, rtx, rtx, rtx);
4523extern rtx        gen_neon_vorrv2di                     (rtx, rtx, rtx, rtx);
4524extern rtx        gen_neon_veorv8qi                     (rtx, rtx, rtx, rtx);
4525extern rtx        gen_neon_veorv16qi                    (rtx, rtx, rtx, rtx);
4526extern rtx        gen_neon_veorv4hi                     (rtx, rtx, rtx, rtx);
4527extern rtx        gen_neon_veorv8hi                     (rtx, rtx, rtx, rtx);
4528extern rtx        gen_neon_veorv2si                     (rtx, rtx, rtx, rtx);
4529extern rtx        gen_neon_veorv4si                     (rtx, rtx, rtx, rtx);
4530extern rtx        gen_neon_veorv2sf                     (rtx, rtx, rtx, rtx);
4531extern rtx        gen_neon_veorv4sf                     (rtx, rtx, rtx, rtx);
4532extern rtx        gen_neon_veordi                       (rtx, rtx, rtx, rtx);
4533extern rtx        gen_neon_veorv2di                     (rtx, rtx, rtx, rtx);
4534extern rtx        gen_neon_vbicv8qi                     (rtx, rtx, rtx, rtx);
4535extern rtx        gen_neon_vbicv16qi                    (rtx, rtx, rtx, rtx);
4536extern rtx        gen_neon_vbicv4hi                     (rtx, rtx, rtx, rtx);
4537extern rtx        gen_neon_vbicv8hi                     (rtx, rtx, rtx, rtx);
4538extern rtx        gen_neon_vbicv2si                     (rtx, rtx, rtx, rtx);
4539extern rtx        gen_neon_vbicv4si                     (rtx, rtx, rtx, rtx);
4540extern rtx        gen_neon_vbicv2sf                     (rtx, rtx, rtx, rtx);
4541extern rtx        gen_neon_vbicv4sf                     (rtx, rtx, rtx, rtx);
4542extern rtx        gen_neon_vbicdi                       (rtx, rtx, rtx, rtx);
4543extern rtx        gen_neon_vbicv2di                     (rtx, rtx, rtx, rtx);
4544extern rtx        gen_neon_vornv8qi                     (rtx, rtx, rtx, rtx);
4545extern rtx        gen_neon_vornv16qi                    (rtx, rtx, rtx, rtx);
4546extern rtx        gen_neon_vornv4hi                     (rtx, rtx, rtx, rtx);
4547extern rtx        gen_neon_vornv8hi                     (rtx, rtx, rtx, rtx);
4548extern rtx        gen_neon_vornv2si                     (rtx, rtx, rtx, rtx);
4549extern rtx        gen_neon_vornv4si                     (rtx, rtx, rtx, rtx);
4550extern rtx        gen_neon_vornv2sf                     (rtx, rtx, rtx, rtx);
4551extern rtx        gen_neon_vornv4sf                     (rtx, rtx, rtx, rtx);
4552extern rtx        gen_neon_vorndi                       (rtx, rtx, rtx, rtx);
4553extern rtx        gen_neon_vornv2di                     (rtx, rtx, rtx, rtx);
4554extern rtx        gen_vec_unpacks_hi_v16qi              (rtx, rtx);
4555extern rtx        gen_vec_unpacku_hi_v16qi              (rtx, rtx);
4556extern rtx        gen_vec_unpacks_hi_v8hi               (rtx, rtx);
4557extern rtx        gen_vec_unpacku_hi_v8hi               (rtx, rtx);
4558extern rtx        gen_vec_unpacks_hi_v4si               (rtx, rtx);
4559extern rtx        gen_vec_unpacku_hi_v4si               (rtx, rtx);
4560extern rtx        gen_vec_unpacks_lo_v16qi              (rtx, rtx);
4561extern rtx        gen_vec_unpacku_lo_v16qi              (rtx, rtx);
4562extern rtx        gen_vec_unpacks_lo_v8hi               (rtx, rtx);
4563extern rtx        gen_vec_unpacku_lo_v8hi               (rtx, rtx);
4564extern rtx        gen_vec_unpacks_lo_v4si               (rtx, rtx);
4565extern rtx        gen_vec_unpacku_lo_v4si               (rtx, rtx);
4566extern rtx        gen_vec_widen_smult_lo_v16qi          (rtx, rtx, rtx);
4567extern rtx        gen_vec_widen_umult_lo_v16qi          (rtx, rtx, rtx);
4568extern rtx        gen_vec_widen_smult_lo_v8hi           (rtx, rtx, rtx);
4569extern rtx        gen_vec_widen_umult_lo_v8hi           (rtx, rtx, rtx);
4570extern rtx        gen_vec_widen_smult_lo_v4si           (rtx, rtx, rtx);
4571extern rtx        gen_vec_widen_umult_lo_v4si           (rtx, rtx, rtx);
4572extern rtx        gen_vec_widen_smult_hi_v16qi          (rtx, rtx, rtx);
4573extern rtx        gen_vec_widen_umult_hi_v16qi          (rtx, rtx, rtx);
4574extern rtx        gen_vec_widen_smult_hi_v8hi           (rtx, rtx, rtx);
4575extern rtx        gen_vec_widen_umult_hi_v8hi           (rtx, rtx, rtx);
4576extern rtx        gen_vec_widen_smult_hi_v4si           (rtx, rtx, rtx);
4577extern rtx        gen_vec_widen_umult_hi_v4si           (rtx, rtx, rtx);
4578extern rtx        gen_vec_widen_sshiftl_lo_v16qi        (rtx, rtx, rtx);
4579extern rtx        gen_vec_widen_ushiftl_lo_v16qi        (rtx, rtx, rtx);
4580extern rtx        gen_vec_widen_sshiftl_lo_v8hi         (rtx, rtx, rtx);
4581extern rtx        gen_vec_widen_ushiftl_lo_v8hi         (rtx, rtx, rtx);
4582extern rtx        gen_vec_widen_sshiftl_lo_v4si         (rtx, rtx, rtx);
4583extern rtx        gen_vec_widen_ushiftl_lo_v4si         (rtx, rtx, rtx);
4584extern rtx        gen_vec_widen_sshiftl_hi_v16qi        (rtx, rtx, rtx);
4585extern rtx        gen_vec_widen_ushiftl_hi_v16qi        (rtx, rtx, rtx);
4586extern rtx        gen_vec_widen_sshiftl_hi_v8hi         (rtx, rtx, rtx);
4587extern rtx        gen_vec_widen_ushiftl_hi_v8hi         (rtx, rtx, rtx);
4588extern rtx        gen_vec_widen_sshiftl_hi_v4si         (rtx, rtx, rtx);
4589extern rtx        gen_vec_widen_ushiftl_hi_v4si         (rtx, rtx, rtx);
4590extern rtx        gen_vec_unpacks_lo_v8qi               (rtx, rtx);
4591extern rtx        gen_vec_unpacku_lo_v8qi               (rtx, rtx);
4592extern rtx        gen_vec_unpacks_lo_v4hi               (rtx, rtx);
4593extern rtx        gen_vec_unpacku_lo_v4hi               (rtx, rtx);
4594extern rtx        gen_vec_unpacks_lo_v2si               (rtx, rtx);
4595extern rtx        gen_vec_unpacku_lo_v2si               (rtx, rtx);
4596extern rtx        gen_vec_unpacks_hi_v8qi               (rtx, rtx);
4597extern rtx        gen_vec_unpacku_hi_v8qi               (rtx, rtx);
4598extern rtx        gen_vec_unpacks_hi_v4hi               (rtx, rtx);
4599extern rtx        gen_vec_unpacku_hi_v4hi               (rtx, rtx);
4600extern rtx        gen_vec_unpacks_hi_v2si               (rtx, rtx);
4601extern rtx        gen_vec_unpacku_hi_v2si               (rtx, rtx);
4602extern rtx        gen_vec_widen_smult_hi_v8qi           (rtx, rtx, rtx);
4603extern rtx        gen_vec_widen_umult_hi_v8qi           (rtx, rtx, rtx);
4604extern rtx        gen_vec_widen_smult_hi_v4hi           (rtx, rtx, rtx);
4605extern rtx        gen_vec_widen_umult_hi_v4hi           (rtx, rtx, rtx);
4606extern rtx        gen_vec_widen_smult_hi_v2si           (rtx, rtx, rtx);
4607extern rtx        gen_vec_widen_umult_hi_v2si           (rtx, rtx, rtx);
4608extern rtx        gen_vec_widen_smult_lo_v8qi           (rtx, rtx, rtx);
4609extern rtx        gen_vec_widen_umult_lo_v8qi           (rtx, rtx, rtx);
4610extern rtx        gen_vec_widen_smult_lo_v4hi           (rtx, rtx, rtx);
4611extern rtx        gen_vec_widen_umult_lo_v4hi           (rtx, rtx, rtx);
4612extern rtx        gen_vec_widen_smult_lo_v2si           (rtx, rtx, rtx);
4613extern rtx        gen_vec_widen_umult_lo_v2si           (rtx, rtx, rtx);
4614extern rtx        gen_vec_widen_sshiftl_hi_v8qi         (rtx, rtx, rtx);
4615extern rtx        gen_vec_widen_ushiftl_hi_v8qi         (rtx, rtx, rtx);
4616extern rtx        gen_vec_widen_sshiftl_hi_v4hi         (rtx, rtx, rtx);
4617extern rtx        gen_vec_widen_ushiftl_hi_v4hi         (rtx, rtx, rtx);
4618extern rtx        gen_vec_widen_sshiftl_hi_v2si         (rtx, rtx, rtx);
4619extern rtx        gen_vec_widen_ushiftl_hi_v2si         (rtx, rtx, rtx);
4620extern rtx        gen_vec_widen_sshiftl_lo_v8qi         (rtx, rtx, rtx);
4621extern rtx        gen_vec_widen_ushiftl_lo_v8qi         (rtx, rtx, rtx);
4622extern rtx        gen_vec_widen_sshiftl_lo_v4hi         (rtx, rtx, rtx);
4623extern rtx        gen_vec_widen_ushiftl_lo_v4hi         (rtx, rtx, rtx);
4624extern rtx        gen_vec_widen_sshiftl_lo_v2si         (rtx, rtx, rtx);
4625extern rtx        gen_vec_widen_ushiftl_lo_v2si         (rtx, rtx, rtx);
4626extern rtx        gen_vec_pack_trunc_v4hi               (rtx, rtx, rtx);
4627extern rtx        gen_vec_pack_trunc_v2si               (rtx, rtx, rtx);
4628extern rtx        gen_vec_pack_trunc_di                 (rtx, rtx, rtx);
4629extern rtx        gen_memory_barrier                    (void);
4630extern rtx        gen_atomic_loaddi                     (rtx, rtx, rtx);
4631extern rtx        gen_atomic_compare_and_swapqi         (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
4632extern rtx        gen_atomic_compare_and_swaphi         (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
4633extern rtx        gen_atomic_compare_and_swapsi         (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
4634extern rtx        gen_atomic_compare_and_swapdi         (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
4635extern rtx        gen_mulqq3                            (rtx, rtx, rtx);
4636extern rtx        gen_mulhq3                            (rtx, rtx, rtx);
4637extern rtx        gen_mulsq3                            (rtx, rtx, rtx);
4638extern rtx        gen_mulsa3                            (rtx, rtx, rtx);
4639extern rtx        gen_mulusa3                           (rtx, rtx, rtx);
4640extern rtx        gen_mulha3                            (rtx, rtx, rtx);
4641extern rtx        gen_muluha3                           (rtx, rtx, rtx);
4642extern rtx        gen_ssmulha3                          (rtx, rtx, rtx);
4643extern rtx        gen_usmuluha3                         (rtx, rtx, rtx);
4644
4645#endif /* GCC_INSN_FLAGS_H */
4646