X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=uebersetzerbau-ss10.git;a=blobdiff_plain;f=gesamt_ppc%2Fcode.bfe;fp=gesamt_ppc%2Fcode.bfe;h=97dc26946b5bf724e4ac394240e6ea599645fe04;hp=ea5636519ca218fc08360cc97de80dd58ecac3c1;hb=7b8df533cad8c9a84e4da9b60f26b5109daef638;hpb=1ce81fc4b8b8e69359cbb257ceee69649a17f485 diff --git a/gesamt_ppc/code.bfe b/gesamt_ppc/code.bfe index ea56365..97dc269 100644 --- a/gesamt_ppc/code.bfe +++ b/gesamt_ppc/code.bfe @@ -223,7 +223,7 @@ void make_call(struct treenode *bnode) printf("\tmr %s,20\n", param_reg(j)); } printf("\t#vars pushen\n"); - for(j = VARBEGIN; j > VARBEGIN - bnode->vars; j--) { + for(j = bnode->soffset; j < bnode->soffset + bnode->vars; j++) { printf("\tstw %s,%d(1)\n", param_reg(j), j*4); } @@ -254,7 +254,7 @@ void make_call(struct treenode *bnode) } printf("\t#vars poppen\n"); - for(j = VARBEGIN+1 - bnode->vars; j < VARBEGIN+1; j++) { + for(j = bnode->soffset + bnode->vars - 1; j > bnode->soffset - 1; j--) { printf("\tlwz %s,%d(1)\n", param_reg(j), j*4); }