Patchwork target-mips: use ULL for 64 bit constants

login
register
mail settings
Submitter Blue Swirl
Date Nov. 3, 2012, 6:48 p.m.
Message ID <3e13749eef6fbeef0651adb2b26e088cb5289dd9.1351968499.git.blauwirbel@gmail.com>
Download mbox | patch
Permalink /patch/196918/
State New
Headers show

Comments

Blue Swirl - Nov. 3, 2012, 6:48 p.m.
Fix build on a 32 bit host:
  CC    mips-softmmu/target-mips/dsp_helper.o
/src/qemu/target-mips/dsp_helper.c: In function 'helper_dextr_rs_w':
/src/qemu/target-mips/dsp_helper.c:3556: error: integer constant is too large for 'long' type
/src/qemu/target-mips/dsp_helper.c: In function 'helper_extr_s_h':
/src/qemu/target-mips/dsp_helper.c:3656: error: integer constant is too large for 'long' type

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 target-mips/dsp_helper.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Aurelien Jarno - Nov. 5, 2012, 7:03 a.m.
On Sat, Nov 03, 2012 at 06:48:35PM +0000, Blue Swirl wrote:
> Fix build on a 32 bit host:
>   CC    mips-softmmu/target-mips/dsp_helper.o
> /src/qemu/target-mips/dsp_helper.c: In function 'helper_dextr_rs_w':
> /src/qemu/target-mips/dsp_helper.c:3556: error: integer constant is too large for 'long' type
> /src/qemu/target-mips/dsp_helper.c: In function 'helper_extr_s_h':
> /src/qemu/target-mips/dsp_helper.c:3656: error: integer constant is too large for 'long' type
> 
> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> ---
>  target-mips/dsp_helper.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c
> index b59133e..e7949c2 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)0xFFFFFFFFFFFF8000ULL) {
>          temp = 0xFFFF8000;
>          set_DSPControl_overflow_flag(1, 23, env);
>      }

Thanks, applied.

Patch

diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c
index b59133e..e7949c2 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)0xFFFFFFFFFFFF8000ULL) {
         temp = 0xFFFF8000;
         set_DSPControl_overflow_flag(1, 23, env);
     }