From 04067763616e6f8aa50d18da016d19f5d3e81619 Mon Sep 17 00:00:00 2001 From: ceriel Date: Tue, 2 Aug 1988 11:57:37 +0000 Subject: [PATCH] fixed again --- mach/proto/fp/sbf4.c | 3 ++- mach/proto/fp/sbf8.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mach/proto/fp/sbf4.c b/mach/proto/fp/sbf4.c index 03e8d728f..844880ecf 100644 --- a/mach/proto/fp/sbf4.c +++ b/mach/proto/fp/sbf4.c @@ -21,13 +21,14 @@ _float s1,s2; /* is faster than the code: */ /* s2 = -s2 */ char unsigned *p; + _float *result = &s1; /* s1 may not be in a register! */ if (s2 == (_float) 0) { return s1; } p = (char unsigned *) &s2; *p ^= 0x80; /* change sign of s2 */ - s1 = adf4(s2,s1); + *result = adf4(s2,s1); return(s1); /* add and return result */ } diff --git a/mach/proto/fp/sbf8.c b/mach/proto/fp/sbf8.c index b04a82d48..76d437250 100644 --- a/mach/proto/fp/sbf8.c +++ b/mach/proto/fp/sbf8.c @@ -21,12 +21,13 @@ _double s1,s2; /* is faster than the code line */ /* s2 = -s2; */ char unsigned *p; /* sufficient to access sign bit */ + _double *result = &s1; /* s1 may not be in a register! */ if (s2.__double[0] == 0 && s2.__double[1] == 0) { return s1; } p = (char unsigned *) &s2; *p ^= 0x80; /* change sign of s2 */ - s1 = adf8(s2,s1); /* add and return result */ + *result = adf8(s2,s1); /* add and return result */ return(s1); } -- 2.34.1