10 #include "gen_TEMPLATE_emitter.h"
11 #include "TEMPLATE_new_nodes.h"
12 #include "TEMPLATE_emitter.h"
14 static void emit_TEMPLATE_Add(
ir_node const *
const node)
16 TEMPLATE_emitf(node,
"%D0 = add %S0, %S1");
19 static void emit_TEMPLATE_And(
ir_node const *
const node)
21 TEMPLATE_emitf(node,
"%D0 = and %S0, %S1");
24 static void emit_TEMPLATE_Const(
ir_node const *
const node)
26 TEMPLATE_emitf(node,
"%D0 = const %I");
29 static void emit_TEMPLATE_Load(
ir_node const *
const node)
31 TEMPLATE_emitf(node,
"%D0 = load (%S1)");
34 static void emit_TEMPLATE_Minus(
ir_node const *
const node)
36 TEMPLATE_emitf(node,
"%D0 = neg %S0");
39 static void emit_TEMPLATE_Mul(
ir_node const *
const node)
41 TEMPLATE_emitf(node,
"%D0 = mul %S0, %S1");
44 static void emit_TEMPLATE_Not(
ir_node const *
const node)
46 TEMPLATE_emitf(node,
"%D0 = not %S0");
49 static void emit_TEMPLATE_Or(
ir_node const *
const node)
51 TEMPLATE_emitf(node,
"%D0 = or %S0, %S1");
54 static void emit_TEMPLATE_Shl(
ir_node const *
const node)
56 TEMPLATE_emitf(node,
"%D0 = shl %S0, %S1");
59 static void emit_TEMPLATE_Shr(
ir_node const *
const node)
61 TEMPLATE_emitf(node,
"%D0 = shr %S0, %S1");
64 static void emit_TEMPLATE_Store(
ir_node const *
const node)
66 TEMPLATE_emitf(node,
"(%S1) = store %S2");
69 static void emit_TEMPLATE_Sub(
ir_node const *
const node)
71 TEMPLATE_emitf(node,
"%D0 = sub %S0, %S1");
74 static void emit_TEMPLATE_Xor(
ir_node const *
const node)
76 TEMPLATE_emitf(node,
"%D0 = xor %S0, %S1");
79 static void emit_TEMPLATE_fAdd(
ir_node const *
const node)
81 TEMPLATE_emitf(node,
"%D0 = fadd %S0, %S1");
84 static void emit_TEMPLATE_fConst(
ir_node const *
const node)
86 TEMPLATE_emitf(node,
"%D0 = fconst %I");
89 static void emit_TEMPLATE_fDiv(
ir_node const *
const node)
91 TEMPLATE_emitf(node,
"%D0 = fdiv %S0, %S1");
94 static void emit_TEMPLATE_fLoad(
ir_node const *
const node)
96 TEMPLATE_emitf(node,
"%D0 = fload (%S1)");
99 static void emit_TEMPLATE_fMinus(
ir_node const *
const node)
101 TEMPLATE_emitf(node,
"%D0 = fneg %S0");
104 static void emit_TEMPLATE_fMul(
ir_node const *
const node)
106 TEMPLATE_emitf(node,
"%D0 = fmul %S0, %S1");
109 static void emit_TEMPLATE_fStore(
ir_node const *
const node)
111 TEMPLATE_emitf(node,
"(%S1) = fstore %S2");
114 static void emit_TEMPLATE_fSub(
ir_node const *
const node)
116 TEMPLATE_emitf(node,
"%D0 = fsub %S0, %S1");
125 void TEMPLATE_register_spec_emitters(
void)
127 be_set_emitter(op_TEMPLATE_Add, emit_TEMPLATE_Add);
128 be_set_emitter(op_TEMPLATE_And, emit_TEMPLATE_And);
129 be_set_emitter(op_TEMPLATE_Const, emit_TEMPLATE_Const);
130 be_set_emitter(op_TEMPLATE_Load, emit_TEMPLATE_Load);
131 be_set_emitter(op_TEMPLATE_Minus, emit_TEMPLATE_Minus);
132 be_set_emitter(op_TEMPLATE_Mul, emit_TEMPLATE_Mul);
133 be_set_emitter(op_TEMPLATE_Not, emit_TEMPLATE_Not);
134 be_set_emitter(op_TEMPLATE_Or, emit_TEMPLATE_Or);
135 be_set_emitter(op_TEMPLATE_Shl, emit_TEMPLATE_Shl);
136 be_set_emitter(op_TEMPLATE_Shr, emit_TEMPLATE_Shr);
137 be_set_emitter(op_TEMPLATE_Store, emit_TEMPLATE_Store);
138 be_set_emitter(op_TEMPLATE_Sub, emit_TEMPLATE_Sub);
139 be_set_emitter(op_TEMPLATE_Xor, emit_TEMPLATE_Xor);
140 be_set_emitter(op_TEMPLATE_fAdd, emit_TEMPLATE_fAdd);
141 be_set_emitter(op_TEMPLATE_fConst, emit_TEMPLATE_fConst);
142 be_set_emitter(op_TEMPLATE_fDiv, emit_TEMPLATE_fDiv);
143 be_set_emitter(op_TEMPLATE_fLoad, emit_TEMPLATE_fLoad);
144 be_set_emitter(op_TEMPLATE_fMinus, emit_TEMPLATE_fMinus);
145 be_set_emitter(op_TEMPLATE_fMul, emit_TEMPLATE_fMul);
146 be_set_emitter(op_TEMPLATE_fStore, emit_TEMPLATE_fStore);
147 be_set_emitter(op_TEMPLATE_fSub, emit_TEMPLATE_fSub);
struct ir_node ir_node
Procedure Graph Node.