SH: catch negative denormal_subf1() retval in denormal_add()
authorRoel Kluin <12o3l@tiscali.nl>
Fri, 9 May 2008 11:05:10 +0000 (20:05 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 9 May 2008 11:05:10 +0000 (20:05 +0900)
'ix' is unsigned but denormal_subf1() may return a negative int.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/kernel/cpu/sh2a/fpu.c

index 5627c0b3ffa82e2c9496fec63eeeb2861eade897..6df2fb98eb30edb905c248290c0d64d754ed33cb 100644 (file)
@@ -300,7 +300,7 @@ static int denormal_addf(int hx, int hy)
                iy = hy & 0x7fffffff;
                if (iy < 0x00800000) {
                        ix = denormal_subf1(ix, iy);
-                       if (ix < 0) {
+                       if ((int) ix < 0) {
                                ix = -ix;
                                sign ^= 0x80000000;
                        }
@@ -385,7 +385,7 @@ static long long denormal_addd(long long hx, long long hy)
                iy = hy & 0x7fffffffffffffffLL;
                if (iy < 0x0010000000000000LL) {
                        ix = denormal_subd1(ix, iy);
-                       if (ix < 0) {
+                       if ((int) ix < 0) {
                                ix = -ix;
                                sign ^= 0x8000000000000000LL;
                        }