Commit 906a0d83 authored by Matthias Braun's avatar Matthias Braun
Browse files

make CondJmps and Switches pinned, now we can do code_placement in the backend again

parent 2d1b1636
......@@ -654,6 +654,7 @@ Not => {
# other operations
CondJmp => {
state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump: CMP A, B && JMPxx LABEL",
reg_req => { in => [ "gp", "gp", "gp", "gp", "none" ] },
......@@ -663,6 +664,7 @@ CondJmp => {
},
TestJmp => {
state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump: TEST A, B && JMPxx LABEL",
reg_req => { in => [ "gp", "gp" ] },
......@@ -672,6 +674,7 @@ TestJmp => {
},
CJmpAM => {
state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump without CMP (replaces CondJmp): JMPxx LABEL",
reg_req => { in => [ "gp", "gp", "gp", "gp", "none" ], out => [ "none", "none" ] },
......@@ -680,6 +683,7 @@ CJmpAM => {
},
CJmp => {
state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump without CMP (replaces TestJmp): JMPxx LABEL",
reg_req => { in => [ "gp", "gp" ] },
......@@ -687,6 +691,7 @@ CJmp => {
},
SwitchJmp => {
state => "pinned",
op_flags => "L|X|Y",
comment => "construct switch",
reg_req => { in => [ "gp" ], out => [ "none" ] },
......@@ -1053,6 +1058,7 @@ xCmp => {
},
xCondJmp => {
state => "pinned",
op_flags => "L|X|Y",
comment => "construct conditional jump: UCOMIS A, B && JMPxx LABEL",
reg_req => { in => [ "gp", "gp", "xmm", "xmm", "none" ], out => [ "none", "none" ] },
......@@ -1548,6 +1554,7 @@ vfConst => {
# other
vfCondJmp => {
state => "pinned",
op_flags => "L|X|Y",
comment => "represents a virtual floating point compare",
reg_req => { in => [ "gp", "gp", "vfp", "vfp", "none" ], out => [ "none", "none", "eax" ] },
......
......@@ -870,7 +870,7 @@ static void vfp_dump_live(vfp_liveness live) {
* @param tmpl the template containing the 4 possible x87 opcodes
*/
static int sim_binop(x87_state *state, ir_node *n, const exchange_tmpl *tmpl) {
int op2_idx, op1_idx;
int op2_idx = 0, op1_idx;
int out_idx, do_pop = 0;
ia32_attr_t *attr;
ir_node *patched_insn;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment