1999-10-11  Ulrich Drepper  <drepper@cygnus.com>

	* malloc/memprof.c (GETSP): Define for PowerPC.
	(GETTIME): Fix generic version.
This commit is contained in:
Ulrich Drepper 1999-10-12 00:19:17 +00:00
parent 0d57f69570
commit 48ac059733
6 changed files with 17 additions and 9 deletions

View File

@ -1,3 +1,8 @@
1999-10-11 Ulrich Drepper <drepper@cygnus.com>
* malloc/memprof.c (GETSP): Define for PowerPC.
(GETTIME): Fix generic version.
1999-10-10 Philip Blundell <philb@gnu.org>
* sunrpc/xdr_float.c (LSW): Depend on __FLOAT_WORD_ORDER not

View File

@ -83,6 +83,9 @@ static uintptr_t start_sp;
#ifdef __sparc__
# define GETSP() ({ register uintptr_t stack_ptr asm ("%sp"); stack_ptr; })
#endif
#ifdef __powerpc__
# define GETSP() ({ register uintptr_t stack_ptr asm ("%r1"); stack_ptr; })
#endif
#ifdef __i386__
# define GETTIME(low,high) asm ("rdtsc" : "=a" (low), "=d" (high))
@ -93,7 +96,7 @@ static uintptr_t start_sp;
struct timeval tval; \
uint64_t usecs; \
gettimeofday (&tval, NULL); \
usecs = (uint64_t) tval.tv_usec + (uint64_t) tval_usec * 1000000; \
usecs = (uint64_t) tval.tv_usec + (uint64_t) tval.tv_usec * 1000000; \
low = usecs & 0xffffffff; \
high = usecs >> 32; \
}

View File

@ -60,7 +60,7 @@ ENTRY (__longjmp)
lwz r28,((JB_GPRS+14)*4)(r3)
lfd fp28,((JB_FPRS+14*2)*4)(r3)
lwz r29,((JB_GPRS+15)*4)(r3)
lfd f29,((JB_FPRS+15*2)*4)(r3)
lfd fp29,((JB_FPRS+15*2)*4)(r3)
lwz r30,((JB_GPRS+16)*4)(r3)
lfd fp30,((JB_FPRS+16*2)*4)(r3)
lwz r31,((JB_GPRS+17)*4)(r3)

View File

@ -21,7 +21,7 @@
ENTRY(__fabs)
/* double [f1] fabs (double [f1] x); */
fabs f1,f1
fabs fp1,fp1
blr
END(__fabs)

View File

@ -21,13 +21,13 @@
ENTRY(__fmax)
/* double [f1] fmax (double [f1] x, double [f2] y); */
fcmpu cr0,f1,f2
fcmpu cr0,fp1,fp2
blt cr0,0f /* if x < y, neither x nor y can be NaN... */
bnulr+ cr0
/* x and y are unordered, so one of x or y must be a NaN... */
fcmpu cr1,f2,f2
fcmpu cr1,fp2,fp2
bunlr cr1
0: fmr f1,f2
0: fmr fp1,fp2
blr
END(__fmax)

View File

@ -21,13 +21,13 @@
ENTRY(__fmin)
/* double [f1] fmin (double [f1] x, double [f2] y); */
fcmpu cr0,f1,f2
fcmpu cr0,fp1,fp2
bgt cr0,0f /* if x > y, neither x nor y can be NaN... */
bnulr+ cr0
/* x and y are unordered, so one of x or y must be a NaN... */
fcmpu cr1,f2,f2
fcmpu cr1,fp2,fp2
bunlr cr1
0: fmr f1,f2
0: fmr fp1,fp2
blr
END(__fmin)