9 #ifndef FIRM_BE_AMD64_GEN_AMD64_REGALLOC_IF_H
10 #define FIRM_BE_AMD64_GEN_AMD64_REGALLOC_IF_H
12 #include "amd64_nodes_attr.h"
119 N_amd64_flags_REGS = 1,
120 N_amd64_gp_REGS = 16,
121 N_amd64_x87_REGS = 8,
122 N_amd64_xmm_REGS = 16,
134 extern const arch_register_req_t amd64_class_reg_req_flags;
135 extern const arch_register_req_t amd64_single_reg_req_flags_eflags;
136 extern const arch_register_req_t amd64_class_reg_req_gp;
137 extern const arch_register_req_t amd64_single_reg_req_gp_rax;
138 extern const arch_register_req_t amd64_single_reg_req_gp_rcx;
139 extern const arch_register_req_t amd64_single_reg_req_gp_rdx;
140 extern const arch_register_req_t amd64_single_reg_req_gp_rsi;
141 extern const arch_register_req_t amd64_single_reg_req_gp_rdi;
142 extern const arch_register_req_t amd64_single_reg_req_gp_rbx;
143 extern const arch_register_req_t amd64_single_reg_req_gp_rbp;
144 extern const arch_register_req_t amd64_single_reg_req_gp_rsp;
145 extern const arch_register_req_t amd64_single_reg_req_gp_r8;
146 extern const arch_register_req_t amd64_single_reg_req_gp_r9;
147 extern const arch_register_req_t amd64_single_reg_req_gp_r10;
148 extern const arch_register_req_t amd64_single_reg_req_gp_r11;
149 extern const arch_register_req_t amd64_single_reg_req_gp_r12;
150 extern const arch_register_req_t amd64_single_reg_req_gp_r13;
151 extern const arch_register_req_t amd64_single_reg_req_gp_r14;
152 extern const arch_register_req_t amd64_single_reg_req_gp_r15;
153 extern const arch_register_req_t amd64_class_reg_req_x87;
154 extern const arch_register_req_t amd64_single_reg_req_x87_st0;
155 extern const arch_register_req_t amd64_single_reg_req_x87_st1;
156 extern const arch_register_req_t amd64_single_reg_req_x87_st2;
157 extern const arch_register_req_t amd64_single_reg_req_x87_st3;
158 extern const arch_register_req_t amd64_single_reg_req_x87_st4;
159 extern const arch_register_req_t amd64_single_reg_req_x87_st5;
160 extern const arch_register_req_t amd64_single_reg_req_x87_st6;
161 extern const arch_register_req_t amd64_single_reg_req_x87_st7;
162 extern const arch_register_req_t amd64_class_reg_req_xmm;
163 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm0;
164 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm1;
165 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm2;
166 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm3;
167 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm4;
168 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm5;
169 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm6;
170 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm7;
171 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm8;
172 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm9;
173 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm10;
174 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm11;
175 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm12;
176 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm13;
177 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm14;
178 extern const arch_register_req_t amd64_single_reg_req_xmm_xmm15;
181 extern const arch_register_t amd64_registers[N_AMD64_REGISTERS];
183 extern arch_register_class_t amd64_reg_classes[N_AMD64_CLASSES];
185 void amd64_register_init(
void);