Mercurial > hg > CbC > old > device
diff mc-code-powerpc.c @ 594:f49c825920c4 fix-ltosop
tosop optimize buf fix
author | kono |
---|---|
date | Sat, 21 Jan 2006 15:00:29 +0900 |
parents | c139d4d9307c |
children | df04bc5fd5fe |
line wrap: on
line diff
--- a/mc-code-powerpc.c Fri Jan 20 18:48:45 2006 +0900 +++ b/mc-code-powerpc.c Sat Jan 21 15:00:29 2006 +0900 @@ -2454,48 +2454,12 @@ printf("\t%s %s,0(%s)\n",cstore(byte), register_name(ireg),register_name(xreg)); emit_pop_free(xreg); - -#if 0 - char *xrn,*crn,*drn; - int xreg; - int edx = get_register(); if(!edx) error(-1); - // (*creg) op = pop() - - use_int(creg); - xrn = register_name(xreg = emit_pop(0)); /* pop e3 value */ -#if 1 - set_ireg(edx,0); - ld_indexx(byte,0,creg,ireg,sign); - use_reg(creg); // to clear ptr cache - tosop(op,ireg,xreg); - crn = register_name(ireg); - drn = register_name(creg); - if (byte==1) { - printf("\tstb %s,0(%s)\n",crn,drn); - } else if (byte==SIZE_OF_SHORT) { - printf("\tsth %s,0(%s)\n",crn,drn); - } else { - printf("\tstw %s,0(%s)\n",crn,drn); - } - free_register(creg); - emit_pop_free(xreg); -#else - printf("## assop\n\tmr %s,%s\n",register_name(edx),register_name(creg)); - ld_indexx(byte,0,edx,creg,sign); - tosop(op,creg,xreg); - crn = register_name(creg); - drn = register_name(edx); - if (byte==1) { - printf("\tstb %s,0(%s)\n",crn,drn); - } else if (byte==SIZE_OF_SHORT) { - printf("\tsth %s,0(%s)\n",crn,drn); - } else { - printf("\tstw %s,0(%s)\n",crn,drn); - } - free_register(edx); - emit_pop_free(xreg); -#endif -#endif +} + +int +tosop_operand_safe_p(int op) +{ + return 1; } void