source: arduino-1-6-7/trunk/fuentes/arduino-ide-amd64/hardware/tools/avr/lib/gcc/avr/4.8.1/plugin/include/tm-preds.h @ 46

Last change on this file since 46 was 46, checked in by jrpelegrina, 4 years ago

First release to Xenial

File size: 5.6 KB
Line 
1/* Generated automatically by the program 'build/genpreds'
2   from the machine description file '../../gcc-4.8.1/gcc/config/avr/avr.md'.  */
3
4#ifndef GCC_TM_PREDS_H
5#define GCC_TM_PREDS_H
6
7#ifdef HAVE_MACHINE_MODES
8extern int general_operand (rtx, enum machine_mode);
9extern int address_operand (rtx, enum machine_mode);
10extern int register_operand (rtx, enum machine_mode);
11extern int pmode_register_operand (rtx, enum machine_mode);
12extern int scratch_operand (rtx, enum machine_mode);
13extern int immediate_operand (rtx, enum machine_mode);
14extern int const_int_operand (rtx, enum machine_mode);
15extern int const_double_operand (rtx, enum machine_mode);
16extern int nonimmediate_operand (rtx, enum machine_mode);
17extern int nonmemory_operand (rtx, enum machine_mode);
18extern int push_operand (rtx, enum machine_mode);
19extern int pop_operand (rtx, enum machine_mode);
20extern int memory_operand (rtx, enum machine_mode);
21extern int indirect_operand (rtx, enum machine_mode);
22extern int ordered_comparison_operator (rtx, enum machine_mode);
23extern int comparison_operator (rtx, enum machine_mode);
24extern int l_register_operand (rtx, enum machine_mode);
25extern int d_register_operand (rtx, enum machine_mode);
26extern int even_register_operand (rtx, enum machine_mode);
27extern int odd_register_operand (rtx, enum machine_mode);
28extern int stack_register_operand (rtx, enum machine_mode);
29extern int low_io_address_operand (rtx, enum machine_mode);
30extern int high_io_address_operand (rtx, enum machine_mode);
31extern int io_address_operand (rtx, enum machine_mode);
32extern int nop_general_operand (rtx, enum machine_mode);
33extern int nox_general_operand (rtx, enum machine_mode);
34extern int flash_operand (rtx, enum machine_mode);
35extern int const0_operand (rtx, enum machine_mode);
36extern int const1_operand (rtx, enum machine_mode);
37extern int const_0_to_7_operand (rtx, enum machine_mode);
38extern int const_2_to_7_operand (rtx, enum machine_mode);
39extern int const_1_to_6_operand (rtx, enum machine_mode);
40extern int const_2_to_6_operand (rtx, enum machine_mode);
41extern int reg_or_0_operand (rtx, enum machine_mode);
42extern int symbol_ref_operand (rtx, enum machine_mode);
43extern int text_segment_operand (rtx, enum machine_mode);
44extern int single_one_operand (rtx, enum machine_mode);
45extern int single_zero_operand (rtx, enum machine_mode);
46extern int avr_sp_immediate_operand (rtx, enum machine_mode);
47extern int eqne_operator (rtx, enum machine_mode);
48extern int gelt_operator (rtx, enum machine_mode);
49extern int difficult_comparison_operator (rtx, enum machine_mode);
50extern int simple_comparison_operator (rtx, enum machine_mode);
51extern int call_insn_operand (rtx, enum machine_mode);
52extern int pseudo_register_operand (rtx, enum machine_mode);
53extern int pseudo_register_or_const_int_operand (rtx, enum machine_mode);
54extern int combine_pseudo_register_operand (rtx, enum machine_mode);
55extern int const_8_16_24_operand (rtx, enum machine_mode);
56extern int u8_operand (rtx, enum machine_mode);
57extern int s8_operand (rtx, enum machine_mode);
58extern int o8_operand (rtx, enum machine_mode);
59extern int s9_operand (rtx, enum machine_mode);
60extern int register_or_s9_operand (rtx, enum machine_mode);
61extern int u16_operand (rtx, enum machine_mode);
62extern int s16_operand (rtx, enum machine_mode);
63extern int o16_operand (rtx, enum machine_mode);
64extern int const_operand (rtx, enum machine_mode);
65extern int nonmemory_or_const_operand (rtx, enum machine_mode);
66extern int const_or_immediate_operand (rtx, enum machine_mode);
67#endif /* HAVE_MACHINE_MODES */
68
69#define CONSTRAINT_NUM_DEFINED_P 1
70enum constraint_num
71{
72  CONSTRAINT__UNKNOWN = 0,
73  CONSTRAINT_t,
74  CONSTRAINT_b,
75  CONSTRAINT_e,
76  CONSTRAINT_w,
77  CONSTRAINT_d,
78  CONSTRAINT_l,
79  CONSTRAINT_a,
80  CONSTRAINT_x,
81  CONSTRAINT_y,
82  CONSTRAINT_z,
83  CONSTRAINT_q,
84  CONSTRAINT_I,
85  CONSTRAINT_J,
86  CONSTRAINT_K,
87  CONSTRAINT_L,
88  CONSTRAINT_M,
89  CONSTRAINT_N,
90  CONSTRAINT_O,
91  CONSTRAINT_P,
92  CONSTRAINT_G,
93  CONSTRAINT_Q,
94  CONSTRAINT_Cm2,
95  CONSTRAINT_C03,
96  CONSTRAINT_C04,
97  CONSTRAINT_C05,
98  CONSTRAINT_C06,
99  CONSTRAINT_C07,
100  CONSTRAINT_Ca2,
101  CONSTRAINT_Ca3,
102  CONSTRAINT_Ca4,
103  CONSTRAINT_Co2,
104  CONSTRAINT_Co3,
105  CONSTRAINT_Co4,
106  CONSTRAINT_Cx2,
107  CONSTRAINT_Cx3,
108  CONSTRAINT_Cx4,
109  CONSTRAINT_Csp,
110  CONSTRAINT_Cxf,
111  CONSTRAINT_C0f,
112  CONSTRAINT_Ynn,
113  CONSTRAINT_Y00,
114  CONSTRAINT_Y01,
115  CONSTRAINT_Ym1,
116  CONSTRAINT_Y02,
117  CONSTRAINT_Ym2,
118  CONSTRAINT_YIJ,
119  CONSTRAINT__LIMIT
120};
121
122extern enum constraint_num lookup_constraint (const char *);
123extern bool constraint_satisfied_p (rtx, enum constraint_num);
124
125static inline size_t
126insn_constraint_len (char fc, const char *str ATTRIBUTE_UNUSED)
127{
128  switch (fc)
129    {
130    case 'C': return 3;
131    case 'Y': return 3;
132    default: break;
133    }
134  return 1;
135}
136
137#define CONSTRAINT_LEN(c_,s_) insn_constraint_len (c_,s_)
138
139extern enum reg_class regclass_for_constraint (enum constraint_num);
140#define REG_CLASS_FROM_CONSTRAINT(c_,s_) \
141    regclass_for_constraint (lookup_constraint (s_))
142#define REG_CLASS_FOR_CONSTRAINT(x_) \
143    regclass_for_constraint (x_)
144
145extern bool insn_const_int_ok_for_constraint (HOST_WIDE_INT, enum constraint_num);
146#define CONST_OK_FOR_CONSTRAINT_P(v_,c_,s_) \
147    insn_const_int_ok_for_constraint (v_, lookup_constraint (s_))
148
149#define CONST_DOUBLE_OK_FOR_CONSTRAINT_P(v_,c_,s_) \
150    constraint_satisfied_p (v_, lookup_constraint (s_))
151
152#define EXTRA_CONSTRAINT_STR(v_,c_,s_) \
153    constraint_satisfied_p (v_, lookup_constraint (s_))
154
155extern bool insn_extra_memory_constraint (enum constraint_num);
156#define EXTRA_MEMORY_CONSTRAINT(c_,s_) insn_extra_memory_constraint (lookup_constraint (s_))
157
158#define EXTRA_ADDRESS_CONSTRAINT(c_,s_) false
159
160#endif /* tm-preds.h */
Note: See TracBrowser for help on using the repository browser.