Line data Source code
1 : /* Generated automatically by the program 'build/genpreds'
2 : from the machine description file '/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md'. */
3 :
4 : #ifndef GCC_TM_PREDS_H
5 : #define GCC_TM_PREDS_H
6 :
7 : #ifdef HAVE_MACHINE_MODES
8 : extern bool general_operand (rtx, machine_mode);
9 : extern bool address_operand (rtx, machine_mode);
10 : extern bool register_operand (rtx, machine_mode);
11 : extern bool pmode_register_operand (rtx, machine_mode);
12 : extern bool scratch_operand (rtx, machine_mode);
13 : extern bool immediate_operand (rtx, machine_mode);
14 : extern bool const_int_operand (rtx, machine_mode);
15 : extern bool const_scalar_int_operand (rtx, machine_mode);
16 : extern bool const_double_operand (rtx, machine_mode);
17 : extern bool nonimmediate_operand (rtx, machine_mode);
18 : extern bool nonmemory_operand (rtx, machine_mode);
19 : extern bool push_operand (rtx, machine_mode);
20 : extern bool pop_operand (rtx, machine_mode);
21 : extern bool memory_operand (rtx, machine_mode);
22 : extern bool indirect_operand (rtx, machine_mode);
23 : extern bool ordered_comparison_operator (rtx, machine_mode);
24 : extern bool comparison_operator (rtx, machine_mode);
25 : extern bool aligned_register_operand (rtx, machine_mode);
26 : extern bool any_fp_register_operand (rtx, machine_mode);
27 : extern bool fp_register_operand (rtx, machine_mode);
28 : extern bool general_reg_operand (rtx, machine_mode);
29 : extern bool index_reg_operand (rtx, machine_mode);
30 : extern bool nonimmediate_gr_operand (rtx, machine_mode);
31 : extern bool general_gr_operand (rtx, machine_mode);
32 : extern bool mmx_reg_operand (rtx, machine_mode);
33 : extern bool register_mmxmem_operand (rtx, machine_mode);
34 : extern bool sse_reg_operand (rtx, machine_mode);
35 : extern bool any_QIreg_operand (rtx, machine_mode);
36 : extern bool QIreg_operand (rtx, machine_mode);
37 : extern bool ext_QIreg_operand (rtx, machine_mode);
38 : extern bool ax_reg_operand (rtx, machine_mode);
39 : extern bool flags_reg_operand (rtx, machine_mode);
40 : extern bool mask_reg_operand (rtx, machine_mode);
41 : extern bool bsr0_operand (rtx, machine_mode);
42 : extern bool int248_register_operand (rtx, machine_mode);
43 : extern bool int_nonimmediate_operand (rtx, machine_mode);
44 : extern bool register_ssemem_operand (rtx, machine_mode);
45 : extern bool nonimm_ssenomem_operand (rtx, machine_mode);
46 : extern bool x87nonimm_ssenomem_operand (rtx, machine_mode);
47 : extern bool register_sse4nonimm_operand (rtx, machine_mode);
48 : extern bool symbol_operand (rtx, machine_mode);
49 : extern bool ix86_endbr_immediate_operand (rtx, machine_mode);
50 : extern bool x86_64_immediate_operand (rtx, machine_mode);
51 : extern bool x86_64_zext_immediate_operand (rtx, machine_mode);
52 : extern bool x86_64_neg_const_int_operand (rtx, machine_mode);
53 : extern bool x86_64_hilo_int_operand (rtx, machine_mode);
54 : extern bool x86_64_dwzext_immediate_operand (rtx, machine_mode);
55 : extern bool x86_64_immediate_size_operand (rtx, machine_mode);
56 : extern bool x86_64_general_operand (rtx, machine_mode);
57 : extern bool x86_64_hilo_general_operand (rtx, machine_mode);
58 : extern bool x86_64_sext_operand (rtx, machine_mode);
59 : extern bool sext_operand (rtx, machine_mode);
60 : extern bool x86_64_zext_operand (rtx, machine_mode);
61 : extern bool x86_64_szext_general_operand (rtx, machine_mode);
62 : extern bool x86_64_nonmemory_operand (rtx, machine_mode);
63 : extern bool x86_64_szext_nonmemory_operand (rtx, machine_mode);
64 : extern bool pic_32bit_operand (rtx, machine_mode);
65 : extern bool x86_64_movabs_operand (rtx, machine_mode);
66 : extern bool symbolic_operand (rtx, machine_mode);
67 : extern bool local_symbolic_operand (rtx, machine_mode);
68 : extern bool local_func_symbolic_operand (rtx, machine_mode);
69 : extern bool gotoff_operand (rtx, machine_mode);
70 : extern bool tls_symbolic_operand (rtx, machine_mode);
71 : extern bool tls_modbase_operand (rtx, machine_mode);
72 : extern bool tls_address_pattern (rtx, machine_mode);
73 : extern bool constant_call_address_operand (rtx, machine_mode);
74 : extern bool register_no_elim_operand (rtx, machine_mode);
75 : extern bool register_no_SP_operand (rtx, machine_mode);
76 : extern bool call_register_operand (rtx, machine_mode);
77 : extern bool general_no_elim_operand (rtx, machine_mode);
78 : extern bool nonmemory_no_elim_operand (rtx, machine_mode);
79 : extern bool indirect_branch_operand (rtx, machine_mode);
80 : extern bool sibcall_memory_operand (rtx, machine_mode);
81 : extern bool GOT_memory_operand (rtx, machine_mode);
82 : extern bool call_insn_operand (rtx, machine_mode);
83 : extern bool sibcall_insn_operand (rtx, machine_mode);
84 : extern bool GOT32_symbol_operand (rtx, machine_mode);
85 : extern bool const0_operand (rtx, machine_mode);
86 : extern bool const1_operand (rtx, machine_mode);
87 : extern bool constm1_operand (rtx, machine_mode);
88 : extern bool const0_or_m1_operand (rtx, machine_mode);
89 : extern bool const8_operand (rtx, machine_mode);
90 : extern bool const128_operand (rtx, machine_mode);
91 : extern bool const_32bit_mask (rtx, machine_mode);
92 : extern bool const248_operand (rtx, machine_mode);
93 : extern bool const123_operand (rtx, machine_mode);
94 : extern bool const2367_operand (rtx, machine_mode);
95 : extern bool const1248_operand (rtx, machine_mode);
96 : extern bool const359_operand (rtx, machine_mode);
97 : extern bool const_4_or_8_to_11_operand (rtx, machine_mode);
98 : extern bool const48_operand (rtx, machine_mode);
99 : extern bool const_0_to_1_operand (rtx, machine_mode);
100 : extern bool const_0_to_3_operand (rtx, machine_mode);
101 : extern bool const_0_to_4_operand (rtx, machine_mode);
102 : extern bool const_0_to_5_operand (rtx, machine_mode);
103 : extern bool const_0_to_7_operand (rtx, machine_mode);
104 : extern bool const_0_to_15_operand (rtx, machine_mode);
105 : extern bool const_0_to_31_operand (rtx, machine_mode);
106 : extern bool const_0_to_63_operand (rtx, machine_mode);
107 : extern bool const_0_to_127_operand (rtx, machine_mode);
108 : extern bool const_0_to_255_operand (rtx, machine_mode);
109 : extern bool const_0_to_255_mul_8_operand (rtx, machine_mode);
110 : extern bool const_0_to_255_not_mul_8_operand (rtx, machine_mode);
111 : extern bool const_1_to_31_operand (rtx, machine_mode);
112 : extern bool const_1_to_63_operand (rtx, machine_mode);
113 : extern bool const_2_to_3_operand (rtx, machine_mode);
114 : extern bool const_4_to_5_operand (rtx, machine_mode);
115 : extern bool const_4_to_7_operand (rtx, machine_mode);
116 : extern bool const_6_to_7_operand (rtx, machine_mode);
117 : extern bool const_8_to_9_operand (rtx, machine_mode);
118 : extern bool const_8_to_11_operand (rtx, machine_mode);
119 : extern bool const_8_to_15_operand (rtx, machine_mode);
120 : extern bool const_10_to_11_operand (rtx, machine_mode);
121 : extern bool const_12_to_13_operand (rtx, machine_mode);
122 : extern bool const_12_to_15_operand (rtx, machine_mode);
123 : extern bool const_14_to_15_operand (rtx, machine_mode);
124 : extern bool const_16_to_19_operand (rtx, machine_mode);
125 : extern bool const_16_to_31_operand (rtx, machine_mode);
126 : extern bool const_20_to_23_operand (rtx, machine_mode);
127 : extern bool const_24_to_27_operand (rtx, machine_mode);
128 : extern bool const_28_to_31_operand (rtx, machine_mode);
129 : extern bool cmpps_imm_operand (rtx, machine_mode);
130 : extern bool incdec_operand (rtx, machine_mode);
131 : extern bool vec_setm_sse41_operand (rtx, machine_mode);
132 : extern bool vec_setm_avx2_operand (rtx, machine_mode);
133 : extern bool vec_setm_mmx_operand (rtx, machine_mode);
134 : extern bool reg_or_pm1_operand (rtx, machine_mode);
135 : extern bool regmem_or_bitnot_regmem_operand (rtx, machine_mode);
136 : extern bool ternlog_operand (rtx, machine_mode);
137 : extern bool shiftdi_operand (rtx, machine_mode);
138 : extern bool ashldi_input_operand (rtx, machine_mode);
139 : extern bool zero_extended_scalar_load_operand (rtx, machine_mode);
140 : extern bool float_vector_all_ones_operand (rtx, machine_mode);
141 : extern bool vector_all_ones_operand (rtx, machine_mode);
142 : extern bool int_float_vector_all_ones_operand (rtx, machine_mode);
143 : extern bool vector_all_ones_zero_extend_half_operand (rtx, machine_mode);
144 : extern bool vector_all_ones_zero_extend_quarter_operand (rtx, machine_mode);
145 : extern bool vector_memory_operand (rtx, machine_mode);
146 : extern bool vector_operand (rtx, machine_mode);
147 : extern bool vector_or_const_vector_operand (rtx, machine_mode);
148 : extern bool bcst_mem_operand (rtx, machine_mode);
149 : extern bool bcst_vector_operand (rtx, machine_mode);
150 : extern bool nonimmediate_or_const_vector_operand (rtx, machine_mode);
151 : extern bool nonimmediate_or_const_vec_dup_operand (rtx, machine_mode);
152 : extern bool reg_or_const_vector_operand (rtx, machine_mode);
153 : extern bool x86_64_const_vector_operand (rtx, machine_mode);
154 : extern bool nonimmediate_or_x86_64_const_vector_operand (rtx, machine_mode);
155 : extern bool nonimmediate_or_sse_const_operand (rtx, machine_mode);
156 : extern bool reg_or_0_operand (rtx, machine_mode);
157 : extern bool nonimm_or_0_operand (rtx, machine_mode);
158 : extern bool nonimm_or_0_or_1s_operand (rtx, machine_mode);
159 : extern bool SImode_address_operand (rtx, machine_mode);
160 : extern bool address_no_seg_operand (rtx, machine_mode);
161 : extern bool vsib_address_operand (rtx, machine_mode);
162 : extern bool vsib_mem_operator (rtx, machine_mode);
163 : extern bool aligned_operand (rtx, machine_mode);
164 : extern bool memory_displacement_operand (rtx, machine_mode);
165 : extern bool memory_displacement_only_operand (rtx, machine_mode);
166 : extern bool long_memory_operand (rtx, machine_mode);
167 : extern bool fcmov_comparison_operator (rtx, machine_mode);
168 : extern bool sse_comparison_operator (rtx, machine_mode);
169 : extern bool ix86_comparison_int_operator (rtx, machine_mode);
170 : extern bool ix86_comparison_uns_operator (rtx, machine_mode);
171 : extern bool bt_comparison_operator (rtx, machine_mode);
172 : extern bool shr_comparison_operator (rtx, machine_mode);
173 : extern bool add_comparison_operator (rtx, machine_mode);
174 : extern bool ieee_maxmin_comparison_operator (rtx, machine_mode);
175 : extern bool ix86_comparison_operator (rtx, machine_mode);
176 : extern bool ix86_carry_flag_operator (rtx, machine_mode);
177 : extern bool ix86_carry_flag_unset_operator (rtx, machine_mode);
178 : extern bool ix86_trivial_fp_comparison_operator (rtx, machine_mode);
179 : extern bool ix86_trivial_fp_comparison_operator_xf (rtx, machine_mode);
180 : extern bool ix86_fp_comparison_operator (rtx, machine_mode);
181 : extern bool ix86_fp_comparison_operator_xf (rtx, machine_mode);
182 : extern bool ix86_timode_comparison_operator (rtx, machine_mode);
183 : extern bool ix86_timode_comparison_operand (rtx, machine_mode);
184 : extern bool cmp_fp_expander_operand (rtx, machine_mode);
185 : extern bool binary_fp_operator (rtx, machine_mode);
186 : extern bool mult_operator (rtx, machine_mode);
187 : extern bool div_operator (rtx, machine_mode);
188 : extern bool logic_operator (rtx, machine_mode);
189 : extern bool and_operator (rtx, machine_mode);
190 : extern bool plusminuslogic_operator (rtx, machine_mode);
191 : extern bool arith_or_logical_operator (rtx, machine_mode);
192 : extern bool commutative_operator (rtx, machine_mode);
193 : extern bool promotable_binary_operator (rtx, machine_mode);
194 : extern bool compare_operator (rtx, machine_mode);
195 : extern bool extract_high_operator (rtx, machine_mode);
196 : extern bool misaligned_operand (rtx, machine_mode);
197 : extern bool movq_parallel (rtx, machine_mode);
198 : extern bool vzeroall_operation (rtx, machine_mode);
199 : extern bool vzeroall_pattern (rtx, machine_mode);
200 : extern bool vzeroupper_pattern (rtx, machine_mode);
201 : extern bool addsub_vm_operator (rtx, machine_mode);
202 : extern bool addsub_vs_operator (rtx, machine_mode);
203 : extern bool addsub_vs_parallel (rtx, machine_mode);
204 : extern bool permvar_truncate_operand (rtx, machine_mode);
205 : extern bool pshufb_truncv4siv4hi_operand (rtx, machine_mode);
206 : extern bool pshufb_truncv8hiv8qi_operand (rtx, machine_mode);
207 : extern bool pmovzx_parallel (rtx, machine_mode);
208 : extern bool insertps_parallel (rtx, machine_mode);
209 : extern bool const_vector_duplicate_operand (rtx, machine_mode);
210 : extern bool avx_vbroadcast_operand (rtx, machine_mode);
211 : extern bool avx_vbroadcast128_operand (rtx, machine_mode);
212 : extern bool palignr_operand (rtx, machine_mode);
213 : extern bool avx2_pblendw_operand (rtx, machine_mode);
214 : extern bool general_vector_operand (rtx, machine_mode);
215 : extern bool register_or_constm1_operand (rtx, machine_mode);
216 : extern bool save_multiple (rtx, machine_mode);
217 : extern bool restore_multiple (rtx, machine_mode);
218 : extern bool encodekey128_operation (rtx, machine_mode);
219 : extern bool encodekey256_operation (rtx, machine_mode);
220 : extern bool aeswidekl_operation (rtx, machine_mode);
221 : extern bool apx_evex_memory_operand (rtx, machine_mode);
222 : extern bool apx_evex_add_memory_operand (rtx, machine_mode);
223 : #endif /* HAVE_MACHINE_MODES */
224 :
225 : #ifdef GCC_HARD_REG_SET_H
226 : struct target_constraints {
227 : HARD_REG_SET register_filters[1];
228 : };
229 :
230 : extern struct target_constraints default_target_constraints;
231 : #if SWITCHABLE_TARGET
232 : extern struct target_constraints *this_target_constraints;
233 : #else
234 : #define this_target_constraints (&default_target_constraints)
235 : #endif
236 :
237 : #define TEST_REGISTER_FILTER_BIT(ID, REGNO) \
238 : ((void) (ID), (void) (REGNO), false)
239 :
240 : inline bool
241 : test_register_filters (unsigned int, unsigned int)
242 : {
243 : return true;
244 : }
245 : #endif
246 :
247 : #define CONSTRAINT_NUM_DEFINED_P 1
248 : enum constraint_num
249 : {
250 : CONSTRAINT__UNKNOWN = 0,
251 : CONSTRAINT_r,
252 : CONSTRAINT_R,
253 : CONSTRAINT_q,
254 : CONSTRAINT_Q,
255 : CONSTRAINT_l,
256 : CONSTRAINT_a,
257 : CONSTRAINT_b,
258 : CONSTRAINT_c,
259 : CONSTRAINT_d,
260 : CONSTRAINT_S,
261 : CONSTRAINT_D,
262 : CONSTRAINT_A,
263 : CONSTRAINT_U,
264 : CONSTRAINT_f,
265 : CONSTRAINT_t,
266 : CONSTRAINT_u,
267 : CONSTRAINT_Yk,
268 : CONSTRAINT_k,
269 : CONSTRAINT_y,
270 : CONSTRAINT_x,
271 : CONSTRAINT_v,
272 : CONSTRAINT_Yz,
273 : CONSTRAINT_Yd,
274 : CONSTRAINT_Yp,
275 : CONSTRAINT_Ya,
276 : CONSTRAINT_Yb,
277 : CONSTRAINT_Yf,
278 : CONSTRAINT_Yr,
279 : CONSTRAINT_Yv,
280 : CONSTRAINT_Yw,
281 : CONSTRAINT_YW,
282 : CONSTRAINT_jR,
283 : CONSTRAINT_jr,
284 : CONSTRAINT_jc,
285 : CONSTRAINT_I,
286 : CONSTRAINT_J,
287 : CONSTRAINT_K,
288 : CONSTRAINT_L,
289 : CONSTRAINT_M,
290 : CONSTRAINT_N,
291 : CONSTRAINT_O,
292 : CONSTRAINT_m,
293 : CONSTRAINT_o,
294 : CONSTRAINT_jm,
295 : CONSTRAINT_jo,
296 : CONSTRAINT_je,
297 : CONSTRAINT_jM,
298 : CONSTRAINT_jO,
299 : CONSTRAINT_Bm,
300 : CONSTRAINT_Bk,
301 : CONSTRAINT_Bn,
302 : CONSTRAINT_Br,
303 : CONSTRAINT_ja,
304 : CONSTRAINT_p,
305 : CONSTRAINT_Tv,
306 : CONSTRAINT_Ts,
307 : CONSTRAINT_jp,
308 : CONSTRAINT_jb,
309 : CONSTRAINT_Bz,
310 : CONSTRAINT_BH,
311 : CONSTRAINT_Wb,
312 : CONSTRAINT_Wc,
313 : CONSTRAINT_Ww,
314 : CONSTRAINT_G,
315 : CONSTRAINT_e,
316 : CONSTRAINT_We,
317 : CONSTRAINT_Wz,
318 : CONSTRAINT_Wd,
319 : CONSTRAINT_Wf,
320 : CONSTRAINT_Ws,
321 : CONSTRAINT_Z,
322 : CONSTRAINT_Bf,
323 : CONSTRAINT_V,
324 : CONSTRAINT__l,
325 : CONSTRAINT__g,
326 : CONSTRAINT_BF,
327 : CONSTRAINT_BM,
328 : CONSTRAINT_j_l,
329 : CONSTRAINT_j_g,
330 : CONSTRAINT_jV,
331 : CONSTRAINT_i,
332 : CONSTRAINT_s,
333 : CONSTRAINT__c,
334 : CONSTRAINT_n,
335 : CONSTRAINT_E,
336 : CONSTRAINT_F,
337 : CONSTRAINT_X,
338 : CONSTRAINT_Bg,
339 : CONSTRAINT_Bs,
340 : CONSTRAINT_Bw,
341 : CONSTRAINT_BC,
342 : CONSTRAINT_C,
343 : CONSTRAINT__LIMIT
344 : };
345 :
346 : extern enum constraint_num lookup_constraint_1 (const char *);
347 : extern const unsigned char lookup_constraint_array[];
348 :
349 : /* Return the constraint at the beginning of P, or CONSTRAINT__UNKNOWN if it
350 : isn't recognized. */
351 :
352 : static inline enum constraint_num
353 17921732791 : lookup_constraint (const char *p)
354 : {
355 17921732791 : unsigned int index = lookup_constraint_array[(unsigned char) *p];
356 17921732791 : return (index == UCHAR_MAX
357 17921732791 : ? lookup_constraint_1 (p)
358 17921732791 : : (enum constraint_num) index);
359 : }
360 :
361 : extern bool (*constraint_satisfied_p_array[]) (rtx);
362 :
363 : /* Return true if X satisfies constraint C. */
364 :
365 : static inline bool
366 6347262854 : constraint_satisfied_p (rtx x, enum constraint_num c)
367 : {
368 6347262854 : int i = (int) c - (int) CONSTRAINT_I;
369 6347262854 : return i >= 0 && constraint_satisfied_p_array[i] (x);
370 : }
371 :
372 : static inline bool
373 15591987751 : insn_extra_register_constraint (enum constraint_num c)
374 : {
375 15591987751 : return c >= CONSTRAINT_r && c <= CONSTRAINT_jc;
376 : }
377 :
378 : static inline bool
379 4694940750 : insn_extra_memory_constraint (enum constraint_num c)
380 : {
381 4694940750 : return c >= CONSTRAINT_m && c <= CONSTRAINT_jO;
382 : }
383 :
384 : static inline bool
385 170882144 : insn_extra_special_memory_constraint (enum constraint_num c)
386 : {
387 170882144 : return c >= CONSTRAINT_Bm && c <= CONSTRAINT_ja;
388 : }
389 :
390 : static inline bool
391 : insn_extra_relaxed_memory_constraint (enum constraint_num)
392 : {
393 : return false;
394 : }
395 :
396 : static inline bool
397 4980124304 : insn_extra_address_constraint (enum constraint_num c)
398 : {
399 4980124304 : return c >= CONSTRAINT_p && c <= CONSTRAINT_jb;
400 : }
401 :
402 : static inline void
403 : insn_extra_constraint_allows_reg_mem (enum constraint_num c,
404 : bool *allows_reg, bool *allows_mem)
405 : {
406 : if (c >= CONSTRAINT_Bz && c <= CONSTRAINT_Z)
407 : return;
408 : if (c >= CONSTRAINT_Bf && c <= CONSTRAINT_Bf)
409 : {
410 0 : *allows_reg = true;
411 0 : return;
412 : }
413 : if (c >= CONSTRAINT_V && c <= CONSTRAINT_jV)
414 : {
415 0 : *allows_mem = true;
416 0 : return;
417 : }
418 2855 : (void) c;
419 2855 : *allows_reg = true;
420 2855 : *allows_mem = true;
421 : }
422 :
423 : static inline size_t
424 42669231998 : insn_constraint_len (char fc, const char *str)
425 : {
426 42669231998 : switch (fc)
427 : {
428 : case 'B': return 2;
429 : case 'T': return 2;
430 : case 'W': return 2;
431 : case 'Y': return 2;
432 : case 'j': return 2;
433 40801005138 : default: break;
434 : }
435 40801005138 : if (str[0] == '{')
436 : {
437 : size_t len = 1;
438 205129 : while (str[len] != '}' && str[len] != '\0')
439 154174 : ++len;
440 50955 : return len + 1;
441 : }
442 : return 1;
443 : }
444 :
445 : #define CONSTRAINT_LEN(c_,s_) insn_constraint_len (c_,s_)
446 :
447 : extern enum reg_class reg_class_for_constraint_1 (enum constraint_num);
448 :
449 : static inline enum reg_class
450 15591987751 : reg_class_for_constraint (enum constraint_num c)
451 : {
452 15591987751 : if (insn_extra_register_constraint (c))
453 7387334152 : return reg_class_for_constraint_1 (c);
454 : return NO_REGS;
455 : }
456 :
457 : extern bool insn_const_int_ok_for_constraint (HOST_WIDE_INT, enum constraint_num);
458 : #define CONST_OK_FOR_CONSTRAINT_P(v_,c_,s_) \
459 : insn_const_int_ok_for_constraint (v_, lookup_constraint (s_))
460 :
461 : enum constraint_type
462 : {
463 : CT_REGISTER,
464 : CT_CONST_INT,
465 : CT_MEMORY,
466 : CT_SPECIAL_MEMORY,
467 : CT_RELAXED_MEMORY,
468 : CT_ADDRESS,
469 : CT_FIXED_FORM
470 : };
471 :
472 : static inline enum constraint_type
473 7212723389 : get_constraint_type (enum constraint_num c)
474 : {
475 7212723389 : if (c >= CONSTRAINT_Bm)
476 : {
477 856081166 : if (c >= CONSTRAINT_Bz)
478 : return CT_FIXED_FORM;
479 117509096 : if (c >= CONSTRAINT_p)
480 : return CT_ADDRESS;
481 111840233 : return CT_SPECIAL_MEMORY;
482 : }
483 6356642223 : if (c >= CONSTRAINT_m)
484 : return CT_MEMORY;
485 5786572847 : if (c >= CONSTRAINT_I)
486 12143490 : return CT_CONST_INT;
487 : return CT_REGISTER;
488 : }
489 :
490 : #ifdef GCC_HARD_REG_SET_H
491 : static inline const HARD_REG_SET *
492 : get_register_filter (constraint_num)
493 : {
494 : return nullptr;
495 : }
496 : #endif
497 :
498 : static inline int
499 : get_register_filter_id (constraint_num)
500 : {
501 : return -1;
502 : }
503 :
504 : static inline int
505 : get_dependent_filter_id (constraint_num)
506 : {
507 : return -1;
508 : }
509 :
510 : static inline int
511 : get_dependent_filter_ref (int id)
512 : {
513 : (void) id;
514 : return -1;
515 : }
516 :
517 : extern bool
518 : eval_dependent_filter (int id, unsigned int regno,
519 : machine_mode mode,
520 : unsigned int ref_regno,
521 : machine_mode ref_mode);
522 : #endif /* tm-preds.h */
|