]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
sim: mips: fix sim_fpu usage
authorMike Frysinger <vapier@gentoo.org>
Tue, 5 Dec 2023 13:09:49 +0000 (06:09 -0700)
committerMike Frysinger <vapier@gentoo.org>
Tue, 5 Dec 2023 13:12:02 +0000 (06:12 -0700)
Fix some of the sim_fpu calls to use the right types.  While I'm
not familiar with the MIPS ISA in these cases, these look like
simple oversights due to the name/type mismatches.  This at least
fixes compiling with -Wenum-conversion.

sim/mips/cp1.c

index 1af0c7ae76d15f263ceccf618190293fbfcc6583..aa8b05a836c560c2742f30325779e9589d3536d2 100644 (file)
@@ -1178,7 +1178,7 @@ inner_rsqrt(uint64_t op1,
        uint32_t res;
        sim_fpu_32to (&wop1, op1);
        status |= sim_fpu_sqrt (&ans, &wop1);
-       status |= sim_fpu_round_32 (&ans, status, round);
+       status |= sim_fpu_round_32 (&ans, round, denorm);
        wop1 = ans;
        op_status = sim_fpu_inv (&ans, &wop1);
        op_status |= sim_fpu_round_32 (&ans, round, denorm);
@@ -1216,7 +1216,7 @@ fp_inv_sqrt(sim_cpu *cpu,
            FP_formats fmt)
 {
   sim_fpu_round round = rounding_mode (GETRM());
-  sim_fpu_round denorm = denorm_mode (cpu);
+  sim_fpu_denorm denorm = denorm_mode (cpu);
   sim_fpu_status status = 0;
   uint64_t result = 0;
 
@@ -1903,8 +1903,8 @@ convert_ps (sim_cpu *cpu,
       result = (((uint64_t)res_u) << 32) | (uint64_t)res_l;
       break;
     case fmt_ps:
-      status_u |= sim_fpu_round_32 (&wop_u, 0, round);
-      status_l |= sim_fpu_round_32 (&wop_l, 0, round);
+      status_u |= sim_fpu_round_32 (&wop_u, round, denorm);
+      status_l |= sim_fpu_round_32 (&wop_l, round, denorm);
       sim_fpu_to32 (&res_u, &wop_u);
       sim_fpu_to32 (&res_l, &wop_l);
       result = FP_PS_cat(res_u, res_l);