mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
1998-09-03 Philip Blundell <pb@nexus.co.uk> * sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define to big endian. * math/math_private.h: Use __FLOAT_WORD_ORDER rather than BYTE_ORDER. * string/endian.h: If __FLOAT_WORD_ORDER wasn't defined by <bits/endian.h>, make it the same as __BYTE_ORDER. 1998-11-27 Ulrich Drepper <drepper@cygnus.com> * math/math.h: Avoid using long double functions in generic macros if __NO_LONG_DOUBLE_MATH. * sysdeps/arm/dl-machine.h: Fix handling of weak undefined symbols during bootstrapping. * scripts/config.sub: Add Netwinder specific matches. Patch by Scott Bambrough <scottb@corelcomputer.com>. 1998-11-26 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * Makeconfig ($(common-objpfx)sysd-dirs): Use automatic variables if possible. ($(common-objpfx)sysd-sorted): Likewise. 1998-11-27 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/libm-ieee754/e_log.c (__ieee754_log): Add declaration of local variables t1,t2 only if needed. * sysdeps/libm-ieee754/e_atan2.c: Added braces to avoid compiler warnings. * sysdeps/libm-ieee754/s_truncf.c (__truncf): Likewise. * sysdeps/libm-ieee754/s_trunc.c (__trunc): Likewise. * sysdeps/mips/mul_1.S (Loop): Add closing comment to avoid warning. 1998-11-27 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/math.h: Add brace to correct #if expression.
This commit is contained in:
42
ChangeLog
42
ChangeLog
@ -1,3 +1,45 @@
|
|||||||
|
1998-09-03 Philip Blundell <pb@nexus.co.uk>
|
||||||
|
|
||||||
|
* sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define to big
|
||||||
|
endian.
|
||||||
|
* math/math_private.h: Use __FLOAT_WORD_ORDER rather than
|
||||||
|
BYTE_ORDER.
|
||||||
|
* string/endian.h: If __FLOAT_WORD_ORDER wasn't defined by
|
||||||
|
<bits/endian.h>, make it the same as __BYTE_ORDER.
|
||||||
|
|
||||||
|
1998-11-27 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* math/math.h: Avoid using long double functions in generic macros
|
||||||
|
if __NO_LONG_DOUBLE_MATH.
|
||||||
|
|
||||||
|
* sysdeps/arm/dl-machine.h: Fix handling of weak undefined symbols
|
||||||
|
during bootstrapping.
|
||||||
|
* scripts/config.sub: Add Netwinder specific matches.
|
||||||
|
Patch by Scott Bambrough <scottb@corelcomputer.com>.
|
||||||
|
|
||||||
|
1998-11-26 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
|
* Makeconfig ($(common-objpfx)sysd-dirs): Use automatic variables
|
||||||
|
if possible.
|
||||||
|
($(common-objpfx)sysd-sorted): Likewise.
|
||||||
|
|
||||||
|
1998-11-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||||
|
|
||||||
|
* sysdeps/libm-ieee754/e_log.c (__ieee754_log): Add declaration of
|
||||||
|
local variables t1,t2 only if needed.
|
||||||
|
|
||||||
|
* sysdeps/libm-ieee754/e_atan2.c: Added braces to avoid compiler
|
||||||
|
warnings.
|
||||||
|
* sysdeps/libm-ieee754/s_truncf.c (__truncf): Likewise.
|
||||||
|
* sysdeps/libm-ieee754/s_trunc.c (__trunc): Likewise.
|
||||||
|
|
||||||
|
* sysdeps/mips/mul_1.S (Loop): Add closing comment to avoid
|
||||||
|
warning.
|
||||||
|
|
||||||
|
1998-11-27 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||||
|
|
||||||
|
* math/math.h: Add brace to correct #if expression.
|
||||||
|
|
||||||
1998-11-26 Philip Blundell <philb@gnu.org>
|
1998-11-26 Philip Blundell <philb@gnu.org>
|
||||||
|
|
||||||
Undo change of 1998-11-12:
|
Undo change of 1998-11-12:
|
||||||
|
13
Makeconfig
13
Makeconfig
@ -779,23 +779,22 @@ $(common-objpfx)sysd-dirs: $(common-objpfx)config.make $(all-Subdirs-files)
|
|||||||
END { printf "sysdep-subdirs =%s\n", subdirs; \
|
END { printf "sysdep-subdirs =%s\n", subdirs; \
|
||||||
printf "sysdep-inhibit-subdirs =%s\n", inhibit; \
|
printf "sysdep-inhibit-subdirs =%s\n", inhibit; \
|
||||||
print "sysd-dirs-done = t" }' \
|
print "sysd-dirs-done = t" }' \
|
||||||
/dev/null $(all-Subdirs-files) > $@-tmp
|
$(patsubst $<,/dev/null,$^) > $@-tmp
|
||||||
mv -f $@-tmp $@
|
mv -f $@-tmp $@
|
||||||
|
|
||||||
all-Depend-files = $(wildcard $(..)*/Depend)
|
all-Depend-files = $(wildcard $(..)*/Depend)
|
||||||
$(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \
|
$(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \
|
||||||
$(common-objpfx)sysd-dirs $(..)Makeconfig
|
$(common-objpfx)sysd-dirs $(..)Makeconfig
|
||||||
(files="$(all-Depend-files)"; \
|
(dirs='$(patsubst $(..)%/Depend,%,$(filter %/Depend, $^))'; \
|
||||||
for f in $$files; do \
|
for d in $$dirs; do \
|
||||||
dir=`echo $$f | sed 's@^$(..)\(.*\)/[^/]*$$@\1@'`; \
|
|
||||||
while read on; do \
|
while read on; do \
|
||||||
echo "depend $$dir $$on"; \
|
echo "depend $$d $$on"; \
|
||||||
done < $$f; \
|
done < $$d/Depend; \
|
||||||
done; \
|
done; \
|
||||||
for f in $(all-subdirs); do \
|
for f in $(all-subdirs); do \
|
||||||
echo $$f; \
|
echo $$f; \
|
||||||
done \
|
done \
|
||||||
) | $(AWK) -f $(..)scripts/gen-sorted.awk > $@-tmp
|
) | $(AWK) -f $< > $@-tmp
|
||||||
mv -f $@-tmp $@
|
mv -f $@-tmp $@
|
||||||
|
|
||||||
endif # Makeconfig not yet included
|
endif # Makeconfig not yet included
|
||||||
|
27
math/math.h
27
math/math.h
@ -83,7 +83,7 @@ __BEGIN_DECLS
|
|||||||
# undef _Mdouble_
|
# undef _Mdouble_
|
||||||
# undef __MATH_PRECNAME
|
# undef __MATH_PRECNAME
|
||||||
|
|
||||||
# if __STDC__ - 0 || __GNUC__ - 0 && !defined __NO_LONG_DOUBLE_MATH
|
# if (__STDC__ - 0 || __GNUC__ - 0) && !defined __NO_LONG_DOUBLE_MATH
|
||||||
/* Include the file of declarations again, this time using `long double'
|
/* Include the file of declarations again, this time using `long double'
|
||||||
instead of `double' and appending l to each function name. */
|
instead of `double' and appending l to each function name. */
|
||||||
|
|
||||||
@ -166,43 +166,68 @@ enum
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Return number of classification appropriate for X. */
|
/* Return number of classification appropriate for X. */
|
||||||
|
#ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define fpclassify(x) \
|
||||||
|
(sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
|
||||||
|
#else
|
||||||
# define fpclassify(x) \
|
# define fpclassify(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__fpclassifyf (x) \
|
__fpclassifyf (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__fpclassify (x) : __fpclassifyl (x))
|
__fpclassify (x) : __fpclassifyl (x))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Return nonzero value if sign of X is negative. */
|
/* Return nonzero value if sign of X is negative. */
|
||||||
|
#ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define signbit(x) \
|
||||||
|
(sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
|
||||||
|
#else
|
||||||
# define signbit(x) \
|
# define signbit(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__signbitf (x) \
|
__signbitf (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__signbit (x) : __signbitl (x))
|
__signbit (x) : __signbitl (x))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Return nonzero value if X is not +-Inf or NaN. */
|
/* Return nonzero value if X is not +-Inf or NaN. */
|
||||||
|
#ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define isfinite(x) \
|
||||||
|
(sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
|
||||||
|
#else
|
||||||
# define isfinite(x) \
|
# define isfinite(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__finitef (x) \
|
__finitef (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__finite (x) : __finitel (x))
|
__finite (x) : __finitel (x))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
|
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
|
||||||
# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
||||||
|
|
||||||
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
||||||
we already have this functions `__isnan' and it is faster. */
|
we already have this functions `__isnan' and it is faster. */
|
||||||
|
#ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define isnan(x) \
|
||||||
|
(sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
|
||||||
|
#else
|
||||||
# define isnan(x) \
|
# define isnan(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__isnanf (x) \
|
__isnanf (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__isnan (x) : __isnanl (x))
|
__isnan (x) : __isnanl (x))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Return nonzero value is X is positive or negative infinity. */
|
/* Return nonzero value is X is positive or negative infinity. */
|
||||||
|
#ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define isinf(x) \
|
||||||
|
(sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
|
||||||
|
#else
|
||||||
# define isinf(x) \
|
# define isinf(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__isinff (x) \
|
__isinff (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__isinf (x) : __isinfl (x))
|
__isinf (x) : __isinfl (x))
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* Use ISO C 9X. */
|
#endif /* Use ISO C 9X. */
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
/* A union which permits us to convert between a double and two 32 bit
|
/* A union which permits us to convert between a double and two 32 bit
|
||||||
ints. */
|
ints. */
|
||||||
|
|
||||||
#if BYTE_ORDER == BIG_ENDIAN
|
#if __FLOAT_WORD_ORDER == BIG_ENDIAN
|
||||||
|
|
||||||
typedef union
|
typedef union
|
||||||
{
|
{
|
||||||
@ -48,7 +48,7 @@ typedef union
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
|
||||||
|
|
||||||
typedef union
|
typedef union
|
||||||
{
|
{
|
||||||
@ -150,7 +150,7 @@ do { \
|
|||||||
/* A union which permits us to convert between a long double and
|
/* A union which permits us to convert between a long double and
|
||||||
three 32 bit ints. */
|
three 32 bit ints. */
|
||||||
|
|
||||||
#if BYTE_ORDER == BIG_ENDIAN
|
#if __FLOAT_WORD_ORDER == BIG_ENDIAN
|
||||||
|
|
||||||
typedef union
|
typedef union
|
||||||
{
|
{
|
||||||
@ -166,7 +166,7 @@ typedef union
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
#if __FLOAT_WORD_ORDER == LITTLE_ENDIAN
|
||||||
|
|
||||||
typedef union
|
typedef union
|
||||||
{
|
{
|
||||||
|
9
scripts/config.sub
vendored
9
scripts/config.sub
vendored
@ -182,7 +182,7 @@ case $basic_machine in
|
|||||||
| sparc64-* | mips64-* | mipsel-* \
|
| sparc64-* | mips64-* | mipsel-* \
|
||||||
| mips64el-* | mips64orion-* | mips64orionel-* \
|
| mips64el-* | mips64orion-* | mips64orionel-* \
|
||||||
| mipstx39-* | mipstx39el-* \
|
| mipstx39-* | mipstx39el-* \
|
||||||
| f301-*)
|
| f301-* | armv*-*)
|
||||||
;;
|
;;
|
||||||
# Recognize the various machine names and aliases which stand
|
# Recognize the various machine names and aliases which stand
|
||||||
# for a CPU type and a company and sometimes even an OS.
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
@ -412,6 +412,10 @@ case $basic_machine in
|
|||||||
basic_machine=i486-ncr
|
basic_machine=i486-ncr
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
|
netwinder)
|
||||||
|
basic_machine=armv4l-ccc
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
news | news700 | news800 | news900)
|
news | news700 | news800 | news900)
|
||||||
basic_machine=m68k-sony
|
basic_machine=m68k-sony
|
||||||
os=-newsos
|
os=-newsos
|
||||||
@ -802,6 +806,9 @@ case $basic_machine in
|
|||||||
*-acorn)
|
*-acorn)
|
||||||
os=-riscix1.2
|
os=-riscix1.2
|
||||||
;;
|
;;
|
||||||
|
arm*-ccc)
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
|
@ -34,6 +34,12 @@
|
|||||||
/* This file defines `__BYTE_ORDER' for the particular machine. */
|
/* This file defines `__BYTE_ORDER' for the particular machine. */
|
||||||
#include <bits/endian.h>
|
#include <bits/endian.h>
|
||||||
|
|
||||||
|
/* Some machines may need to use a different endianness for floating point
|
||||||
|
values. */
|
||||||
|
#ifndef __FLOAT_WORD_ORDER
|
||||||
|
# define __FLOAT_WORD_ORDER __BYTE_ORDER
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __USE_BSD
|
#ifdef __USE_BSD
|
||||||
# define LITTLE_ENDIAN __LITTLE_ENDIAN
|
# define LITTLE_ENDIAN __LITTLE_ENDIAN
|
||||||
# define BIG_ENDIAN __BIG_ENDIAN
|
# define BIG_ENDIAN __BIG_ENDIAN
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
/* ARM is little-endian. */
|
/* ARM is (usually) little-endian but with a big-endian FPU. */
|
||||||
|
|
||||||
#ifndef _ENDIAN_H
|
#ifndef _ENDIAN_H
|
||||||
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
|
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define __BYTE_ORDER __LITTLE_ENDIAN
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||||
|
#define __FLOAT_WORD_ORDER __BIG_ENDIAN
|
||||||
|
@ -416,7 +416,13 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
|||||||
break;
|
break;
|
||||||
case R_ARM_GLOB_DAT:
|
case R_ARM_GLOB_DAT:
|
||||||
case R_ARM_JUMP_SLOT:
|
case R_ARM_JUMP_SLOT:
|
||||||
*reloc_addr = value;
|
#ifdef RTLD_BOOTSTRAP
|
||||||
|
/* Fix weak undefined references. */
|
||||||
|
if (sym != NULL && sym->st_value == 0)
|
||||||
|
*reloc_addr = 0;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
*reloc_addr = value;
|
||||||
break;
|
break;
|
||||||
case R_ARM_ABS32:
|
case R_ARM_ABS32:
|
||||||
{
|
{
|
||||||
|
@ -74,7 +74,7 @@ pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
|
|||||||
if(((ix|((lx|-lx)>>31))>0x7ff00000)||
|
if(((ix|((lx|-lx)>>31))>0x7ff00000)||
|
||||||
((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */
|
((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */
|
||||||
return x+y;
|
return x+y;
|
||||||
if((hx-0x3ff00000|lx)==0) return __atan(y); /* x=1.0 */
|
if(((hx-0x3ff00000)|lx)==0) return __atan(y); /* x=1.0 */
|
||||||
m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
|
m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
|
||||||
|
|
||||||
/* when y = 0 */
|
/* when y = 0 */
|
||||||
|
@ -103,7 +103,10 @@ static double zero = 0.0;
|
|||||||
double x;
|
double x;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
double hfsq,f,s,z,R,w,t1,t2,dk,t11,t12,t21,t22,w2,zw2;
|
double hfsq,f,s,z,R,w,dk,t11,t12,t21,t22,w2,zw2;
|
||||||
|
#ifdef DO_NOT_USE_THIS
|
||||||
|
double t1,t2;
|
||||||
|
#endif
|
||||||
int32_t k,hx,i,j;
|
int32_t k,hx,i,j;
|
||||||
u_int32_t lx;
|
u_int32_t lx;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Truncate argument to nearest integral value not larger than the argument.
|
/* Truncate argument to nearest integral value not larger than the argument.
|
||||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ __trunc (double x)
|
|||||||
/* The magnitude of the number is < 1 so the result is +-0. */
|
/* The magnitude of the number is < 1 so the result is +-0. */
|
||||||
INSERT_WORDS (x, sx, 0);
|
INSERT_WORDS (x, sx, 0);
|
||||||
else
|
else
|
||||||
INSERT_WORDS (x, sx | i0 & ~(0x000fffff >> j0), 0);
|
INSERT_WORDS (x, sx | (i0 & ~(0x000fffff >> j0)), 0);
|
||||||
}
|
}
|
||||||
else if (j0 > 51)
|
else if (j0 > 51)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Truncate argument to nearest integral value not larger than the argument.
|
/* Truncate argument to nearest integral value not larger than the argument.
|
||||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ __truncf (float x)
|
|||||||
/* The magnitude of the number is < 1 so the result is +-0. */
|
/* The magnitude of the number is < 1 so the result is +-0. */
|
||||||
SET_FLOAT_WORD (x, sx);
|
SET_FLOAT_WORD (x, sx);
|
||||||
else
|
else
|
||||||
SET_FLOAT_WORD (x, sx | i0 & ~(0x007fffff >> j0));
|
SET_FLOAT_WORD (x, sx | (i0 & ~(0x007fffff >> j0)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* MIPS __mpn_mul_1 -- Multiply a limb vector with a single limb and
|
/* MIPS __mpn_mul_1 -- Multiply a limb vector with a single limb and
|
||||||
store the product in a second limb vector.
|
store the product in a second limb vector.
|
||||||
|
|
||||||
Copyright (C) 1995 Free Software Foundation, Inc.
|
Copyright (C) 1995, 1998 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of the GNU MP Library.
|
This file is part of the GNU MP Library.
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ $LC1: mflo $10
|
|||||||
multu $8,$7
|
multu $8,$7
|
||||||
sw $10,0($4)
|
sw $10,0($4)
|
||||||
addiu $4,$4,4
|
addiu $4,$4,4
|
||||||
addu $2,$9,$2 /* add high product limb and carry from addition
|
addu $2,$9,$2 /* add high product limb and carry from addition */
|
||||||
|
|
||||||
/* cool down phase 0 */
|
/* cool down phase 0 */
|
||||||
$LC0: mflo $10
|
$LC0: mflo $10
|
||||||
|
Reference in New Issue
Block a user