[pypy-svn] pypy arm-backed-float: Implement FLOAT_TRUEDIV operation

bivab commits-noreply at bitbucket.org
Wed Feb 2 13:49:38 CET 2011


Author: David Schneider <david.schneider at picle.org>
Branch: arm-backed-float
Changeset: r41540:9c673870557c
Date: 2011-01-17 17:54 +0100
http://bitbucket.org/pypy/pypy/changeset/9c673870557c/

Log:	Implement FLOAT_TRUEDIV operation

diff --git a/pypy/jit/backend/arm/instructions.py b/pypy/jit/backend/arm/instructions.py
--- a/pypy/jit/backend/arm/instructions.py
+++ b/pypy/jit/backend/arm/instructions.py
@@ -132,4 +132,5 @@
     'VADD' : {'opc1':0x3, 'opc3':0},
     'VSUB' : {'opc1':0x3, 'opc3':1},
     'VMUL' : {'opc1':0x2, 'opc3':0},
+    'VDIV' : {'opc1':0x8, 'opc3':0},
 }

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
@@ -777,6 +777,7 @@
     emit_op_float_add = gen_emit_float_op('VADD')
     emit_op_float_sub = gen_emit_float_op('VSUB')
     emit_op_float_mul = gen_emit_float_op('VMUL')
+    emit_op_float_truediv = gen_emit_float_op('VDIV')
 
 class ResOpAssembler(GuardOpAssembler, IntOpAsslember,
                     OpAssembler, UnaryIntOpAssembler,

diff --git a/pypy/jit/backend/arm/regalloc.py b/pypy/jit/backend/arm/regalloc.py
--- a/pypy/jit/backend/arm/regalloc.py
+++ b/pypy/jit/backend/arm/regalloc.py
@@ -785,6 +785,7 @@
     prepare_op_float_add = prepare_float_op()
     prepare_op_float_sub = prepare_float_op()
     prepare_op_float_mul = prepare_float_op()
+    prepare_op_float_truediv = prepare_float_op()
 
 def make_operation_list():
     def notimplemented(self, op, fcond):


More information about the Pypy-commit mailing list