9 #include "gen_TEMPLATE_emitter.h" 11 #include "beemithlp.h" 12 #include "gen_TEMPLATE_new_nodes.h" 13 #include "TEMPLATE_emitter.h" 15 static void emit_TEMPLATE_Add(
ir_node const *
const node)
17 TEMPLATE_emitf(node,
"%D0 = add %S0, %S1");
20 static void emit_TEMPLATE_And(
ir_node const *
const node)
22 TEMPLATE_emitf(node,
"%D0 = and %S0, %S1");
25 static void emit_TEMPLATE_Const(
ir_node const *
const node)
27 TEMPLATE_emitf(node,
"%D0 = const %I");
30 static void emit_TEMPLATE_Load(
ir_node const *
const node)
32 TEMPLATE_emitf(node,
"%D0 = load (%S1)");
35 static void emit_TEMPLATE_Minus(
ir_node const *
const node)
37 TEMPLATE_emitf(node,
"%D0 = minus %S0");
40 static void emit_TEMPLATE_Mul(
ir_node const *
const node)
42 TEMPLATE_emitf(node,
"%D0 = mul %S0, %S1");
45 static void emit_TEMPLATE_Not(
ir_node const *
const node)
47 TEMPLATE_emitf(node,
"%D0 = not %S0");
50 static void emit_TEMPLATE_Or(
ir_node const *
const node)
52 TEMPLATE_emitf(node,
"%D0 = or %S0, %S1");
55 static void emit_TEMPLATE_Shl(
ir_node const *
const node)
57 TEMPLATE_emitf(node,
"%D0 = shl %S0, %S1");
60 static void emit_TEMPLATE_Shr(
ir_node const *
const node)
62 TEMPLATE_emitf(node,
"%D0 = shr %S0, %S1");
65 static void emit_TEMPLATE_Store(
ir_node const *
const node)
67 TEMPLATE_emitf(node,
"(%S1) = store %S2");
70 static void emit_TEMPLATE_Sub(
ir_node const *
const node)
72 TEMPLATE_emitf(node,
"%D0 = sub %S0, %S1");
75 static void emit_TEMPLATE_Xor(
ir_node const *
const node)
77 TEMPLATE_emitf(node,
"%D0 = xor %S0, %S1");
80 static void emit_TEMPLATE_fAdd(
ir_node const *
const node)
82 TEMPLATE_emitf(node,
"%D0 = fadd %S0, %S1");
85 static void emit_TEMPLATE_fConst(
ir_node const *
const node)
87 TEMPLATE_emitf(node,
"%D0 = fconst %I");
90 static void emit_TEMPLATE_fDiv(
ir_node const *
const node)
92 TEMPLATE_emitf(node,
"%D0 = fdiv %S0, %S1");
95 static void emit_TEMPLATE_fLoad(
ir_node const *
const node)
97 TEMPLATE_emitf(node,
"%D0 = fload (%S1)");
100 static void emit_TEMPLATE_fMinus(
ir_node const *
const node)
102 TEMPLATE_emitf(node,
"%D0 = fneg %S0");
105 static void emit_TEMPLATE_fMul(
ir_node const *
const node)
107 TEMPLATE_emitf(node,
"%D0 = fmul %S0, %S1");
110 static void emit_TEMPLATE_fStore(
ir_node const *
const node)
112 TEMPLATE_emitf(node,
"(%S1) = fstore %S2");
115 static void emit_TEMPLATE_fSub(
ir_node const *
const node)
117 TEMPLATE_emitf(node,
"%D0 = fsub %S0, %S1");
122 void TEMPLATE_register_spec_emitters(
void)
124 be_set_emitter(op_TEMPLATE_Add, emit_TEMPLATE_Add);
125 be_set_emitter(op_TEMPLATE_And, emit_TEMPLATE_And);
126 be_set_emitter(op_TEMPLATE_Const, emit_TEMPLATE_Const);
127 be_set_emitter(op_TEMPLATE_Load, emit_TEMPLATE_Load);
128 be_set_emitter(op_TEMPLATE_Minus, emit_TEMPLATE_Minus);
129 be_set_emitter(op_TEMPLATE_Mul, emit_TEMPLATE_Mul);
130 be_set_emitter(op_TEMPLATE_Not, emit_TEMPLATE_Not);
131 be_set_emitter(op_TEMPLATE_Or, emit_TEMPLATE_Or);
132 be_set_emitter(op_TEMPLATE_Shl, emit_TEMPLATE_Shl);
133 be_set_emitter(op_TEMPLATE_Shr, emit_TEMPLATE_Shr);
134 be_set_emitter(op_TEMPLATE_Store, emit_TEMPLATE_Store);
135 be_set_emitter(op_TEMPLATE_Sub, emit_TEMPLATE_Sub);
136 be_set_emitter(op_TEMPLATE_Xor, emit_TEMPLATE_Xor);
137 be_set_emitter(op_TEMPLATE_fAdd, emit_TEMPLATE_fAdd);
138 be_set_emitter(op_TEMPLATE_fConst, emit_TEMPLATE_fConst);
139 be_set_emitter(op_TEMPLATE_fDiv, emit_TEMPLATE_fDiv);
140 be_set_emitter(op_TEMPLATE_fLoad, emit_TEMPLATE_fLoad);
141 be_set_emitter(op_TEMPLATE_fMinus, emit_TEMPLATE_fMinus);
142 be_set_emitter(op_TEMPLATE_fMul, emit_TEMPLATE_fMul);
143 be_set_emitter(op_TEMPLATE_fStore, emit_TEMPLATE_fStore);
144 be_set_emitter(op_TEMPLATE_fSub, emit_TEMPLATE_fSub);
148 void TEMPLATE_register_spec_binary_emitters(
void)
struct ir_node ir_node
Procedure Graph Node.