Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r73757:4efc4e33a16b Date: 2014-10-02 11:43 +0200 http://bitbucket.org/pypy/pypy/changeset/4efc4e33a16b/
Log: On non-Intel platforms we get the extra logic to check for alignment. diff --git a/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py b/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py --- a/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py +++ b/pypy/module/pypyjit/test_pypy_c/test_micronumpy.py @@ -1,4 +1,5 @@ from pypy.module.pypyjit.test_pypy_c.test_00_model import BaseTestPyPyC +from rpython.rlib.rawstorage import misaligned_is_fine class TestMicroNumPy(BaseTestPyPyC): @@ -15,6 +16,14 @@ log = self.run(main, []) assert log.result == 0 loop, = log.loops_by_filename(self.filepath) + if misaligned_is_fine: + alignment_check = "" + else: + alignment_check = """ + i93 = int_and(i79, 7) + i94 = int_is_zero(i93) + guard_true(i94, descr=...) + """ assert loop.match(""" i76 = int_lt(i71, 300) guard_true(i76, descr=...) @@ -22,6 +31,7 @@ guard_false(i77, descr=...) i78 = int_mul(i71, i61) i79 = int_add(i55, i78) + """ + alignment_check + """ f80 = raw_load(i67, i79, descr=<ArrayF 8>) i81 = int_add(i71, 1) guard_not_invalidated(descr=...) @@ -44,6 +54,14 @@ log = self.run(main, []) assert log.result == 0 loop, = log.loops_by_filename(self.filepath) + if misaligned_is_fine: + alignment_check = "" + else: + alignment_check = """ + i97 = int_and(i84, 7) + i98 = int_is_zero(i97) + guard_true(i98, descr=...) + """ assert loop.match(""" i81 = int_lt(i76, 300) guard_true(i81, descr=...) @@ -51,6 +69,7 @@ guard_false(i82, descr=...) i83 = int_mul(i76, i64) i84 = int_add(i58, i83) + """ + alignment_check + """ f85 = raw_load(i70, i84, descr=<ArrayF 8>) guard_not_invalidated(descr=...) f86 = float_add(f74, f85) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit