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