Author: hager <[email protected]>
Branch: ppc-jit-backend
Changeset: r48199:ee9b75f555bb
Date: 2011-10-18 12:28 +0200
http://bitbucket.org/pypy/pypy/changeset/ee9b75f555bb/
Log: Beautified code for prepare_int_sub and prepare_int_floordiv.
diff --git a/pypy/jit/backend/ppc/ppcgen/regalloc.py
b/pypy/jit/backend/ppc/ppcgen/regalloc.py
--- a/pypy/jit/backend/ppc/ppcgen/regalloc.py
+++ b/pypy/jit/backend/ppc/ppcgen/regalloc.py
@@ -5,8 +5,7 @@
from pypy.jit.backend.ppc.ppcgen.jump import remap_frame_layout_mixed
from pypy.jit.backend.ppc.ppcgen.locations import imm
from pypy.jit.backend.ppc.ppcgen.helper.regalloc import (_check_imm_arg,
- prepare_cmp_op,
-
prepare_op_by_helper_call)
+ prepare_cmp_op)
from pypy.jit.metainterp.history import (INT, REF, FLOAT, Const, ConstInt,
ConstPtr, LoopToken)
from pypy.jit.metainterp.resoperation import rop
@@ -200,50 +199,10 @@
return locs + [res]
def prepare_int_sub(self, op):
- boxes = list(op.getarglist())
- b0, b1 = boxes
- imm_b0 = _check_imm_arg(b0)
- imm_b1 = _check_imm_arg(b1)
- if not imm_b0 and imm_b1:
- l0, box = self._ensure_value_is_boxed(b0, boxes)
- l1 = self.make_sure_var_in_reg(b1, [b0])
- boxes.append(box)
- elif imm_b0 and not imm_b1:
- l0 = self.make_sure_var_in_reg(b0)
- l1, box = self._ensure_value_is_boxed(b1, boxes)
- boxes.append(box)
- else:
- l0, box = self._ensure_value_is_boxed(b0, boxes)
- boxes.append(box)
- l1, box = self._ensure_value_is_boxed(b1, boxes)
- boxes.append(box)
- locs = [l0, l1]
- self.possibly_free_vars(boxes)
- res = self.force_allocate_reg(op.result)
- return locs + [res]
+ return self.prepare_int_add(op)
def prepare_int_floordiv(self, op):
- boxes = list(op.getarglist())
- b0, b1 = boxes
- imm_b0 = _check_imm_arg(b0)
- imm_b1 = _check_imm_arg(b1)
- if not imm_b0 and imm_b1:
- l0, box = self._ensure_value_is_boxed(b0, boxes)
- l1 = self.make_sure_var_in_reg(b1, [b0])
- boxes.append(box)
- elif imm_b0 and not imm_b1:
- l0 = self.make_sure_var_in_reg(b0)
- l1, box = self._ensure_value_is_boxed(b1, boxes)
- boxes.append(box)
- else:
- l0, box = self._ensure_value_is_boxed(b0, boxes)
- boxes.append(box)
- l1, box = self._ensure_value_is_boxed(b1, boxes)
- boxes.append(box)
- locs = [l0, l1]
- self.possibly_free_vars(boxes)
- res = self.force_allocate_reg(op.result)
- return locs + [res]
+ return self.prepare_int_add(op)
def prepare_int_mul(self, op):
boxes = list(op.getarglist())
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit