qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target-s390x: fix CONVERT TO BINARY (CVD, CVDY)


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] target-s390x: fix CONVERT TO BINARY (CVD, CVDY)
Date: Mon, 29 Jun 2015 22:24:01 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

On 2015-06-29 10:28, Richard Henderson wrote:
> On 06/25/2015 08:16 PM, Aurelien Jarno wrote:
> >      for (shift = 4; (shift < 64) && bin; shift += 4) {
> >-        int current_number = bin % 10;
> >-
> >-        dec |= (current_number) << shift;
> >+        dec |= (bin % 10) << shift;
> >          bin /= 10;
> >      }
> 
> You've changed from 32-bit division to 64-bit division just to solve a
> problem with the shift.  Better to just change the type of current_number
> there.

Changing the type of current_number instead of bin would indeed solve
the shift issue, but not the -2^31 case. As we take the absolute value,
we need a 64-bit variable to hold the corresponding 2^31 value.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]