Correct typo in comment.
[libfirm] / ir / be / sparc / gen_sparc_new_nodes.h
1 /**
2  * @file
3  * @brief Function prototypes for the new opcode functions.
4  * @note  DO NOT EDIT THIS FILE, your changes will be lost.
5  *        Edit libfirm/ir/be/sparc/sparc_spec.pl instead.
6  *        created by: libfirm/ir/be/scripts/generate_new_opcodes.pl libfirm/ir/be/sparc/sparc_spec.pl libfirm/ir/be/sparc
7  * @date  Tue Dec 15 15:19:15 2009
8  */
9 #ifndef FIRM_BE_SPARC_GEN_SPARC_NEW_NODES_H
10 #define FIRM_BE_SPARC_GEN_SPARC_NEW_NODES_H
11
12 typedef enum _sparc_opcodes {
13         iro_sparc_SubSP,
14         iro_sparc_Add,
15         iro_sparc_FrameAddr,
16         iro_sparc_Store,
17         iro_sparc_Branch,
18         iro_sparc_Mov,
19         iro_sparc_Tst,
20         iro_sparc_SwitchJmp,
21         iro_sparc_Cmp,
22         iro_sparc_SymConst,
23         iro_sparc_Sub,
24         iro_sparc_Load,
25         iro_sparc_AddSP,
26         iro_sparc_last_generated,
27         iro_sparc_last = iro_sparc_last_generated
28 } sparc_opcodes;
29
30 int is_sparc_irn(const ir_node *node);
31
32 int get_sparc_opcode_first(void);
33 int get_sparc_opcode_last(void);
34 int get_sparc_irn_opcode(const ir_node *node);
35 void sparc_create_opcodes(const arch_irn_ops_t *be_ops);
36 extern ir_op *op_sparc_SubSP;
37 ir_op *get_op_sparc_SubSP(void);
38 int is_sparc_SubSP(const ir_node *n);
39 /**
40  * free stack space
41  */
42 ir_node *new_bd_sparc_SubSP(dbg_info *dbgi, ir_node *block, ir_node *stack, ir_node *size, ir_node *mem);
43
44 extern ir_op *op_sparc_Add;
45 ir_op *get_op_sparc_Add(void);
46 int is_sparc_Add(const ir_node *n);
47 /**
48  * construct Add node
49  */
50 ir_node *new_bd_sparc_Add_imm(dbg_info *dbgi, ir_node *block, ir_node *left, int immediate_value);
51 /**
52  * construct Add node
53  */
54 ir_node *new_bd_sparc_Add_reg(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
55
56 extern ir_op *op_sparc_FrameAddr;
57 ir_op *get_op_sparc_FrameAddr(void);
58 int is_sparc_FrameAddr(const ir_node *n);
59 /**
60  * construct FrameAddr node
61  */
62 ir_node *new_bd_sparc_FrameAddr(dbg_info *dbgi, ir_node *block, ir_node *base, ir_entity *entity);
63
64 extern ir_op *op_sparc_Store;
65 ir_op *get_op_sparc_Store(void);
66 int is_sparc_Store(const ir_node *n);
67 /**
68  * construct Store: Store(ptr, val, mem) = ST ptr,val
69  */
70 ir_node *new_bd_sparc_Store(dbg_info *dbgi, ir_node *block, ir_node *ptr, ir_node *val, ir_node *mem, ir_mode *ls_mode, ir_entity *entity, int entity_sign, long offset, bool is_frame_entity);
71
72 extern ir_op *op_sparc_Branch;
73 ir_op *get_op_sparc_Branch(void);
74 int is_sparc_Branch(const ir_node *n);
75 /**
76  * construct Branch node
77  */
78 ir_node *new_bd_sparc_Branch(dbg_info *dbgi, ir_node *block, ir_node *op0, int proj_num);
79
80 extern ir_op *op_sparc_Mov;
81 ir_op *get_op_sparc_Mov(void);
82 int is_sparc_Mov(const ir_node *n);
83 /**
84  * construct Mov node
85  */
86 ir_node *new_bd_sparc_Mov_imm(dbg_info *dbgi, ir_node *block, int immediate_value);
87 /**
88  * construct Mov node
89  */
90 ir_node *new_bd_sparc_Mov_reg(dbg_info *dbgi, ir_node *block, ir_node *op0);
91
92 extern ir_op *op_sparc_Tst;
93 ir_op *get_op_sparc_Tst(void);
94 int is_sparc_Tst(const ir_node *n);
95 /**
96  * construct Tst node
97  */
98 ir_node *new_bd_sparc_Tst(dbg_info *dbgi, ir_node *block, ir_node *left, bool ins_permuted, bool is_unsigned);
99
100 extern ir_op *op_sparc_SwitchJmp;
101 ir_op *get_op_sparc_SwitchJmp(void);
102 int is_sparc_SwitchJmp(const ir_node *n);
103 /**
104  * construct SwitchJmp node
105  */
106 ir_node *new_bd_sparc_SwitchJmp(dbg_info *dbgi, ir_node *block, ir_node *op0, int n_projs, long def_proj_num);
107
108 extern ir_op *op_sparc_Cmp;
109 ir_op *get_op_sparc_Cmp(void);
110 int is_sparc_Cmp(const ir_node *n);
111 /**
112  * construct Cmp node
113  */
114 ir_node *new_bd_sparc_Cmp_imm(dbg_info *dbgi, ir_node *block, ir_node *left, int immediate_value, bool ins_permuted, bool is_unsigned);
115 /**
116  * construct Cmp node
117  */
118 ir_node *new_bd_sparc_Cmp_reg(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right, bool ins_permuted, bool is_unsigned);
119
120 extern ir_op *op_sparc_SymConst;
121 ir_op *get_op_sparc_SymConst(void);
122 int is_sparc_SymConst(const ir_node *n);
123 /**
124  * construct SymConst node
125  */
126 ir_node *new_bd_sparc_SymConst(dbg_info *dbgi, ir_node *block, ir_entity *entity);
127
128 extern ir_op *op_sparc_Sub;
129 ir_op *get_op_sparc_Sub(void);
130 int is_sparc_Sub(const ir_node *n);
131 /**
132  * construct Sub node
133  */
134 ir_node *new_bd_sparc_Sub_imm(dbg_info *dbgi, ir_node *block, ir_node *left, int immediate_value);
135 /**
136  * construct Sub node
137  */
138 ir_node *new_bd_sparc_Sub_reg(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
139
140 extern ir_op *op_sparc_Load;
141 ir_op *get_op_sparc_Load(void);
142 int is_sparc_Load(const ir_node *n);
143 /**
144  * construct Load: Load(ptr, mem) = LD ptr -> reg
145  */
146 ir_node *new_bd_sparc_Load(dbg_info *dbgi, ir_node *block, ir_node *ptr, ir_node *mem, ir_mode *ls_mode, ir_entity *entity, int entity_sign, long offset, bool is_frame_entity);
147
148 extern ir_op *op_sparc_AddSP;
149 ir_op *get_op_sparc_AddSP(void);
150 int is_sparc_AddSP(const ir_node *n);
151 /**
152  * alloc stack space
153  */
154 ir_node *new_bd_sparc_AddSP(dbg_info *dbgi, ir_node *block, ir_node *stack, ir_node *size, ir_node *mem);
155
156
157
158 enum pn_sparc_SubSP {
159         pn_sparc_SubSP_stack = 0,
160         pn_sparc_SubSP_M = 1,
161 };
162
163 enum n_sparc_SubSP {
164         n_sparc_SubSP_stack = 0,
165         n_sparc_SubSP_size = 1,
166         n_sparc_SubSP_mem = 2,
167 };
168
169 enum n_sparc_FrameAddr {
170         n_sparc_FrameAddr_base = 0,
171 };
172
173 enum pn_sparc_Store {
174         pn_sparc_Store_mem = 0,
175 };
176
177 enum n_sparc_Store {
178         n_sparc_Store_ptr = 0,
179         n_sparc_Store_val = 1,
180         n_sparc_Store_mem = 2,
181 };
182
183 enum n_sparc_Tst {
184         n_sparc_Tst_left = 0,
185 };
186
187 enum pn_sparc_Load {
188         pn_sparc_Load_res = 0,
189         pn_sparc_Load_M = 1,
190 };
191
192 enum n_sparc_Load {
193         n_sparc_Load_ptr = 0,
194         n_sparc_Load_mem = 1,
195 };
196
197 enum pn_sparc_AddSP {
198         pn_sparc_AddSP_stack = 0,
199         pn_sparc_AddSP_addr = 1,
200         pn_sparc_AddSP_M = 2,
201 };
202
203 enum n_sparc_AddSP {
204         n_sparc_AddSP_stack = 0,
205         n_sparc_AddSP_size = 1,
206         n_sparc_AddSP_mem = 2,
207 };
208
209
210 #endif