From 54e11007271b762cb34aa73c12fe0b36571db5d8 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Tue, 18 May 2010 15:25:49 +0200 Subject: [PATCH] codea: bfe regeln ein wenig angepasst --- codea/code.bfe | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/codea/code.bfe b/codea/code.bfe index 4d024af..e88f2eb 100644 --- a/codea/code.bfe +++ b/codea/code.bfe @@ -105,11 +105,8 @@ void gen_imm_eno(struct treenode *bnode, char *instr) } else { printf("\timulq $%d, %%%s, %%%s\n", KID_VAL(0), KID_REG(1), BN_REG); } - } else if(strcmp(instr, "addq") == 0) { + } else { /* addq */ printf("\taddq $%d, %%%s\n", KID_VAL(0), BN_REG); - } else { /* subq */ - moveimm(KID_VAL(0), BN_REG); - printf("\t%s %%%s, %%%s\n", instr, KID_REG(1), BN_REG); } } @@ -189,11 +186,9 @@ expr: O_ID # 0 # expr: imm # 1 # moveimm(BN_VAL, BN_REG); -expr: O_SUB(expr,expr) # 1 # gen_e_eno(bnode, "subq"); +expr: O_SUB(expr,expr) # 2 # gen_e_eno(bnode, "subq"); expr: O_SUB(expr,O_FIELD(expr)) # 2 # gen_e_field(bnode, "subq"); -expr: O_SUB(expr,imm) # 2 # gen_e_imm(bnode, "subq"); -expr: O_SUB(imm,expr) # 2 # gen_imm_eno(bnode, "subq"); -expr: O_SUB(imm,O_FIELD(expr)) # 2 # gen_imm_field(bnode); +expr: O_SUB(expr,imm) # 1 # gen_e_imm(bnode, "subq"); expr: O_SUB(expr,O_SUB(O_ID,expr)) # 2 # gen_subspecial(bnode, 0); expr: O_SUB(expr,O_SUB(imm,expr)) # 2 # gen_subspecial(bnode, 1); @@ -211,7 +206,7 @@ expr: O_SUB(expr,O_MUL(expr,O_MEIGHT)) # 1 # gen_lea(bnode,1); expr: O_ADD(expr,expr) # 1 # gen_e_eno(bnode, "addq"); expr: O_ADD(expr,imm) # 2 # gen_e_imm(bnode, "addq"); -expr: O_ADD(imm,expr) # 2 # gen_imm_eno(bnode, "addq"); +expr: O_ADD(imm,expr) # 1 # gen_imm_eno(bnode, "addq"); expr: O_ADD(expr,O_FIELD(expr)) # 2 # gen_e_field(bnode, "addq"); -- 2.25.1