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