Message ID | 1352060975-18646-1-git-send-email-sw@weilnetz.de |
---|---|
State | Superseded |
Headers | show |
On Sun, Nov 04, 2012 at 09:29:35PM +0100, Stefan Weil wrote: > Those constants are larger than 32 bits and need a suffix to avoid > warnings from some versions of gcc. > > Signed-off-by: Stefan Weil <sw@weilnetz.de> > --- > target-mips/dsp_helper.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c > index b59133e..2ab9956 100644 > --- a/target-mips/dsp_helper.c > +++ b/target-mips/dsp_helper.c > @@ -3553,7 +3553,7 @@ target_ulong helper_dextr_rs_w(target_ulong ac, target_ulong shift, > if (temp128 == 0) { > temp[0] = 0x0FFFFFFFF; > } else { > - temp[0] = 0x0100000000; > + temp[0] = 0x0100000000ULL; > } > set_DSPControl_overflow_flag(1, 23, env); > } > @@ -3653,7 +3653,7 @@ target_ulong helper_extr_s_h(target_ulong ac, target_ulong shift, > if (temp > (int64_t)0x7FFF) { > temp = 0x00007FFF; > set_DSPControl_overflow_flag(1, 23, env); > - } else if (temp < (int64_t)0xFFFFFFFFFFFF8000) { > + } else if (temp < (int64_t)0xFFFFFFFFFFFF8000LL) { > temp = 0xFFFF8000; > set_DSPControl_overflow_flag(1, 23, env); > } Blue Swirl proposed the same patch a bit earlier then you, and I have just applied it.
On 11/05/2012 12:03 AM, Aurelien Jarno wrote: > On Sun, Nov 04, 2012 at 09:29:35PM +0100, Stefan Weil wrote: >> Those constants are larger than 32 bits and need a suffix to avoid >> warnings from some versions of gcc. >> >> Signed-off-by: Stefan Weil <sw@weilnetz.de> >> @@ -3653,7 +3653,7 @@ target_ulong helper_extr_s_h(target_ulong ac, target_ulong shift, >> if (temp > (int64_t)0x7FFF) { >> temp = 0x00007FFF; >> set_DSPControl_overflow_flag(1, 23, env); >> - } else if (temp < (int64_t)0xFFFFFFFFFFFF8000) { >> + } else if (temp < (int64_t)0xFFFFFFFFFFFF8000LL) { Instead of using both a suffix and a cast to int64_t, shouldn't we instead be writing '(temp < INT64_C(0xFFFFFFFFFFFF8000))'? > > Blue Swirl proposed the same patch a bit earlier then you, and I have > just applied it. But since I've seldom seen code using the *_C() macros from <stdint.h>, it doesn't bother me enough to pursue it any further now that the immediate concern of compiler warnings has been silenced.
diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c index b59133e..2ab9956 100644 --- a/target-mips/dsp_helper.c +++ b/target-mips/dsp_helper.c @@ -3553,7 +3553,7 @@ target_ulong helper_dextr_rs_w(target_ulong ac, target_ulong shift, if (temp128 == 0) { temp[0] = 0x0FFFFFFFF; } else { - temp[0] = 0x0100000000; + temp[0] = 0x0100000000ULL; } set_DSPControl_overflow_flag(1, 23, env); } @@ -3653,7 +3653,7 @@ target_ulong helper_extr_s_h(target_ulong ac, target_ulong shift, if (temp > (int64_t)0x7FFF) { temp = 0x00007FFF; set_DSPControl_overflow_flag(1, 23, env); - } else if (temp < (int64_t)0xFFFFFFFFFFFF8000) { + } else if (temp < (int64_t)0xFFFFFFFFFFFF8000LL) { temp = 0xFFFF8000; set_DSPControl_overflow_flag(1, 23, env); }
Those constants are larger than 32 bits and need a suffix to avoid warnings from some versions of gcc. Signed-off-by: Stefan Weil <sw@weilnetz.de> --- target-mips/dsp_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)