Commits

David Schneider committed 9f746b2

add llong_to_int implementation

Comments (0)

Files changed (2)

pypy/jit/backend/arm/opassembler.py

     emit_op_llong_or = gen_emit_float_op('llong_or', 'VORR_i64')
     emit_op_llong_xor = gen_emit_float_op('llong_xor', 'VEOR_i64')
 
+    def emit_op_llong_to_int(self, op, arglocs, regalloc, fcond):
+        loc = arglocs[0]
+        res = arglocs[1]
+        assert loc.is_vfp_reg()
+        assert res.is_reg()
+        self.mc.VMOV_rc(res.value, r.ip.value, loc.value)
+        return fcond

pypy/jit/backend/arm/regalloc.py

         res = self.vfprm.force_allocate_reg(op.result)
         return [loc0, loc1, res]
 
+    def _prepare_llong_to_int(self, op, fcond):
+        loc0 = self._ensure_value_is_boxed(op.getarg(1))
+        res = self.force_allocate_reg(op.result)
+        return [loc0, res]
+
+
     def _prepare_guard(self, op, args=None):
         if args is None:
             args = []