qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH] ppc: Fix a warning in bcdcfz code and improve BCD


From: Eric Blake
Subject: Re: [Qemu-ppc] [PATCH] ppc: Fix a warning in bcdcfz code and improve BCD_DIG_BYTE macro
Date: Wed, 11 Jan 2017 14:59:29 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0

On 01/11/2017 12:50 PM, Jose Ricardo Ziviani wrote:
> This commit fixes a warning in the code "(i * 2) ? .. : ..", which
> should be better as "(i) ? .. : ..", and improves the BCD_DIG_BYTE

Could remove the () around i here.

> macro by placing parentheses around its argument to avoid possible
> expansion issues like: BCD_DIG_BYTE(i + j).
> 
> Signed-off-by: Jose Ricardo Ziviani <address@hidden>
> ---
>  target/ppc/int_helper.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/target/ppc/int_helper.c b/target/ppc/int_helper.c
> index 24e5964..d889084 100644
> --- a/target/ppc/int_helper.c
> +++ b/target/ppc/int_helper.c
> @@ -2583,9 +2583,9 @@ void helper_vsubecuq(ppc_avr_t *r, ppc_avr_t *a, 
> ppc_avr_t *b, ppc_avr_t *c)
>  #define NATIONAL_NEG    0x2D
>  
>  #if defined(HOST_WORDS_BIGENDIAN)
> -#define BCD_DIG_BYTE(n) (15 - (n/2))
> +#define BCD_DIG_BYTE(n) (15 - ((n) / 2))
>  #else
> -#define BCD_DIG_BYTE(n) (n/2)
> +#define BCD_DIG_BYTE(n) ((n) / 2)
>  #endif
>  
>  static int bcd_get_sgn(ppc_avr_t *bcd)
> @@ -2908,7 +2908,7 @@ uint32_t helper_bcdcfz(ppc_avr_t *r, ppc_avr_t *b, 
> uint32_t ps)
>      }
>  
>      for (i = 0; i < 16; i++) {
> -        zone_digit = (i * 2) ? b->u8[BCD_DIG_BYTE(i * 2)] >> 4 : zone_lead;
> +        zone_digit = (i) ? b->u8[BCD_DIG_BYTE(i * 2)] >> 4 : zone_lead;

Extra (); I'd go with zone_digit = i ? ...

With that tweak,
Reviewed-by: Eric Blake <address@hidden>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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