#ifndef _JIT_RULES_ALPHA_H
#define _JIT_RULES_ALPHA_H
#ifdef __cplusplus
extern "C" {
#endif
#define JIT_REG_ALPHA_FLOAT \
(JIT_REG_FLOAT32 | JIT_REG_FLOAT64 | JIT_REG_NFLOAT)
#define JIT_REG_ALPHA_INT \
(JIT_REG_WORD | JIT_REG_LONG)
#define JIT_REG_INFO \
{ "v0", 0, -1, JIT_REG_FIXED}, \
{ "t0", 1, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t1", 2, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t2", 3, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t3", 4, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t4", 5, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t5", 6, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t6", 7, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t7", 8, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "s0", 9, -1, JIT_REG_ALPHA_INT | JIT_REG_GLOBAL}, \
{ "s1", 10, -1, JIT_REG_ALPHA_INT | JIT_REG_GLOBAL}, \
{ "s2", 11, -1, JIT_REG_ALPHA_INT | JIT_REG_GLOBAL}, \
{ "s3", 12, -1, JIT_REG_ALPHA_INT | JIT_REG_GLOBAL}, \
{ "s4", 13, -1, JIT_REG_ALPHA_INT | JIT_REG_GLOBAL}, \
{ "s5", 14, -1, JIT_REG_ALPHA_INT | JIT_REG_GLOBAL}, \
{ "fp", 15, -1, JIT_REG_FIXED | JIT_REG_FRAME}, \
{ "a0", 16, -1, JIT_REG_FIXED}, \
{ "a1", 17, -1, JIT_REG_FIXED}, \
{ "a2", 18, -1, JIT_REG_FIXED}, \
{ "a3", 19, -1, JIT_REG_FIXED}, \
{ "a4", 20, -1, JIT_REG_FIXED}, \
{ "a5", 21, -1, JIT_REG_FIXED}, \
{ "t8", 22, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t9", 23, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t10", 24, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "t11", 25, -1, JIT_REG_ALPHA_INT | JIT_REG_CALL_USED}, \
{ "ra", 26, -1, JIT_REG_FIXED}, \
{ "pv", 27, -1, JIT_REG_FIXED}, \
{ "at", 28, -1, JIT_REG_FIXED}, \
{ "gp", 29, -1, JIT_REG_FIXED}, \
{ "sp", 30, -1, JIT_REG_FIXED | JIT_REG_STACK_PTR}, \
{ "zero", 31, -1, JIT_REG_FIXED}, \
{ "fv0", 0, -1, JIT_REG_FIXED}, \
{ "fv1", 1, -1, JIT_REG_FIXED}, \
{ "fs0", 2, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs1", 3, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs2", 4, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs3", 5, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs4", 6, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs5", 7, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs6", 8, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "fs7", 9, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_GLOBAL}, \
{ "ft0", 10, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_CALL_USED}, \
{ "ft1", 11, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_CALL_USED}, \
{ "ft2", 12, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_CALL_USED}, \
{ "ft3", 13, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_CALL_USED}, \
{ "ft4", 14, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_CALL_USED}, \
{ "ft5", 15, -1, JIT_REG_ALPHA_FLOAT | JIT_REG_CALL_USED}, \
{ "fa0", 16, -1, JIT_REG_FIXED}, \
{ "fa1", 17, -1, JIT_REG_FIXED}, \
{ "fa2", 18, -1, JIT_REG_FIXED}, \
{ "fa3", 19, -1, JIT_REG_FIXED}, \
{ "fa4", 20, -1, JIT_REG_FIXED}, \
{ "fa5", 21, -1, JIT_REG_FIXED}, \
{ "fe0", 22, -1, JIT_REG_FIXED}, \
{ "fe1", 23, -1, JIT_REG_FIXED}, \
{ "fe2", 24, -1, JIT_REG_FIXED}, \
{ "fe3", 25, -1, JIT_REG_FIXED}, \
{ "fe4", 26, -1, JIT_REG_FIXED}, \
{ "fe5", 27, -1, JIT_REG_FIXED}, \
{ "fe6", 28, -1, JIT_REG_FIXED}, \
{ "fe7", 29, -1, JIT_REG_FIXED}, \
{ "fe8", 30, -1, JIT_REG_FIXED}, \
{"fzero", 31, -1, JIT_REG_FIXED},
#define JIT_NUM_REGS 64
#define JIT_NUM_GLOBAL_REGS 14
#define JIT_ALWAYS_REG_REG 1
#define JIT_PROLOG_SIZE (7 * 4 )
#define JIT_FUNCTION_ALIGNMENT 32
#define JIT_ALIGN_OVERRIDES 1
#define jit_extra_gen_state ;
#define jit_extra_gen_init(gen) do { ; } while (0)
#define jit_extra_gen_cleanup(gen) do { ; } while (0)
#define JIT_CDECL_WORD_REG_PARAMS {16,17,18,19,20,21,-1}
#define JIT_MAX_WORD_REG_PARAMS 6
#define JIT_INITIAL_STACK_OFFSET (14*8)
#define JIT_INITIAL_FRAME_SIZE (sizeof(void*))
#ifdef __cplusplus
};
#endif
#endif