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