Branch data Line data Source code
1 : : /* Generated automatically by the program `genopinit'
2 : : from the machine description file `md'. */
3 : :
4 : : #ifndef GCC_INSN_OPINIT_H
5 : : #define GCC_INSN_OPINIT_H 1
6 : : enum optab_tag {
7 : : unknown_optab,
8 : : sext_optab,
9 : : trunc_optab,
10 : : zext_optab,
11 : : sfix_optab,
12 : : ufix_optab,
13 : : sfloat_optab,
14 : : ufloat_optab,
15 : : lrint_optab,
16 : : lround_optab,
17 : : lfloor_optab,
18 : : lceil_optab,
19 : : fract_optab,
20 : : fractuns_optab,
21 : : satfract_optab,
22 : : satfractuns_optab,
23 : : ustrunc_optab,
24 : : sstrunc_optab,
25 : : sfixtrunc_optab,
26 : : ufixtrunc_optab,
27 : : smul_widen_optab,
28 : : umul_widen_optab,
29 : : usmul_widen_optab,
30 : : smadd_widen_optab,
31 : : umadd_widen_optab,
32 : : ssmadd_widen_optab,
33 : : usmadd_widen_optab,
34 : : smsub_widen_optab,
35 : : umsub_widen_optab,
36 : : ssmsub_widen_optab,
37 : : usmsub_widen_optab,
38 : : crc_optab,
39 : : crc_rev_optab,
40 : : vec_load_lanes_optab,
41 : : vec_store_lanes_optab,
42 : : vec_mask_load_lanes_optab,
43 : : vec_mask_store_lanes_optab,
44 : : vec_mask_len_load_lanes_optab,
45 : : vec_mask_len_store_lanes_optab,
46 : : vcond_mask_optab,
47 : : vec_cmp_optab,
48 : : vec_cmpu_optab,
49 : : vec_cmpeq_optab,
50 : : maskload_optab,
51 : : maskstore_optab,
52 : : mask_len_load_optab,
53 : : mask_len_store_optab,
54 : : gather_load_optab,
55 : : mask_gather_load_optab,
56 : : mask_len_gather_load_optab,
57 : : scatter_store_optab,
58 : : mask_scatter_store_optab,
59 : : mask_len_scatter_store_optab,
60 : : vec_extract_optab,
61 : : vec_init_optab,
62 : : sdot_prod_optab,
63 : : udot_prod_optab,
64 : : usdot_prod_optab,
65 : : while_ult_optab,
66 : : add_optab,
67 : : addv_optab,
68 : : ssadd_optab,
69 : : usadd_optab,
70 : : sub_optab,
71 : : subv_optab,
72 : : sssub_optab,
73 : : ussub_optab,
74 : : smul_optab,
75 : : smulv_optab,
76 : : ssmul_optab,
77 : : usmul_optab,
78 : : sdiv_optab,
79 : : sdivv_optab,
80 : : ssdiv_optab,
81 : : udiv_optab,
82 : : usdiv_optab,
83 : : sdivmod_optab,
84 : : udivmod_optab,
85 : : smod_optab,
86 : : umod_optab,
87 : : ftrunc_optab,
88 : : and_optab,
89 : : ior_optab,
90 : : xor_optab,
91 : : ashl_optab,
92 : : ssashl_optab,
93 : : usashl_optab,
94 : : ashr_optab,
95 : : lshr_optab,
96 : : rotl_optab,
97 : : rotr_optab,
98 : : vashl_optab,
99 : : vashr_optab,
100 : : vlshr_optab,
101 : : vrotl_optab,
102 : : vrotr_optab,
103 : : smin_optab,
104 : : smax_optab,
105 : : umin_optab,
106 : : umax_optab,
107 : : neg_optab,
108 : : negv_optab,
109 : : ssneg_optab,
110 : : usneg_optab,
111 : : abs_optab,
112 : : absv_optab,
113 : : one_cmpl_optab,
114 : : bswap_optab,
115 : : ffs_optab,
116 : : clz_optab,
117 : : ctz_optab,
118 : : clrsb_optab,
119 : : popcount_optab,
120 : : parity_optab,
121 : : cmp_optab,
122 : : ucmp_optab,
123 : : eq_optab,
124 : : ne_optab,
125 : : gt_optab,
126 : : ge_optab,
127 : : lt_optab,
128 : : le_optab,
129 : : unord_optab,
130 : : powi_optab,
131 : : sqrt_optab,
132 : : sync_old_add_optab,
133 : : sync_old_sub_optab,
134 : : sync_old_ior_optab,
135 : : sync_old_and_optab,
136 : : sync_old_xor_optab,
137 : : sync_old_nand_optab,
138 : : sync_new_add_optab,
139 : : sync_new_sub_optab,
140 : : sync_new_ior_optab,
141 : : sync_new_and_optab,
142 : : sync_new_xor_optab,
143 : : sync_new_nand_optab,
144 : : sync_compare_and_swap_optab,
145 : : sync_lock_test_and_set_optab,
146 : : mov_optab,
147 : : movstrict_optab,
148 : : movmisalign_optab,
149 : : storent_optab,
150 : : insv_optab,
151 : : extv_optab,
152 : : extzv_optab,
153 : : insvmisalign_optab,
154 : : extvmisalign_optab,
155 : : extzvmisalign_optab,
156 : : push_optab,
157 : : reload_in_optab,
158 : : reload_out_optab,
159 : : cbranch_optab,
160 : : tbranch_eq_optab,
161 : : tbranch_ne_optab,
162 : : addcc_optab,
163 : : negcc_optab,
164 : : notcc_optab,
165 : : movcc_optab,
166 : : cond_add_optab,
167 : : cond_sub_optab,
168 : : cond_smul_optab,
169 : : cond_sdiv_optab,
170 : : cond_smod_optab,
171 : : cond_udiv_optab,
172 : : cond_umod_optab,
173 : : cond_and_optab,
174 : : cond_ior_optab,
175 : : cond_xor_optab,
176 : : cond_ashl_optab,
177 : : cond_ashr_optab,
178 : : cond_lshr_optab,
179 : : cond_smin_optab,
180 : : cond_smax_optab,
181 : : cond_umin_optab,
182 : : cond_umax_optab,
183 : : cond_copysign_optab,
184 : : cond_fmin_optab,
185 : : cond_fmax_optab,
186 : : cond_fma_optab,
187 : : cond_fms_optab,
188 : : cond_fnma_optab,
189 : : cond_fnms_optab,
190 : : cond_neg_optab,
191 : : cond_one_cmpl_optab,
192 : : cond_len_add_optab,
193 : : cond_len_sub_optab,
194 : : cond_len_smul_optab,
195 : : cond_len_sdiv_optab,
196 : : cond_len_smod_optab,
197 : : cond_len_udiv_optab,
198 : : cond_len_umod_optab,
199 : : cond_len_and_optab,
200 : : cond_len_ior_optab,
201 : : cond_len_xor_optab,
202 : : cond_len_ashl_optab,
203 : : cond_len_ashr_optab,
204 : : cond_len_lshr_optab,
205 : : cond_len_smin_optab,
206 : : cond_len_smax_optab,
207 : : cond_len_umin_optab,
208 : : cond_len_umax_optab,
209 : : cond_len_copysign_optab,
210 : : cond_len_fmin_optab,
211 : : cond_len_fmax_optab,
212 : : cond_len_fma_optab,
213 : : cond_len_fms_optab,
214 : : cond_len_fnma_optab,
215 : : cond_len_fnms_optab,
216 : : cond_len_neg_optab,
217 : : cond_len_one_cmpl_optab,
218 : : vcond_mask_len_optab,
219 : : cstore_optab,
220 : : ctrap_optab,
221 : : addv4_optab,
222 : : subv4_optab,
223 : : mulv4_optab,
224 : : uaddv4_optab,
225 : : usubv4_optab,
226 : : umulv4_optab,
227 : : negv3_optab,
228 : : uaddc5_optab,
229 : : usubc5_optab,
230 : : addptr3_optab,
231 : : spaceship_optab,
232 : : smul_highpart_optab,
233 : : umul_highpart_optab,
234 : : cmpmem_optab,
235 : : cmpstr_optab,
236 : : cmpstrn_optab,
237 : : cpymem_optab,
238 : : movmem_optab,
239 : : setmem_optab,
240 : : strlen_optab,
241 : : rawmemchr_optab,
242 : : fma_optab,
243 : : fms_optab,
244 : : fnma_optab,
245 : : fnms_optab,
246 : : rint_optab,
247 : : round_optab,
248 : : roundeven_optab,
249 : : floor_optab,
250 : : ceil_optab,
251 : : btrunc_optab,
252 : : nearbyint_optab,
253 : : acos_optab,
254 : : acosh_optab,
255 : : asin_optab,
256 : : asinh_optab,
257 : : atan2_optab,
258 : : atan_optab,
259 : : atanh_optab,
260 : : copysign_optab,
261 : : xorsign_optab,
262 : : cadd90_optab,
263 : : cadd270_optab,
264 : : cmul_optab,
265 : : cmul_conj_optab,
266 : : cmla_optab,
267 : : cmla_conj_optab,
268 : : cmls_optab,
269 : : cmls_conj_optab,
270 : : cos_optab,
271 : : cosh_optab,
272 : : exp10_optab,
273 : : exp2_optab,
274 : : exp_optab,
275 : : expm1_optab,
276 : : fmod_optab,
277 : : hypot_optab,
278 : : ilogb_optab,
279 : : isinf_optab,
280 : : isfinite_optab,
281 : : isnormal_optab,
282 : : issignaling_optab,
283 : : isnan_optab,
284 : : ldexp_optab,
285 : : log10_optab,
286 : : log1p_optab,
287 : : log2_optab,
288 : : log_optab,
289 : : logb_optab,
290 : : pow_optab,
291 : : remainder_optab,
292 : : rsqrt_optab,
293 : : scalb_optab,
294 : : signbit_optab,
295 : : significand_optab,
296 : : sin_optab,
297 : : sincos_optab,
298 : : sinh_optab,
299 : : tan_optab,
300 : : tanh_optab,
301 : : fegetround_optab,
302 : : feclearexcept_optab,
303 : : feraiseexcept_optab,
304 : : fmax_optab,
305 : : fmin_optab,
306 : : reduc_fmax_scal_optab,
307 : : reduc_fmin_scal_optab,
308 : : reduc_smax_scal_optab,
309 : : reduc_smin_scal_optab,
310 : : reduc_plus_scal_optab,
311 : : reduc_umax_scal_optab,
312 : : reduc_umin_scal_optab,
313 : : reduc_and_scal_optab,
314 : : reduc_ior_scal_optab,
315 : : reduc_xor_scal_optab,
316 : : fold_left_plus_optab,
317 : : mask_fold_left_plus_optab,
318 : : mask_len_fold_left_plus_optab,
319 : : extract_last_optab,
320 : : fold_extract_last_optab,
321 : : len_fold_extract_last_optab,
322 : : uabd_optab,
323 : : sabd_optab,
324 : : savg_floor_optab,
325 : : uavg_floor_optab,
326 : : savg_ceil_optab,
327 : : uavg_ceil_optab,
328 : : ssum_widen_optab,
329 : : usum_widen_optab,
330 : : usad_optab,
331 : : ssad_optab,
332 : : smulhs_optab,
333 : : smulhrs_optab,
334 : : umulhs_optab,
335 : : umulhrs_optab,
336 : : sdiv_pow2_optab,
337 : : vec_pack_sfix_trunc_optab,
338 : : vec_pack_ssat_optab,
339 : : vec_pack_trunc_optab,
340 : : vec_pack_ufix_trunc_optab,
341 : : vec_pack_sbool_trunc_optab,
342 : : vec_pack_usat_optab,
343 : : vec_packs_float_optab,
344 : : vec_packu_float_optab,
345 : : vec_perm_optab,
346 : : vec_realign_load_optab,
347 : : vec_set_optab,
348 : : vec_shl_optab,
349 : : vec_shr_optab,
350 : : vec_unpack_sfix_trunc_hi_optab,
351 : : vec_unpack_sfix_trunc_lo_optab,
352 : : vec_unpack_ufix_trunc_hi_optab,
353 : : vec_unpack_ufix_trunc_lo_optab,
354 : : vec_unpacks_float_hi_optab,
355 : : vec_unpacks_float_lo_optab,
356 : : vec_unpacks_hi_optab,
357 : : vec_unpacks_lo_optab,
358 : : vec_unpacks_sbool_hi_optab,
359 : : vec_unpacks_sbool_lo_optab,
360 : : vec_unpacku_float_hi_optab,
361 : : vec_unpacku_float_lo_optab,
362 : : vec_unpacku_hi_optab,
363 : : vec_unpacku_lo_optab,
364 : : vec_widen_smult_even_optab,
365 : : vec_widen_smult_hi_optab,
366 : : vec_widen_smult_lo_optab,
367 : : vec_widen_smult_odd_optab,
368 : : vec_widen_ssub_optab,
369 : : vec_widen_ssub_hi_optab,
370 : : vec_widen_ssub_lo_optab,
371 : : vec_widen_ssub_odd_optab,
372 : : vec_widen_ssub_even_optab,
373 : : vec_widen_sadd_optab,
374 : : vec_widen_sadd_hi_optab,
375 : : vec_widen_sadd_lo_optab,
376 : : vec_widen_sadd_odd_optab,
377 : : vec_widen_sadd_even_optab,
378 : : vec_widen_sabd_optab,
379 : : vec_widen_sabd_hi_optab,
380 : : vec_widen_sabd_lo_optab,
381 : : vec_widen_sabd_odd_optab,
382 : : vec_widen_sabd_even_optab,
383 : : vec_widen_sshiftl_hi_optab,
384 : : vec_widen_sshiftl_lo_optab,
385 : : vec_widen_umult_even_optab,
386 : : vec_widen_umult_hi_optab,
387 : : vec_widen_umult_lo_optab,
388 : : vec_widen_umult_odd_optab,
389 : : vec_widen_ushiftl_hi_optab,
390 : : vec_widen_ushiftl_lo_optab,
391 : : vec_widen_usub_optab,
392 : : vec_widen_usub_hi_optab,
393 : : vec_widen_usub_lo_optab,
394 : : vec_widen_usub_odd_optab,
395 : : vec_widen_usub_even_optab,
396 : : vec_widen_uadd_optab,
397 : : vec_widen_uadd_hi_optab,
398 : : vec_widen_uadd_lo_optab,
399 : : vec_widen_uadd_odd_optab,
400 : : vec_widen_uadd_even_optab,
401 : : vec_widen_uabd_optab,
402 : : vec_widen_uabd_hi_optab,
403 : : vec_widen_uabd_lo_optab,
404 : : vec_widen_uabd_odd_optab,
405 : : vec_widen_uabd_even_optab,
406 : : vec_trunc_add_high_optab,
407 : : vec_addsub_optab,
408 : : vec_fmaddsub_optab,
409 : : vec_fmsubadd_optab,
410 : : sync_add_optab,
411 : : sync_and_optab,
412 : : sync_ior_optab,
413 : : sync_lock_release_optab,
414 : : sync_nand_optab,
415 : : sync_sub_optab,
416 : : sync_xor_optab,
417 : : atomic_add_fetch_optab,
418 : : atomic_add_optab,
419 : : atomic_and_fetch_optab,
420 : : atomic_and_optab,
421 : : atomic_bit_test_and_set_optab,
422 : : atomic_bit_test_and_complement_optab,
423 : : atomic_bit_test_and_reset_optab,
424 : : atomic_compare_and_swap_optab,
425 : : atomic_exchange_optab,
426 : : atomic_fetch_add_optab,
427 : : atomic_fetch_and_optab,
428 : : atomic_fetch_nand_optab,
429 : : atomic_fetch_or_optab,
430 : : atomic_fetch_sub_optab,
431 : : atomic_fetch_xor_optab,
432 : : atomic_load_optab,
433 : : atomic_nand_fetch_optab,
434 : : atomic_nand_optab,
435 : : atomic_or_fetch_optab,
436 : : atomic_or_optab,
437 : : atomic_store_optab,
438 : : atomic_sub_fetch_optab,
439 : : atomic_sub_optab,
440 : : atomic_xor_fetch_optab,
441 : : atomic_xor_optab,
442 : : atomic_add_fetch_cmp_0_optab,
443 : : atomic_sub_fetch_cmp_0_optab,
444 : : atomic_and_fetch_cmp_0_optab,
445 : : atomic_or_fetch_cmp_0_optab,
446 : : atomic_xor_fetch_cmp_0_optab,
447 : : get_thread_pointer_optab,
448 : : set_thread_pointer_optab,
449 : : check_raw_ptrs_optab,
450 : : check_war_ptrs_optab,
451 : : vec_duplicate_optab,
452 : : vec_series_optab,
453 : : vec_shl_insert_optab,
454 : : len_load_optab,
455 : : len_store_optab,
456 : : mask_len_strided_load_optab,
457 : : mask_len_strided_store_optab,
458 : : select_vl_optab,
459 : : andn_optab,
460 : : iorn_optab,
461 : : FIRST_CONV_OPTAB = sext_optab,
462 : : LAST_CONVLIB_OPTAB = sstrunc_optab,
463 : : LAST_CONV_OPTAB = while_ult_optab,
464 : : FIRST_NORM_OPTAB = add_optab,
465 : : LAST_NORMLIB_OPTAB = sync_lock_test_and_set_optab,
466 : : LAST_NORM_OPTAB = iorn_optab
467 : : };
468 : :
469 : : #define NUM_OPTABS 454
470 : : #define NUM_CONVLIB_OPTABS 17
471 : : #define NUM_NORMLIB_OPTABS 80
472 : : #define NUM_OPTAB_PATTERNS 2916
473 : : typedef enum optab_tag optab;
474 : : typedef enum optab_tag convert_optab;
475 : : typedef enum optab_tag direct_optab;
476 : :
477 : : struct optab_libcall_d
478 : : {
479 : : char libcall_suffix;
480 : : const char *libcall_basename;
481 : : void (*libcall_gen) (optab, const char *name,
482 : : char suffix, machine_mode);
483 : : };
484 : :
485 : : struct convert_optab_libcall_d
486 : : {
487 : : const char *libcall_basename;
488 : : void (*libcall_gen) (convert_optab, const char *name,
489 : : machine_mode, machine_mode);
490 : : };
491 : :
492 : : /* Given an enum insn_code, access the function to construct
493 : : the body of that kind of insn. */
494 : : #define GEN_FCN(CODE) (insn_data[CODE].genfun)
495 : :
496 : : #ifdef NUM_RTX_CODE
497 : : /* Contains the optab used for each rtx code, and vice-versa. */
498 : : extern const optab code_to_optab_[NUM_RTX_CODE];
499 : : extern const enum rtx_code optab_to_code_[NUM_OPTABS];
500 : :
501 : : static inline optab
502 : 98002700 : code_to_optab (enum rtx_code code)
503 : : {
504 : 98002700 : return code_to_optab_[code];
505 : : }
506 : :
507 : : static inline enum rtx_code
508 : 46065705 : optab_to_code (optab op)
509 : : {
510 : 46064495 : return optab_to_code_[op];
511 : : }
512 : :
513 : : extern insn_code maybe_code_for_ccmp (machine_mode);
514 : : inline insn_code
515 : 32 : code_for_ccmp (machine_mode arg0)
516 : : {
517 : 32 : insn_code code = maybe_code_for_ccmp (arg0);
518 : 32 : gcc_assert (code != CODE_FOR_nothing);
519 : 32 : return code;
520 : : }
521 : :
522 : : extern rtx maybe_gen_ccmp (machine_mode, rtx, rtx, rtx, rtx, rtx);
523 : : inline rtx
524 : : gen_ccmp (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3, rtx x4)
525 : : {
526 : : rtx res = maybe_gen_ccmp (arg0, x0, x1, x2, x3, x4);
527 : : gcc_assert (res);
528 : : return res;
529 : : }
530 : :
531 : : extern insn_code maybe_code_for_cmp_1 (machine_mode);
532 : : inline insn_code
533 : : code_for_cmp_1 (machine_mode arg0)
534 : : {
535 : : insn_code code = maybe_code_for_cmp_1 (arg0);
536 : : gcc_assert (code != CODE_FOR_nothing);
537 : : return code;
538 : : }
539 : :
540 : : extern rtx maybe_gen_cmp_1 (machine_mode, rtx, rtx);
541 : : inline rtx
542 : 29872 : gen_cmp_1 (machine_mode arg0, rtx x0, rtx x1)
543 : : {
544 : 29872 : rtx res = maybe_gen_cmp_1 (arg0, x0, x1);
545 : 29872 : gcc_assert (res);
546 : 29872 : return res;
547 : : }
548 : :
549 : : extern insn_code maybe_code_for_pushfl2 (machine_mode);
550 : : inline insn_code
551 : : code_for_pushfl2 (machine_mode arg0)
552 : : {
553 : : insn_code code = maybe_code_for_pushfl2 (arg0);
554 : : gcc_assert (code != CODE_FOR_nothing);
555 : : return code;
556 : : }
557 : :
558 : : extern rtx maybe_gen_pushfl2 (machine_mode, rtx, rtx);
559 : : inline rtx
560 : 23 : gen_pushfl2 (machine_mode arg0, rtx x0, rtx x1)
561 : : {
562 : 23 : rtx res = maybe_gen_pushfl2 (arg0, x0, x1);
563 : 23 : gcc_assert (res);
564 : 23 : return res;
565 : : }
566 : :
567 : : extern insn_code maybe_code_for_popfl1 (machine_mode);
568 : : inline insn_code
569 : : code_for_popfl1 (machine_mode arg0)
570 : : {
571 : : insn_code code = maybe_code_for_popfl1 (arg0);
572 : : gcc_assert (code != CODE_FOR_nothing);
573 : : return code;
574 : : }
575 : :
576 : : extern rtx maybe_gen_popfl1 (machine_mode, rtx, rtx);
577 : : inline rtx
578 : 21 : gen_popfl1 (machine_mode arg0, rtx x0, rtx x1)
579 : : {
580 : 21 : rtx res = maybe_gen_popfl1 (arg0, x0, x1);
581 : 21 : gcc_assert (res);
582 : 21 : return res;
583 : : }
584 : :
585 : : extern insn_code maybe_code_for_insv_1 (machine_mode);
586 : : inline insn_code
587 : : code_for_insv_1 (machine_mode arg0)
588 : : {
589 : : insn_code code = maybe_code_for_insv_1 (arg0);
590 : : gcc_assert (code != CODE_FOR_nothing);
591 : : return code;
592 : : }
593 : :
594 : : extern rtx maybe_gen_insv_1 (machine_mode, rtx, rtx);
595 : : inline rtx
596 : 2318 : gen_insv_1 (machine_mode arg0, rtx x0, rtx x1)
597 : : {
598 : 2318 : rtx res = maybe_gen_insv_1 (arg0, x0, x1);
599 : 2318 : gcc_assert (res);
600 : 2318 : return res;
601 : : }
602 : :
603 : : extern insn_code maybe_code_for_add3_carry (machine_mode);
604 : : inline insn_code
605 : : code_for_add3_carry (machine_mode arg0)
606 : : {
607 : : insn_code code = maybe_code_for_add3_carry (arg0);
608 : : gcc_assert (code != CODE_FOR_nothing);
609 : : return code;
610 : : }
611 : :
612 : : extern rtx maybe_gen_add3_carry (machine_mode, rtx, rtx, rtx, rtx, rtx);
613 : : inline rtx
614 : 2576 : gen_add3_carry (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3, rtx x4)
615 : : {
616 : 2576 : rtx res = maybe_gen_add3_carry (arg0, x0, x1, x2, x3, x4);
617 : 2576 : gcc_assert (res);
618 : 2576 : return res;
619 : : }
620 : :
621 : : extern insn_code maybe_code_for_sub3_carry (machine_mode);
622 : : inline insn_code
623 : : code_for_sub3_carry (machine_mode arg0)
624 : : {
625 : : insn_code code = maybe_code_for_sub3_carry (arg0);
626 : : gcc_assert (code != CODE_FOR_nothing);
627 : : return code;
628 : : }
629 : :
630 : : extern rtx maybe_gen_sub3_carry (machine_mode, rtx, rtx, rtx, rtx, rtx);
631 : : inline rtx
632 : 732 : gen_sub3_carry (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3, rtx x4)
633 : : {
634 : 732 : rtx res = maybe_gen_sub3_carry (arg0, x0, x1, x2, x3, x4);
635 : 732 : gcc_assert (res);
636 : 732 : return res;
637 : : }
638 : :
639 : : extern insn_code maybe_code_for_sub3_carry_ccc (machine_mode);
640 : : inline insn_code
641 : : code_for_sub3_carry_ccc (machine_mode arg0)
642 : : {
643 : : insn_code code = maybe_code_for_sub3_carry_ccc (arg0);
644 : : gcc_assert (code != CODE_FOR_nothing);
645 : : return code;
646 : : }
647 : :
648 : : extern rtx maybe_gen_sub3_carry_ccc (machine_mode, rtx, rtx, rtx);
649 : : inline rtx
650 : 17750 : gen_sub3_carry_ccc (machine_mode arg0, rtx x0, rtx x1, rtx x2)
651 : : {
652 : 17750 : rtx res = maybe_gen_sub3_carry_ccc (arg0, x0, x1, x2);
653 : 17750 : gcc_assert (res);
654 : 17750 : return res;
655 : : }
656 : :
657 : : extern insn_code maybe_code_for_sub3_carry_ccgz (machine_mode);
658 : : inline insn_code
659 : : code_for_sub3_carry_ccgz (machine_mode arg0)
660 : : {
661 : : insn_code code = maybe_code_for_sub3_carry_ccgz (arg0);
662 : : gcc_assert (code != CODE_FOR_nothing);
663 : : return code;
664 : : }
665 : :
666 : : extern rtx maybe_gen_sub3_carry_ccgz (machine_mode, rtx, rtx, rtx);
667 : : inline rtx
668 : 4333 : gen_sub3_carry_ccgz (machine_mode arg0, rtx x0, rtx x1, rtx x2)
669 : : {
670 : 4333 : rtx res = maybe_gen_sub3_carry_ccgz (arg0, x0, x1, x2);
671 : 4333 : gcc_assert (res);
672 : 4333 : return res;
673 : : }
674 : :
675 : : extern insn_code maybe_code_for_add3_cc_overflow_1 (machine_mode);
676 : : inline insn_code
677 : : code_for_add3_cc_overflow_1 (machine_mode arg0)
678 : : {
679 : : insn_code code = maybe_code_for_add3_cc_overflow_1 (arg0);
680 : : gcc_assert (code != CODE_FOR_nothing);
681 : : return code;
682 : : }
683 : :
684 : : extern rtx maybe_gen_add3_cc_overflow_1 (machine_mode, rtx, rtx, rtx);
685 : : inline rtx
686 : 2122 : gen_add3_cc_overflow_1 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
687 : : {
688 : 2122 : rtx res = maybe_gen_add3_cc_overflow_1 (arg0, x0, x1, x2);
689 : 2122 : gcc_assert (res);
690 : 2122 : return res;
691 : : }
692 : :
693 : : extern insn_code maybe_code_for_test_ccno_1 (machine_mode);
694 : : inline insn_code
695 : : code_for_test_ccno_1 (machine_mode arg0)
696 : : {
697 : : insn_code code = maybe_code_for_test_ccno_1 (arg0);
698 : : gcc_assert (code != CODE_FOR_nothing);
699 : : return code;
700 : : }
701 : :
702 : : extern rtx maybe_gen_test_ccno_1 (machine_mode, rtx, rtx);
703 : : inline rtx
704 : 27 : gen_test_ccno_1 (machine_mode arg0, rtx x0, rtx x1)
705 : : {
706 : 27 : rtx res = maybe_gen_test_ccno_1 (arg0, x0, x1);
707 : 27 : gcc_assert (res);
708 : 27 : return res;
709 : : }
710 : :
711 : : extern insn_code maybe_code_for_x86_shift_adj_1 (machine_mode);
712 : : inline insn_code
713 : : code_for_x86_shift_adj_1 (machine_mode arg0)
714 : : {
715 : : insn_code code = maybe_code_for_x86_shift_adj_1 (arg0);
716 : : gcc_assert (code != CODE_FOR_nothing);
717 : : return code;
718 : : }
719 : :
720 : : extern rtx maybe_gen_x86_shift_adj_1 (machine_mode, rtx, rtx, rtx, rtx);
721 : : inline rtx
722 : 2214 : gen_x86_shift_adj_1 (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3)
723 : : {
724 : 2214 : rtx res = maybe_gen_x86_shift_adj_1 (arg0, x0, x1, x2, x3);
725 : 2214 : gcc_assert (res);
726 : 2214 : return res;
727 : : }
728 : :
729 : : extern insn_code maybe_code_for_x86_shift_adj_2 (machine_mode);
730 : : inline insn_code
731 : : code_for_x86_shift_adj_2 (machine_mode arg0)
732 : : {
733 : : insn_code code = maybe_code_for_x86_shift_adj_2 (arg0);
734 : : gcc_assert (code != CODE_FOR_nothing);
735 : : return code;
736 : : }
737 : :
738 : : extern rtx maybe_gen_x86_shift_adj_2 (machine_mode, rtx, rtx, rtx);
739 : : inline rtx
740 : 762 : gen_x86_shift_adj_2 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
741 : : {
742 : 762 : rtx res = maybe_gen_x86_shift_adj_2 (arg0, x0, x1, x2);
743 : 762 : gcc_assert (res);
744 : 762 : return res;
745 : : }
746 : :
747 : : extern insn_code maybe_code_for_x86_shift_adj_3 (machine_mode);
748 : : inline insn_code
749 : : code_for_x86_shift_adj_3 (machine_mode arg0)
750 : : {
751 : : insn_code code = maybe_code_for_x86_shift_adj_3 (arg0);
752 : : gcc_assert (code != CODE_FOR_nothing);
753 : : return code;
754 : : }
755 : :
756 : : extern rtx maybe_gen_x86_shift_adj_3 (machine_mode, rtx, rtx, rtx);
757 : : inline rtx
758 : 38 : gen_x86_shift_adj_3 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
759 : : {
760 : 38 : rtx res = maybe_gen_x86_shift_adj_3 (arg0, x0, x1, x2);
761 : 38 : gcc_assert (res);
762 : 38 : return res;
763 : : }
764 : :
765 : : extern insn_code maybe_code_for_leave (machine_mode);
766 : : inline insn_code
767 : : code_for_leave (machine_mode arg0)
768 : : {
769 : : insn_code code = maybe_code_for_leave (arg0);
770 : : gcc_assert (code != CODE_FOR_nothing);
771 : : return code;
772 : : }
773 : :
774 : : extern rtx maybe_gen_leave (machine_mode);
775 : : inline rtx
776 : 241811 : gen_leave (machine_mode arg0)
777 : : {
778 : 241811 : rtx res = maybe_gen_leave (arg0);
779 : 241811 : gcc_assert (res);
780 : 241811 : return res;
781 : : }
782 : :
783 : : extern insn_code maybe_code_for_tbm_bextri (machine_mode);
784 : : inline insn_code
785 : 18 : code_for_tbm_bextri (machine_mode arg0)
786 : : {
787 : 18 : insn_code code = maybe_code_for_tbm_bextri (arg0);
788 : 18 : gcc_assert (code != CODE_FOR_nothing);
789 : 18 : return code;
790 : : }
791 : :
792 : : extern rtx maybe_gen_tbm_bextri (machine_mode, rtx, rtx, rtx, rtx);
793 : : inline rtx
794 : : gen_tbm_bextri (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3)
795 : : {
796 : : rtx res = maybe_gen_tbm_bextri (arg0, x0, x1, x2, x3);
797 : : gcc_assert (res);
798 : : return res;
799 : : }
800 : :
801 : : extern insn_code maybe_code_for_tls_global_dynamic_64 (machine_mode);
802 : : inline insn_code
803 : : code_for_tls_global_dynamic_64 (machine_mode arg0)
804 : : {
805 : : insn_code code = maybe_code_for_tls_global_dynamic_64 (arg0);
806 : : gcc_assert (code != CODE_FOR_nothing);
807 : : return code;
808 : : }
809 : :
810 : : extern rtx maybe_gen_tls_global_dynamic_64 (machine_mode, rtx, rtx, rtx, rtx);
811 : : inline rtx
812 : 4350 : gen_tls_global_dynamic_64 (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3)
813 : : {
814 : 4350 : rtx res = maybe_gen_tls_global_dynamic_64 (arg0, x0, x1, x2, x3);
815 : 4350 : gcc_assert (res);
816 : 4350 : return res;
817 : : }
818 : :
819 : : extern insn_code maybe_code_for_tls_local_dynamic_base_64 (machine_mode);
820 : : inline insn_code
821 : : code_for_tls_local_dynamic_base_64 (machine_mode arg0)
822 : : {
823 : : insn_code code = maybe_code_for_tls_local_dynamic_base_64 (arg0);
824 : : gcc_assert (code != CODE_FOR_nothing);
825 : : return code;
826 : : }
827 : :
828 : : extern rtx maybe_gen_tls_local_dynamic_base_64 (machine_mode, rtx, rtx, rtx);
829 : : inline rtx
830 : 305 : gen_tls_local_dynamic_base_64 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
831 : : {
832 : 305 : rtx res = maybe_gen_tls_local_dynamic_base_64 (arg0, x0, x1, x2);
833 : 305 : gcc_assert (res);
834 : 305 : return res;
835 : : }
836 : :
837 : : extern insn_code maybe_code_for_tls_dynamic_gnu2_64 (machine_mode);
838 : : inline insn_code
839 : : code_for_tls_dynamic_gnu2_64 (machine_mode arg0)
840 : : {
841 : : insn_code code = maybe_code_for_tls_dynamic_gnu2_64 (arg0);
842 : : gcc_assert (code != CODE_FOR_nothing);
843 : : return code;
844 : : }
845 : :
846 : : extern rtx maybe_gen_tls_dynamic_gnu2_64 (machine_mode, rtx, rtx);
847 : : inline rtx
848 : 85 : gen_tls_dynamic_gnu2_64 (machine_mode arg0, rtx x0, rtx x1)
849 : : {
850 : 85 : rtx res = maybe_gen_tls_dynamic_gnu2_64 (arg0, x0, x1);
851 : 85 : gcc_assert (res);
852 : 85 : return res;
853 : : }
854 : :
855 : : extern insn_code maybe_code_for_pro_epilogue_adjust_stack_add (machine_mode);
856 : : inline insn_code
857 : : code_for_pro_epilogue_adjust_stack_add (machine_mode arg0)
858 : : {
859 : : insn_code code = maybe_code_for_pro_epilogue_adjust_stack_add (arg0);
860 : : gcc_assert (code != CODE_FOR_nothing);
861 : : return code;
862 : : }
863 : :
864 : : extern rtx maybe_gen_pro_epilogue_adjust_stack_add (machine_mode, rtx, rtx, rtx);
865 : : inline rtx
866 : 1491003 : gen_pro_epilogue_adjust_stack_add (machine_mode arg0, rtx x0, rtx x1, rtx x2)
867 : : {
868 : 1491003 : rtx res = maybe_gen_pro_epilogue_adjust_stack_add (arg0, x0, x1, x2);
869 : 1491003 : gcc_assert (res);
870 : 1491003 : return res;
871 : : }
872 : :
873 : : extern insn_code maybe_code_for_pro_epilogue_adjust_stack_add_nocc (machine_mode);
874 : : inline insn_code
875 : : code_for_pro_epilogue_adjust_stack_add_nocc (machine_mode arg0)
876 : : {
877 : : insn_code code = maybe_code_for_pro_epilogue_adjust_stack_add_nocc (arg0);
878 : : gcc_assert (code != CODE_FOR_nothing);
879 : : return code;
880 : : }
881 : :
882 : : extern rtx maybe_gen_pro_epilogue_adjust_stack_add_nocc (machine_mode, rtx, rtx, rtx);
883 : : inline rtx
884 : 97191 : gen_pro_epilogue_adjust_stack_add_nocc (machine_mode arg0, rtx x0, rtx x1, rtx x2)
885 : : {
886 : 97191 : rtx res = maybe_gen_pro_epilogue_adjust_stack_add_nocc (arg0, x0, x1, x2);
887 : 97191 : gcc_assert (res);
888 : 97191 : return res;
889 : : }
890 : :
891 : : extern insn_code maybe_code_for_pro_epilogue_adjust_stack_sub (machine_mode);
892 : : inline insn_code
893 : : code_for_pro_epilogue_adjust_stack_sub (machine_mode arg0)
894 : : {
895 : : insn_code code = maybe_code_for_pro_epilogue_adjust_stack_sub (arg0);
896 : : gcc_assert (code != CODE_FOR_nothing);
897 : : return code;
898 : : }
899 : :
900 : : extern rtx maybe_gen_pro_epilogue_adjust_stack_sub (machine_mode, rtx, rtx, rtx);
901 : : inline rtx
902 : 45 : gen_pro_epilogue_adjust_stack_sub (machine_mode arg0, rtx x0, rtx x1, rtx x2)
903 : : {
904 : 45 : rtx res = maybe_gen_pro_epilogue_adjust_stack_sub (arg0, x0, x1, x2);
905 : 45 : gcc_assert (res);
906 : 45 : return res;
907 : : }
908 : :
909 : : extern insn_code maybe_code_for_allocate_stack_worker_probe (machine_mode);
910 : : inline insn_code
911 : : code_for_allocate_stack_worker_probe (machine_mode arg0)
912 : : {
913 : : insn_code code = maybe_code_for_allocate_stack_worker_probe (arg0);
914 : : gcc_assert (code != CODE_FOR_nothing);
915 : : return code;
916 : : }
917 : :
918 : : extern rtx maybe_gen_allocate_stack_worker_probe (machine_mode, rtx, rtx);
919 : : inline rtx
920 : 45 : gen_allocate_stack_worker_probe (machine_mode arg0, rtx x0, rtx x1)
921 : : {
922 : 45 : rtx res = maybe_gen_allocate_stack_worker_probe (arg0, x0, x1);
923 : 45 : gcc_assert (res);
924 : 45 : return res;
925 : : }
926 : :
927 : : extern insn_code maybe_code_for_probe_stack_1 (machine_mode);
928 : : inline insn_code
929 : : code_for_probe_stack_1 (machine_mode arg0)
930 : : {
931 : : insn_code code = maybe_code_for_probe_stack_1 (arg0);
932 : : gcc_assert (code != CODE_FOR_nothing);
933 : : return code;
934 : : }
935 : :
936 : : extern rtx maybe_gen_probe_stack_1 (machine_mode, rtx, rtx);
937 : : inline rtx
938 : 135 : gen_probe_stack_1 (machine_mode arg0, rtx x0, rtx x1)
939 : : {
940 : 135 : rtx res = maybe_gen_probe_stack_1 (arg0, x0, x1);
941 : 135 : gcc_assert (res);
942 : 135 : return res;
943 : : }
944 : :
945 : : extern insn_code maybe_code_for_adjust_stack_and_probe (machine_mode);
946 : : inline insn_code
947 : : code_for_adjust_stack_and_probe (machine_mode arg0)
948 : : {
949 : : insn_code code = maybe_code_for_adjust_stack_and_probe (arg0);
950 : : gcc_assert (code != CODE_FOR_nothing);
951 : : return code;
952 : : }
953 : :
954 : : extern rtx maybe_gen_adjust_stack_and_probe (machine_mode, rtx, rtx, rtx);
955 : : inline rtx
956 : 25 : gen_adjust_stack_and_probe (machine_mode arg0, rtx x0, rtx x1, rtx x2)
957 : : {
958 : 25 : rtx res = maybe_gen_adjust_stack_and_probe (arg0, x0, x1, x2);
959 : 25 : gcc_assert (res);
960 : 25 : return res;
961 : : }
962 : :
963 : : extern insn_code maybe_code_for_probe_stack_range (machine_mode);
964 : : inline insn_code
965 : : code_for_probe_stack_range (machine_mode arg0)
966 : : {
967 : : insn_code code = maybe_code_for_probe_stack_range (arg0);
968 : : gcc_assert (code != CODE_FOR_nothing);
969 : : return code;
970 : : }
971 : :
972 : : extern rtx maybe_gen_probe_stack_range (machine_mode, rtx, rtx, rtx);
973 : : inline rtx
974 : 0 : gen_probe_stack_range (machine_mode arg0, rtx x0, rtx x1, rtx x2)
975 : : {
976 : 0 : rtx res = maybe_gen_probe_stack_range (arg0, x0, x1, x2);
977 : 0 : gcc_assert (res);
978 : 0 : return res;
979 : : }
980 : :
981 : : extern insn_code maybe_code_for_stack_protect_set_1 (machine_mode, machine_mode);
982 : : inline insn_code
983 : : code_for_stack_protect_set_1 (machine_mode arg0, machine_mode arg1)
984 : : {
985 : : insn_code code = maybe_code_for_stack_protect_set_1 (arg0, arg1);
986 : : gcc_assert (code != CODE_FOR_nothing);
987 : : return code;
988 : : }
989 : :
990 : : extern rtx maybe_gen_stack_protect_set_1 (machine_mode, machine_mode, rtx, rtx, rtx);
991 : : inline rtx
992 : 236 : gen_stack_protect_set_1 (machine_mode arg0, machine_mode arg1, rtx x0, rtx x1, rtx x2)
993 : : {
994 : 236 : rtx res = maybe_gen_stack_protect_set_1 (arg0, arg1, x0, x1, x2);
995 : 236 : gcc_assert (res);
996 : 236 : return res;
997 : : }
998 : :
999 : : extern insn_code maybe_code_for_stack_protect_test_1 (machine_mode);
1000 : : inline insn_code
1001 : 340 : code_for_stack_protect_test_1 (machine_mode arg0)
1002 : : {
1003 : 340 : insn_code code = maybe_code_for_stack_protect_test_1 (arg0);
1004 : 340 : gcc_assert (code != CODE_FOR_nothing);
1005 : 340 : return code;
1006 : : }
1007 : :
1008 : : extern rtx maybe_gen_stack_protect_test_1 (machine_mode, rtx, rtx, rtx);
1009 : : inline rtx
1010 : 262 : gen_stack_protect_test_1 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1011 : : {
1012 : 262 : rtx res = maybe_gen_stack_protect_test_1 (arg0, x0, x1, x2);
1013 : 262 : gcc_assert (res);
1014 : 262 : return res;
1015 : : }
1016 : :
1017 : : extern insn_code maybe_code_for_lwp_llwpcb (machine_mode);
1018 : : inline insn_code
1019 : : code_for_lwp_llwpcb (machine_mode arg0)
1020 : : {
1021 : : insn_code code = maybe_code_for_lwp_llwpcb (arg0);
1022 : : gcc_assert (code != CODE_FOR_nothing);
1023 : : return code;
1024 : : }
1025 : :
1026 : : extern rtx maybe_gen_lwp_llwpcb (machine_mode, rtx);
1027 : : inline rtx
1028 : 18 : gen_lwp_llwpcb (machine_mode arg0, rtx x0)
1029 : : {
1030 : 18 : rtx res = maybe_gen_lwp_llwpcb (arg0, x0);
1031 : 18 : gcc_assert (res);
1032 : 18 : return res;
1033 : : }
1034 : :
1035 : : extern insn_code maybe_code_for_lwp_slwpcb (machine_mode);
1036 : : inline insn_code
1037 : : code_for_lwp_slwpcb (machine_mode arg0)
1038 : : {
1039 : : insn_code code = maybe_code_for_lwp_slwpcb (arg0);
1040 : : gcc_assert (code != CODE_FOR_nothing);
1041 : : return code;
1042 : : }
1043 : :
1044 : : extern rtx maybe_gen_lwp_slwpcb (machine_mode, rtx);
1045 : : inline rtx
1046 : 18 : gen_lwp_slwpcb (machine_mode arg0, rtx x0)
1047 : : {
1048 : 18 : rtx res = maybe_gen_lwp_slwpcb (arg0, x0);
1049 : 18 : gcc_assert (res);
1050 : 18 : return res;
1051 : : }
1052 : :
1053 : : extern insn_code maybe_code_for_lwp_lwpval (machine_mode);
1054 : : inline insn_code
1055 : 26 : code_for_lwp_lwpval (machine_mode arg0)
1056 : : {
1057 : 26 : insn_code code = maybe_code_for_lwp_lwpval (arg0);
1058 : 26 : gcc_assert (code != CODE_FOR_nothing);
1059 : 26 : return code;
1060 : : }
1061 : :
1062 : : extern rtx maybe_gen_lwp_lwpval (machine_mode, rtx, rtx, rtx);
1063 : : inline rtx
1064 : : gen_lwp_lwpval (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1065 : : {
1066 : : rtx res = maybe_gen_lwp_lwpval (arg0, x0, x1, x2);
1067 : : gcc_assert (res);
1068 : : return res;
1069 : : }
1070 : :
1071 : : extern insn_code maybe_code_for_lwp_lwpins (machine_mode);
1072 : : inline insn_code
1073 : 25 : code_for_lwp_lwpins (machine_mode arg0)
1074 : : {
1075 : 25 : insn_code code = maybe_code_for_lwp_lwpins (arg0);
1076 : 25 : gcc_assert (code != CODE_FOR_nothing);
1077 : 25 : return code;
1078 : : }
1079 : :
1080 : : extern rtx maybe_gen_lwp_lwpins (machine_mode, rtx, rtx, rtx);
1081 : : inline rtx
1082 : : gen_lwp_lwpins (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1083 : : {
1084 : : rtx res = maybe_gen_lwp_lwpins (arg0, x0, x1, x2);
1085 : : gcc_assert (res);
1086 : : return res;
1087 : : }
1088 : :
1089 : : extern insn_code maybe_code_for_rdrand (machine_mode);
1090 : : inline insn_code
1091 : : code_for_rdrand (machine_mode arg0)
1092 : : {
1093 : : insn_code code = maybe_code_for_rdrand (arg0);
1094 : : gcc_assert (code != CODE_FOR_nothing);
1095 : : return code;
1096 : : }
1097 : :
1098 : : extern rtx maybe_gen_rdrand (machine_mode, rtx);
1099 : : inline rtx
1100 : 83 : gen_rdrand (machine_mode arg0, rtx x0)
1101 : : {
1102 : 83 : rtx res = maybe_gen_rdrand (arg0, x0);
1103 : 83 : gcc_assert (res);
1104 : 83 : return res;
1105 : : }
1106 : :
1107 : : extern insn_code maybe_code_for_rdseed (machine_mode);
1108 : : inline insn_code
1109 : : code_for_rdseed (machine_mode arg0)
1110 : : {
1111 : : insn_code code = maybe_code_for_rdseed (arg0);
1112 : : gcc_assert (code != CODE_FOR_nothing);
1113 : : return code;
1114 : : }
1115 : :
1116 : : extern rtx maybe_gen_rdseed (machine_mode, rtx);
1117 : : inline rtx
1118 : 66 : gen_rdseed (machine_mode arg0, rtx x0)
1119 : : {
1120 : 66 : rtx res = maybe_gen_rdseed (arg0, x0);
1121 : 66 : gcc_assert (res);
1122 : 66 : return res;
1123 : : }
1124 : :
1125 : : extern insn_code maybe_code_for_rdssp (machine_mode);
1126 : : inline insn_code
1127 : : code_for_rdssp (machine_mode arg0)
1128 : : {
1129 : : insn_code code = maybe_code_for_rdssp (arg0);
1130 : : gcc_assert (code != CODE_FOR_nothing);
1131 : : return code;
1132 : : }
1133 : :
1134 : : extern rtx maybe_gen_rdssp (machine_mode, rtx, rtx);
1135 : : inline rtx
1136 : 81 : gen_rdssp (machine_mode arg0, rtx x0, rtx x1)
1137 : : {
1138 : 81 : rtx res = maybe_gen_rdssp (arg0, x0, x1);
1139 : 81 : gcc_assert (res);
1140 : 81 : return res;
1141 : : }
1142 : :
1143 : : extern insn_code maybe_code_for_incssp (machine_mode);
1144 : : inline insn_code
1145 : : code_for_incssp (machine_mode arg0)
1146 : : {
1147 : : insn_code code = maybe_code_for_incssp (arg0);
1148 : : gcc_assert (code != CODE_FOR_nothing);
1149 : : return code;
1150 : : }
1151 : :
1152 : : extern rtx maybe_gen_incssp (machine_mode, rtx);
1153 : : inline rtx
1154 : 81 : gen_incssp (machine_mode arg0, rtx x0)
1155 : : {
1156 : 81 : rtx res = maybe_gen_incssp (arg0, x0);
1157 : 81 : gcc_assert (res);
1158 : 81 : return res;
1159 : : }
1160 : :
1161 : : extern insn_code maybe_code_for_wrss (machine_mode);
1162 : : inline insn_code
1163 : 38 : code_for_wrss (machine_mode arg0)
1164 : : {
1165 : 38 : insn_code code = maybe_code_for_wrss (arg0);
1166 : 38 : gcc_assert (code != CODE_FOR_nothing);
1167 : 38 : return code;
1168 : : }
1169 : :
1170 : : extern rtx maybe_gen_wrss (machine_mode, rtx, rtx);
1171 : : inline rtx
1172 : : gen_wrss (machine_mode arg0, rtx x0, rtx x1)
1173 : : {
1174 : : rtx res = maybe_gen_wrss (arg0, x0, x1);
1175 : : gcc_assert (res);
1176 : : return res;
1177 : : }
1178 : :
1179 : : extern insn_code maybe_code_for_wruss (machine_mode);
1180 : : inline insn_code
1181 : 38 : code_for_wruss (machine_mode arg0)
1182 : : {
1183 : 38 : insn_code code = maybe_code_for_wruss (arg0);
1184 : 38 : gcc_assert (code != CODE_FOR_nothing);
1185 : 38 : return code;
1186 : : }
1187 : :
1188 : : extern rtx maybe_gen_wruss (machine_mode, rtx, rtx);
1189 : : inline rtx
1190 : : gen_wruss (machine_mode arg0, rtx x0, rtx x1)
1191 : : {
1192 : : rtx res = maybe_gen_wruss (arg0, x0, x1);
1193 : : gcc_assert (res);
1194 : : return res;
1195 : : }
1196 : :
1197 : : extern insn_code maybe_code_for_monitorx (machine_mode);
1198 : : inline insn_code
1199 : : code_for_monitorx (machine_mode arg0)
1200 : : {
1201 : : insn_code code = maybe_code_for_monitorx (arg0);
1202 : : gcc_assert (code != CODE_FOR_nothing);
1203 : : return code;
1204 : : }
1205 : :
1206 : : extern rtx maybe_gen_monitorx (machine_mode, rtx, rtx, rtx);
1207 : : inline rtx
1208 : 21 : gen_monitorx (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1209 : : {
1210 : 21 : rtx res = maybe_gen_monitorx (arg0, x0, x1, x2);
1211 : 21 : gcc_assert (res);
1212 : 21 : return res;
1213 : : }
1214 : :
1215 : : extern insn_code maybe_code_for_clzero (machine_mode);
1216 : : inline insn_code
1217 : : code_for_clzero (machine_mode arg0)
1218 : : {
1219 : : insn_code code = maybe_code_for_clzero (arg0);
1220 : : gcc_assert (code != CODE_FOR_nothing);
1221 : : return code;
1222 : : }
1223 : :
1224 : : extern rtx maybe_gen_clzero (machine_mode, rtx);
1225 : : inline rtx
1226 : 19 : gen_clzero (machine_mode arg0, rtx x0)
1227 : : {
1228 : 19 : rtx res = maybe_gen_clzero (arg0, x0);
1229 : 19 : gcc_assert (res);
1230 : 19 : return res;
1231 : : }
1232 : :
1233 : : extern insn_code maybe_code_for_movdir64b (machine_mode);
1234 : : inline insn_code
1235 : : code_for_movdir64b (machine_mode arg0)
1236 : : {
1237 : : insn_code code = maybe_code_for_movdir64b (arg0);
1238 : : gcc_assert (code != CODE_FOR_nothing);
1239 : : return code;
1240 : : }
1241 : :
1242 : : extern rtx maybe_gen_movdir64b (machine_mode, rtx, rtx);
1243 : : inline rtx
1244 : 23 : gen_movdir64b (machine_mode arg0, rtx x0, rtx x1)
1245 : : {
1246 : 23 : rtx res = maybe_gen_movdir64b (arg0, x0, x1);
1247 : 23 : gcc_assert (res);
1248 : 23 : return res;
1249 : : }
1250 : :
1251 : : extern insn_code maybe_code_for_enqcmd (int, machine_mode);
1252 : : inline insn_code
1253 : 38 : code_for_enqcmd (int arg0, machine_mode arg1)
1254 : : {
1255 : 38 : insn_code code = maybe_code_for_enqcmd (arg0, arg1);
1256 : 38 : gcc_assert (code != CODE_FOR_nothing);
1257 : 38 : return code;
1258 : : }
1259 : :
1260 : : extern rtx maybe_gen_enqcmd (int, machine_mode, rtx, rtx);
1261 : : inline rtx
1262 : : gen_enqcmd (int arg0, machine_mode arg1, rtx x0, rtx x1)
1263 : : {
1264 : : rtx res = maybe_gen_enqcmd (arg0, arg1, x0, x1);
1265 : : gcc_assert (res);
1266 : : return res;
1267 : : }
1268 : :
1269 : : extern insn_code maybe_code_for_umonitor (machine_mode);
1270 : : inline insn_code
1271 : : code_for_umonitor (machine_mode arg0)
1272 : : {
1273 : : insn_code code = maybe_code_for_umonitor (arg0);
1274 : : gcc_assert (code != CODE_FOR_nothing);
1275 : : return code;
1276 : : }
1277 : :
1278 : : extern rtx maybe_gen_umonitor (machine_mode, rtx);
1279 : : inline rtx
1280 : 21 : gen_umonitor (machine_mode arg0, rtx x0)
1281 : : {
1282 : 21 : rtx res = maybe_gen_umonitor (arg0, x0);
1283 : 21 : gcc_assert (res);
1284 : 21 : return res;
1285 : : }
1286 : :
1287 : : extern insn_code maybe_code_for_sse4_1_insertps (machine_mode);
1288 : : inline insn_code
1289 : : code_for_sse4_1_insertps (machine_mode arg0)
1290 : : {
1291 : : insn_code code = maybe_code_for_sse4_1_insertps (arg0);
1292 : : gcc_assert (code != CODE_FOR_nothing);
1293 : : return code;
1294 : : }
1295 : :
1296 : : extern rtx maybe_gen_sse4_1_insertps (machine_mode, rtx, rtx, rtx, rtx);
1297 : : inline rtx
1298 : 477 : gen_sse4_1_insertps (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3)
1299 : : {
1300 : 477 : rtx res = maybe_gen_sse4_1_insertps (arg0, x0, x1, x2, x3);
1301 : 477 : gcc_assert (res);
1302 : 477 : return res;
1303 : : }
1304 : :
1305 : : extern insn_code maybe_code_for_vec_set_0 (machine_mode);
1306 : : inline insn_code
1307 : : code_for_vec_set_0 (machine_mode arg0)
1308 : : {
1309 : : insn_code code = maybe_code_for_vec_set_0 (arg0);
1310 : : gcc_assert (code != CODE_FOR_nothing);
1311 : : return code;
1312 : : }
1313 : :
1314 : : extern rtx maybe_gen_vec_set_0 (machine_mode, rtx, rtx, rtx);
1315 : : inline rtx
1316 : 3 : gen_vec_set_0 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1317 : : {
1318 : 3 : rtx res = maybe_gen_vec_set_0 (arg0, x0, x1, x2);
1319 : 3 : gcc_assert (res);
1320 : 3 : return res;
1321 : : }
1322 : :
1323 : : extern insn_code maybe_code_for_vec_extract_lo (machine_mode);
1324 : : inline insn_code
1325 : : code_for_vec_extract_lo (machine_mode arg0)
1326 : : {
1327 : : insn_code code = maybe_code_for_vec_extract_lo (arg0);
1328 : : gcc_assert (code != CODE_FOR_nothing);
1329 : : return code;
1330 : : }
1331 : :
1332 : : extern rtx maybe_gen_vec_extract_lo (machine_mode, rtx, rtx);
1333 : : inline rtx
1334 : 280 : gen_vec_extract_lo (machine_mode arg0, rtx x0, rtx x1)
1335 : : {
1336 : 280 : rtx res = maybe_gen_vec_extract_lo (arg0, x0, x1);
1337 : 280 : gcc_assert (res);
1338 : 280 : return res;
1339 : : }
1340 : :
1341 : : extern insn_code maybe_code_for_vec_extract_hi (machine_mode);
1342 : : inline insn_code
1343 : : code_for_vec_extract_hi (machine_mode arg0)
1344 : : {
1345 : : insn_code code = maybe_code_for_vec_extract_hi (arg0);
1346 : : gcc_assert (code != CODE_FOR_nothing);
1347 : : return code;
1348 : : }
1349 : :
1350 : : extern rtx maybe_gen_vec_extract_hi (machine_mode, rtx, rtx);
1351 : : inline rtx
1352 : 239 : gen_vec_extract_hi (machine_mode arg0, rtx x0, rtx x1)
1353 : : {
1354 : 239 : rtx res = maybe_gen_vec_extract_hi (arg0, x0, x1);
1355 : 239 : gcc_assert (res);
1356 : 239 : return res;
1357 : : }
1358 : :
1359 : : extern insn_code maybe_code_for_vec_interleave_high (machine_mode);
1360 : : inline insn_code
1361 : : code_for_vec_interleave_high (machine_mode arg0)
1362 : : {
1363 : : insn_code code = maybe_code_for_vec_interleave_high (arg0);
1364 : : gcc_assert (code != CODE_FOR_nothing);
1365 : : return code;
1366 : : }
1367 : :
1368 : : extern rtx maybe_gen_vec_interleave_high (machine_mode, rtx, rtx, rtx);
1369 : : inline rtx
1370 : 0 : gen_vec_interleave_high (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1371 : : {
1372 : 0 : rtx res = maybe_gen_vec_interleave_high (arg0, x0, x1, x2);
1373 : 0 : gcc_assert (res);
1374 : 0 : return res;
1375 : : }
1376 : :
1377 : : extern insn_code maybe_code_for_vec_interleave_low (machine_mode);
1378 : : inline insn_code
1379 : : code_for_vec_interleave_low (machine_mode arg0)
1380 : : {
1381 : : insn_code code = maybe_code_for_vec_interleave_low (arg0);
1382 : : gcc_assert (code != CODE_FOR_nothing);
1383 : : return code;
1384 : : }
1385 : :
1386 : : extern rtx maybe_gen_vec_interleave_low (machine_mode, rtx, rtx, rtx);
1387 : : inline rtx
1388 : 1 : gen_vec_interleave_low (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1389 : : {
1390 : 1 : rtx res = maybe_gen_vec_interleave_low (arg0, x0, x1, x2);
1391 : 1 : gcc_assert (res);
1392 : 1 : return res;
1393 : : }
1394 : :
1395 : : extern insn_code maybe_code_for_sse3_monitor (machine_mode);
1396 : : inline insn_code
1397 : : code_for_sse3_monitor (machine_mode arg0)
1398 : : {
1399 : : insn_code code = maybe_code_for_sse3_monitor (arg0);
1400 : : gcc_assert (code != CODE_FOR_nothing);
1401 : : return code;
1402 : : }
1403 : :
1404 : : extern rtx maybe_gen_sse3_monitor (machine_mode, rtx, rtx, rtx);
1405 : : inline rtx
1406 : 26 : gen_sse3_monitor (machine_mode arg0, rtx x0, rtx x1, rtx x2)
1407 : : {
1408 : 26 : rtx res = maybe_gen_sse3_monitor (arg0, x0, x1, x2);
1409 : 26 : gcc_assert (res);
1410 : 26 : return res;
1411 : : }
1412 : : #endif
1413 : :
1414 : : extern const struct convert_optab_libcall_d convlib_def[NUM_CONVLIB_OPTABS];
1415 : : extern const struct optab_libcall_d normlib_def[NUM_NORMLIB_OPTABS];
1416 : :
1417 : : /* Returns the active icode for the given (encoded) optab. */
1418 : : extern enum insn_code raw_optab_handler (unsigned);
1419 : : extern bool swap_optab_enable (optab, machine_mode, bool);
1420 : :
1421 : : /* Target-dependent globals. */
1422 : : struct target_optabs {
1423 : : /* Patterns that are used by optabs that are enabled for this target. */
1424 : : bool pat_enable[NUM_OPTAB_PATTERNS];
1425 : :
1426 : : /* Index VOIDmode caches if the target supports vec_gather_load for any
1427 : : vector mode. Every other index X caches specifically for mode X.
1428 : : 1 means yes, -1 means no. */
1429 : : signed char supports_vec_gather_load[NUM_MACHINE_MODES];
1430 : : signed char supports_vec_scatter_store[NUM_MACHINE_MODES];
1431 : : };
1432 : : extern void init_all_optabs (struct target_optabs *);
1433 : : extern bool partial_vectors_supported_p (void);
1434 : :
1435 : : extern struct target_optabs default_target_optabs;
1436 : : extern struct target_optabs *this_fn_optabs;
1437 : : #if SWITCHABLE_TARGET
1438 : : extern struct target_optabs *this_target_optabs;
1439 : : #else
1440 : : #define this_target_optabs (&default_target_optabs)
1441 : : #endif
1442 : : #endif
|