[pypy-svn] pypy arm-backed-float: change the float comparisson operations a bit, because transfering the condition flags from the vfp to the core processor flags changes slighlty the meaning of the condition codes
bivab
commits-noreply at bitbucket.org
Fri Apr 1 16:05:13 CEST 2011
Author: David Schneider <david.schneider at picle.org>
Branch: arm-backed-float
Changeset: r43088:32b4f23cc658
Date: 2011-04-01 16:04 +0200
http://bitbucket.org/pypy/pypy/changeset/32b4f23cc658/
Log: change the float comparisson operations a bit, because transfering
the condition flags from the vfp to the core processor flags changes
slighlty the meaning of the condition codes
diff --git a/pypy/jit/backend/arm/opassembler.py b/pypy/jit/backend/arm/opassembler.py
--- a/pypy/jit/backend/arm/opassembler.py
+++ b/pypy/jit/backend/arm/opassembler.py
@@ -898,8 +898,8 @@
emit_op_float_neg = gen_emit_unary_float_op('VNEG')
emit_op_float_abs = gen_emit_unary_float_op('VABS')
- emit_op_float_lt = gen_emit_float_cmp_op(c.LT)
- emit_op_float_le = gen_emit_float_cmp_op(c.LE)
+ emit_op_float_lt = gen_emit_float_cmp_op(c.VFP_LT)
+ emit_op_float_le = gen_emit_float_cmp_op(c.VFP_LE)
emit_op_float_eq = gen_emit_float_cmp_op(c.EQ)
emit_op_float_ne = gen_emit_float_cmp_op(c.NE)
emit_op_float_gt = gen_emit_float_cmp_op(c.GT)
diff --git a/pypy/jit/backend/arm/conditions.py b/pypy/jit/backend/arm/conditions.py
--- a/pypy/jit/backend/arm/conditions.py
+++ b/pypy/jit/backend/arm/conditions.py
@@ -18,3 +18,7 @@
def get_opposite_of(operation):
return opposites[operation]
+# see mapping for floating poin according to
+# http://blogs.arm.com/software-enablement/405-condition-codes-4-floating-point-comparisons-using-vfp/
+VFP_LT = CC
+VFP_LE = LS
More information about the Pypy-commit
mailing list