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