diff options
author | John van Groningen | 2005-10-06 09:37:28 +0000 |
---|---|---|
committer | John van Groningen | 2005-10-06 09:37:28 +0000 |
commit | 9dfa57d8b8d2466a0fcef6fd28790d317932633e (patch) | |
tree | e59f6c3bdc40739558bd4730a4f78049ce1b8c5e /cgcalc.c | |
parent | test for GNEG in mark_graph_1 for all platforms (diff) |
use new apply and new descriptors for IA32,
add addLU and subLU instructions for IA32
Diffstat (limited to 'cgcalc.c')
-rw-r--r-- | cgcalc.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -2552,9 +2552,14 @@ void calculate_graph_register_uses (INSTRUCTION_GRAPH graph) if (graph_0->order_mode==R_NOMODE) if (graph_0->instruction_code==GMULUD) calculate_mulud_operator (graph_0); - else + else if ( graph_0->instruction_code==GDIVDU || + graph_0->instruction_code==GADDDU || + graph_0->instruction_code==GSUBDU) + { calculate_divdu_operator (graph_0); - + } else + internal_error_in_function ("calculate_graph_register_uses"); + graph->order_mode=R_DREGISTER; graph->u_aregs=graph_0->u_aregs; graph->u_dregs=graph_0->u_dregs; @@ -2775,6 +2780,8 @@ void count_graph (INSTRUCTION_GRAPH graph) ++graph->node_count; break; #ifdef I486 + case GADDDU: + case GSUBDU: case GDIVDU: if (++graph->node_count==1){ count_graph (graph->instruction_parameters[0].p); @@ -2973,6 +2980,8 @@ void mark_graph_2 (register INSTRUCTION_GRAPH graph) graph->node_mark=2; break; #ifdef I486 + case GADDDU: + case GSUBDU: case GDIVDU: if (graph->node_mark<2){ graph->node_mark=2; |