Author: Armin Rigo <ar...@tunes.org> Branch: remove-raisingops Changeset: r84734:3e61de65d2dc Date: 2016-05-27 20:32 +0200 http://bitbucket.org/pypy/pypy/changeset/3e61de65d2dc/
Log: (untested) check the call(div) => uint_mul_high replacement diff --git a/pypy/module/pypyjit/test_pypy_c/test_shift.py b/pypy/module/pypyjit/test_pypy_c/test_shift.py --- a/pypy/module/pypyjit/test_pypy_c/test_shift.py +++ b/pypy/module/pypyjit/test_pypy_c/test_shift.py @@ -49,7 +49,8 @@ while a < 300: res1 = a/b # ID: div res2 = a/2 # ID: shift - res += res1 + res2 + res3 = a/11 # ID: mul + res += res1 + res2 + res3 a += 1 return res # @@ -65,6 +66,17 @@ assert loop.match_by_id('shift', """ i1 = int_rshift(i2, 1) """) + if sys.maxint > 2**32: + args = (63, -5030930201920786804, 3) + else: + args = (31, -1171354717, 3) + assert loop.match_by_id('mul', """ + i2 = int_rshift(i1, %d) + i3 = int_xor(i1, i2) + i4 = uint_mul_high(i3, %d) + i5 = uint_rshift(i4, %d) + i6 = int_xor(i5, i2) + """ % args) def test_division_to_rshift_allcases(self): """ _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit