* sysdeps/powerpc/powerpc32/fpu/s_ceil.S (TWO52.0): Delete.

* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (TWO23.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_floor.S (TWO52.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_floorf.S (TWO23.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Comment typo.
	(NEGZERO.0, POINTFIVE.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_rint.S (TWO52.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_rintf.S (TWO23.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Code in .text.
	(TWO52.0, POINTFIVE.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Code in .text.
	(TWO23.0, POINTFIVE.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Code in .text.
	(TWO52.0): Delete.
	* sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Code in .text.
	(TWO23.0): Delete.
	* sysdeps/powerpc/powerpc32/memset.S (memset): Formatting.
This commit is contained in:
Ulrich Drepper 2005-05-21 19:01:22 +00:00
parent 363dd97627
commit f7d78e18aa
19 changed files with 110 additions and 159 deletions

View File

@ -1,3 +1,23 @@
2005-05-17 Alan Modra <amodra@bigpond.net.au>
* sysdeps/powerpc/powerpc32/fpu/s_ceil.S (TWO52.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (TWO23.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_floor.S (TWO52.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_floorf.S (TWO23.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Comment typo.
(NEGZERO.0, POINTFIVE.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_rint.S (TWO52.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_rintf.S (TWO23.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_round.S (__round): Code in .text.
(TWO52.0, POINTFIVE.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_roundf.S (__roundf): Code in .text.
(TWO23.0, POINTFIVE.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_trunc.S (__trunc): Code in .text.
(TWO52.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_truncf.S (__truncf): Code in .text.
(TWO23.0): Delete.
* sysdeps/powerpc/powerpc32/memset.S (memset): Formatting.
2005-05-19 Richard Henderson <rth@redhat.com>
* sysdeps/unix/clock_gettime.c (clock_gettime): Fix typo around

View File

@ -1,3 +1,9 @@
2005-05-19 Richard Henderson <rth@redhat.com>
* sysdeps/ia64/pspinlock.c (__pthread_spin_lock): Use
__sync_val_compare_and_swap, not explicit _si variant.
(__pthread_spin_trylock): Likewise.
2005-05-05 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Remove explicit

View File

@ -1,3 +1,14 @@
2005-05-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN): Define to
size/alignment of struct pthread rather than tcbhead_t.
* sysdeps/x86_64/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN):
Likewise.
* sysdeps/s390/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN):
Likewise.
* sysdeps/sparc/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN):
Likewise.
2005-05-19 Richard Henderson <rth@redhat.com>
* sysdeps/ia64/pthread_spin_lock.c (pthread_spin_lock): Use

View File

@ -1,5 +1,5 @@
/* Definition for thread-local data handling. nptl/i386 version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -102,11 +102,13 @@ union user_desc_init
/* Get the thread descriptor definition. */
# include <nptl/descr.h>
/* This is the size of the initial TCB. */
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
/* This is the size of the initial TCB. Can't be just sizeof (tcbhead_t),
because NPTL getpid, __libc_alloca_cutoff etc. need (almost) the whole
struct pthread even when not linked with -lpthread. */
# define TLS_INIT_TCB_SIZE sizeof (struct pthread)
/* Alignment requirements for the initial TCB. */
# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
/* This is the size of the TCB. */
# define TLS_TCB_SIZE sizeof (struct pthread)

View File

@ -81,11 +81,13 @@ typedef struct
/* Get the thread descriptor definition. */
# include <nptl/descr.h>
/* This is the size of the initial TCB. */
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
/* This is the size of the initial TCB. Can't be just sizeof (tcbhead_t),
because NPTL getpid, __libc_alloca_cutoff etc. need (almost) the whole
struct pthread even when not linked with -lpthread. */
# define TLS_INIT_TCB_SIZE sizeof (struct pthread)
/* Alignment requirements for the initial TCB. */
# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
/* This is the size of the TCB. */
# define TLS_TCB_SIZE sizeof (struct pthread)

View File

@ -69,11 +69,13 @@ typedef struct
register struct pthread *__thread_self __asm__("%g7");
/* This is the size of the initial TCB. */
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
/* This is the size of the initial TCB. Can't be just sizeof (tcbhead_t),
because NPTL getpid, __libc_alloca_cutoff etc. need (almost) the whole
struct pthread even when not linked with -lpthread. */
# define TLS_INIT_TCB_SIZE sizeof (struct pthread)
/* Alignment requirements for the initial TCB. */
# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
/* This is the size of the TCB. */
# define TLS_TCB_SIZE sizeof (struct pthread)

View File

@ -1,5 +1,5 @@
/* Definition for thread-local data handling. nptl/x86_64 version.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -82,11 +82,13 @@ typedef struct
# endif
#endif
/* This is the size of the initial TCB. */
# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
/* This is the size of the initial TCB. Can't be just sizeof (tcbhead_t),
because NPTL getpid, __libc_alloca_cutoff etc. need (almost) the whole
struct pthread even when not linked with -lpthread. */
# define TLS_INIT_TCB_SIZE sizeof (struct pthread)
/* Alignment requirements for the initial TCB. */
# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
/* This is the size of the TCB. */
# define TLS_TCB_SIZE sizeof (struct pthread)

View File

@ -19,14 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 3
.type TWO52.0,@object
.size TWO52.0,8
TWO52.0:
.long 0x43300000
.long 0
.section .rodata.cst8,"aM",@progbits,8
.align 3
.LC0: /* 2**52 */

View File

@ -19,13 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 2
.type TWO23.0,@object
.size TWO23.0,4
TWO23.0:
.long 0x4b000000
.section .rodata.cst4,"aM",@progbits,4
.align 2
.LC0: /* 2**23 */

View File

@ -19,14 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 3
.type TWO52.0,@object
.size TWO52.0,8
TWO52.0:
.long 0x43300000
.long 0
.section .rodata.cst8,"aM",@progbits,8
.align 3
.LC0: /* 2**52 */

View File

@ -19,13 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 2
.type TWO23.0,@object
.size TWO23.0,4
TWO23.0:
.long 0x4b000000
.section .rodata.cst4,"aM",@progbits,4
.align 2
.LC0: /* 2**23 */

View File

@ -19,19 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 3
.type NEGZERO.0,@object
.size NEGZERO.0,8
NEGZERO.0:
.long 0x00000000
.long 0
.type POINTFIVE.0,@object
.size POINTFIVE.0,8
POINTFIVE.0:
.long 0x3fe00000
.long 0
.section .rodata.cst8,"aM",@progbits,8
.align 3
.LC0: /* 0.0 */
@ -78,8 +65,8 @@ ENTRY (__lround)
.L9:
fctiwz fp2,fp1 /* Convert To Integer DW lround toward 0. */
stfd fp2,-8(r1)
nop /* Insure the following load is in a different dispatch group */
nop /* to avoid pipe stall on POWER4&5. */
nop /* Ensure the following load is in a different dispatch */
nop /* group to avoid pipe stall on POWER4&5. */
nop
lwz r3,-4(r1)
blr

View File

@ -22,14 +22,6 @@
#include <sysdep.h>
.section .rodata
.align 3
.type TWO52.0,@object
.size TWO52.0,8
TWO52.0:
.long 0x43300000
.long 0
.section .rodata.cst8,"aM",@progbits,8
.align 3
.LC0: /* 2**52 */

View File

@ -19,14 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 2
.type TWO23.0,@object
.size TWO23.0,4
TWO23.0:
.long 0x4b000000
.section .rodata.cst4,"aM",@progbits,4
.align 2
.LC0: /* 2**23 */

View File

@ -19,19 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 3
.type TWO52.0,@object
.size TWO52.0,8
TWO52.0:
.long 0x43300000
.long 0
.type POINTFIVE.0,@object
.size POINTFIVE.0,8
POINTFIVE.0:
.long 0x3fe00000
.long 0
.section .rodata.cst8,"aM",@progbits,8
.align 3
.LC0: /* 2**52 */
@ -51,6 +38,7 @@ POINTFIVE.0:
"Round toward Zero" mode and round by adding +-0.5 before rounding
to the integer value. */
.section ".text"
ENTRY (__round)
mffs fp11 /* Save current FPU rounding mode. */
#ifdef SHARED

View File

@ -19,17 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 2
.type TWO23.0,@object
.size TWO23.0,4
TWO23.0:
.long 0x4b000000
.type POINTFIVE.0,@object
.size POINTFIVE.0,4
POINTFIVE.0:
.long 0x3f000000
.section .rodata.cst4,"aM",@progbits,4
.align 2
.LC0: /* 2**23 */
@ -47,6 +36,7 @@ POINTFIVE.0:
"Round toward Zero" mode and round by adding +-0.5 before rounding
to the integer value. */
.section ".text"
ENTRY (__roundf )
mffs fp11 /* Save current FPU rounding mode. */
#ifdef SHARED

View File

@ -19,14 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 3
.type TWO52.0,@object
.size TWO52.0,8
TWO52.0:
.long 0x43300000
.long 0
.section .rodata.cst8,"aM",@progbits,8
.align 3
.LC0: /* 2**52 */
@ -40,6 +32,7 @@ TWO52.0:
We set "round toward Zero" mode and trunc by adding +-2**52 then
subtracting +-2**52. */
.section ".text"
ENTRY (__trunc)
mffs fp11 /* Save current FPU rounding mode. */
#ifdef SHARED

View File

@ -19,13 +19,6 @@
#include <sysdep.h>
.section .rodata
.align 2
.type TWO23.0,@object
.size TWO23.0,2
TWO23.0:
.long 0x4b000000
.section .rodata.cst4,"aM",@progbits,4
.align 2
.LC0: /* 2**23 */
@ -38,6 +31,7 @@ TWO23.0:
We set "round toward Zero" mode and trunc by adding +-2**23 then
subtracting +-2**23. */
.section ".text"
ENTRY (__truncf)
mffs fp11 /* Save current FPU rounding mode. */
#ifdef SHARED

View File

@ -140,7 +140,7 @@ L(nondcbz):
/* We can't use dcbz here as we don't know the cache line size. We can
use "data cache block touch for store", which is safe. */
L(c3): dcbtst rNEG64, rMEMP
L(c3): dcbtst rNEG64, rMEMP
stw rCHR, -4(rMEMP)
stw rCHR, -8(rMEMP)
stw rCHR, -12(rMEMP)
@ -166,7 +166,7 @@ L(cloopdone):
add rMEMP, rMEMP, rALIGN
b L(medium_tail2) /* 72nd instruction from .align */
.align 5
.align 5
nop
/* Clear cache lines of memory in 128-byte chunks.
This code is optimized for processors with 32-byte cache lines.
@ -200,7 +200,7 @@ L(zloop):
beqlr cr5
b L(medium_tail2)
.align 5
.align 5
L(small):
/* Memset of 4 bytes or less. */
cmplwi cr5, rLEN, 1
@ -218,7 +218,7 @@ L(small):
blr
/* Memset of 0-31 bytes. */
.align 5
.align 5
L(medium):
cmplwi cr1, rLEN, 16
L(medium_tail2):
@ -258,70 +258,70 @@ L(medium_28t):
L(checklinesize):
#ifdef SHARED
mflr rTMP
mflr rTMP
/* If the remaining length is less the 32 bytes then don't bother getting
the cache line size. */
the cache line size. */
beq L(medium)
/* Establishes GOT addressability so we can load __cache_line_size
from static. This value was set from the aux vector during startup. */
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr rGOT
lwz rGOT,__cache_line_size@got(rGOT)
lwz rCLS,0(rGOT)
mtlr rTMP
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr rGOT
lwz rGOT,__cache_line_size@got(rGOT)
lwz rCLS,0(rGOT)
mtlr rTMP
#else
/* Load __cache_line_size from static. This value was set from the
aux vector during startup. */
lis rCLS,__cache_line_size@ha
lis rCLS,__cache_line_size@ha
/* If the remaining length is less the 32 bytes then don't bother getting
the cache line size. */
the cache line size. */
beq L(medium)
lwz rCLS,__cache_line_size@l(rCLS)
lwz rCLS,__cache_line_size@l(rCLS)
#endif
/*If the cache line size was not set then goto to L(nondcbz), which is
safe for any cache line size. */
cmplwi cr1,rCLS,0
/* If the cache line size was not set then goto to L(nondcbz), which is
safe for any cache line size. */
cmplwi cr1,rCLS,0
beq cr1,L(nondcbz)
/* If the cache line size is 32 bytes then goto to L(zloopstart),
which is coded specificly for 32-byte lines (and 601). */
cmplwi cr1,rCLS,32
which is coded specificly for 32-byte lines (and 601). */
cmplwi cr1,rCLS,32
beq cr1,L(zloopstart)
/* Now we know the cache line size and it is not 32-bytes. However
we may not yet be aligned to the cache line and may have a partial
line to fill. Touch it 1st to fetch the cache line. */
dcbtst 0,rMEMP
we may not yet be aligned to the cache line and may have a partial
line to fill. Touch it 1st to fetch the cache line. */
dcbtst 0,rMEMP
addi rCLM,rCLS,-1
addi rCLM,rCLS,-1
L(getCacheAligned):
cmplwi cr1,rLEN,32
and. rTMP,rCLM,rMEMP
blt cr1,L(handletail32)
beq L(cacheAligned)
cmplwi cr1,rLEN,32
and. rTMP,rCLM,rMEMP
blt cr1,L(handletail32)
beq L(cacheAligned)
/* We are not aligned to start of a cache line yet. Store 32-byte
of data and test again. */
addi rMEMP,rMEMP,32
addi rLEN,rLEN,-32
stw rCHR,-32(rMEMP)
stw rCHR,-28(rMEMP)
stw rCHR,-24(rMEMP)
stw rCHR,-20(rMEMP)
stw rCHR,-16(rMEMP)
stw rCHR,-12(rMEMP)
stw rCHR,-8(rMEMP)
stw rCHR,-4(rMEMP)
b L(getCacheAligned)
addi rMEMP,rMEMP,32
addi rLEN,rLEN,-32
stw rCHR,-32(rMEMP)
stw rCHR,-28(rMEMP)
stw rCHR,-24(rMEMP)
stw rCHR,-20(rMEMP)
stw rCHR,-16(rMEMP)
stw rCHR,-12(rMEMP)
stw rCHR,-8(rMEMP)
stw rCHR,-4(rMEMP)
b L(getCacheAligned)
/* Now we are aligned to the cache line and can use dcbz. */
L(cacheAligned):
cmplw cr1,rLEN,rCLS
blt cr1,L(handletail32)
dcbz 0,rMEMP
subf rLEN,rCLS,rLEN
add rMEMP,rMEMP,rCLS
b L(cacheAligned)
cmplw cr1,rLEN,rCLS
blt cr1,L(handletail32)
dcbz 0,rMEMP
subf rLEN,rCLS,rLEN
add rMEMP,rMEMP,rCLS
b L(cacheAligned)
/* We are here because; the cache line size was set, it was not
32-bytes, and the remainder (rLEN) is now less than the actual cache
@ -329,7 +329,7 @@ L(cacheAligned):
store the remaining bytes. */
L(handletail32):
clrrwi. rALIGN, rLEN, 5
b L(nondcbz)
b L(nondcbz)
END (BP_SYM (memset))
libc_hidden_builtin_def (memset)