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