Author: Richard Plangger <[email protected]>
Branch: vecopt
Changeset: r78698:152353977ab7
Date: 2015-07-28 20:29 +0200
http://bitbucket.org/pypy/pypy/changeset/152353977ab7/
Log: stripping sse4 of the model returned from host platform in the test
to pass it (c compiler will never append sse4) considering that
descr can be a basicfaildescr in the tests
diff --git a/rpython/jit/backend/llgraph/runner.py
b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -876,20 +876,21 @@
value = self.env[box]
else:
value = None
- accum = descr.rd_accum_list
- while accum != None:
- if accum.position != i:
- accum = accum.prev
- continue
- if accum.operation == '+':
- value = sum(value)
- break
- elif accum.operation == '*':
- def prod(acc, x): return acc * x
- value = reduce(prod, value, 1)
- break
- else:
- raise NotImplementedError("accum operator in fail guard")
+ if hasattr(descr, 'rd_accum_list'):
+ accum = descr.rd_accum_list
+ while accum != None:
+ if accum.position != i:
+ accum = accum.prev
+ continue
+ if accum.operation == '+':
+ value = sum(value)
+ break
+ elif accum.operation == '*':
+ def prod(acc, x): return acc * x
+ value = reduce(prod, value, 1)
+ break
+ else:
+ raise NotImplementedError("accum operator in fail
guard")
values.append(value)
if hasattr(descr, '_llgraph_bridge'):
target = (descr._llgraph_bridge, -1)
diff --git a/rpython/jit/backend/test/test_detect_cpu.py
b/rpython/jit/backend/test/test_detect_cpu.py
--- a/rpython/jit/backend/test/test_detect_cpu.py
+++ b/rpython/jit/backend/test/test_detect_cpu.py
@@ -31,6 +31,8 @@
def test_detect_model_from_c_compiler():
info1 = detect_model_from_host_platform()
info2 = detect_model_from_c_compiler()
+ if info1.endswith("-sse4"):
+ info1 = info1[:-len("-sse4")]
assert info1 == info2
def test_getcpufeatures():
diff --git a/rpython/jit/metainterp/test/test_resoperation.py
b/rpython/jit/metainterp/test/test_resoperation.py
--- a/rpython/jit/metainterp/test/test_resoperation.py
+++ b/rpython/jit/metainterp/test/test_resoperation.py
@@ -2,6 +2,7 @@
import re
from rpython.jit.metainterp import resoperation as rop
from rpython.jit.metainterp.history import AbstractDescr, AbstractFailDescr
+from rpython.jit.metainterp.history import ConstInt
def test_arity_mixins():
cases = [
@@ -85,10 +86,10 @@
py.test.raises(AssertionError, "newops[0].setdescr('foobar')")
def test_cast_ops():
- op = rop.ResOperation(rop.rop.INT_SIGNEXT, ['a', 1], 'c')
+ op = rop.ResOperation(rop.rop.INT_SIGNEXT, ['a', ConstInt(1)], 'c')
assert op.casts_box()
assert isinstance(op, rop.CastResOp)
- assert op.cast_to == ('i',1)
+ assert op.cast_to() == ('i',1)
op = rop.ResOperation(rop.rop.CAST_FLOAT_TO_INT, ['a'], 'c')
assert op.casts_box()
assert isinstance(op, rop.CastResOp)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit