summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoel Kluin <12o3l@tiscali.nl>2008-05-09 15:05:10 +0400
committerPaul Mundt <lethal@linux-sh.org>2008-05-09 15:05:10 +0400
commit9731e287e08b804592191d8bffaad023154af2aa (patch)
treef6b0a6e8a2d732d312282d926733230e2eec0a16
parentcdf7da899d840d47e075ff3bd761290653c68b77 (diff)
downloadlinux-9731e287e08b804592191d8bffaad023154af2aa.tar.xz
SH: catch negative denormal_subf1() retval in denormal_add()
'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>
-rw-r--r--arch/sh/kernel/cpu/sh2a/fpu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/kernel/cpu/sh2a/fpu.c b/arch/sh/kernel/cpu/sh2a/fpu.c
index 5627c0b3ffa8..6df2fb98eb30 100644
--- a/arch/sh/kernel/cpu/sh2a/fpu.c
+++ b/arch/sh/kernel/cpu/sh2a/fpu.c
@@ -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;
}