Avoid an egcs pessimization for 64-bit signed division on i386's.

Pre-2.8 versions of gcc generate a call to __divdi3() for all 64-bit
signed divisions, but egcs optimizes them to a shift and fixup when
the divisor is a constant power of 2.  Unfortunately, it generates
a call to __cmpdi2() for the fixup, although all except possibly
ancient versions of gcc and egcs do ordinary 64-bit comparisons
inline.
This commit is contained in:
Bruce Evans 1998-06-14 15:52:00 +00:00
parent a525aa3424
commit 4c4918c9e4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=36979
6 changed files with 20 additions and 20 deletions

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_bio.c 8.9 (Berkeley) 3/30/95
* $Id: nfs_bio.c,v 1.57 1998/05/30 16:33:56 peter Exp $
* $Id: nfs_bio.c,v 1.58 1998/06/01 11:32:53 peter Exp $
*/
@ -523,7 +523,7 @@ nfs_bioread(vp, uio, ioflag, cred, getpages)
&& uio->uio_offset >= np->n_direofoffset) {
return (0);
}
lbn = uio->uio_offset / NFS_DIRBLKSIZ;
lbn = (uoff_t)uio->uio_offset / NFS_DIRBLKSIZ;
on = uio->uio_offset & (NFS_DIRBLKSIZ - 1);
bp = nfs_getcacheblk(vp, lbn, NFS_DIRBLKSIZ, p);
if (!bp)

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.8 (Berkeley) 5/22/95
* $Id: nfs_subs.c,v 1.60 1998/05/31 19:16:08 peter Exp $
* $Id: nfs_subs.c,v 1.61 1998/05/31 20:08:55 peter Exp $
*/
/*
@ -2011,11 +2011,11 @@ nfs_getcookie(np, off, add)
register struct nfsdmap *dp, *dp2;
register int pos;
pos = off / NFS_DIRBLKSIZ;
if (pos == 0) {
pos = (uoff_t)off / NFS_DIRBLKSIZ;
if (pos == 0 || off < 0) {
#ifdef DIAGNOSTIC
if (add)
panic("nfs getcookie add at 0");
panic("nfs getcookie add at <= 0");
#endif
return (&nfs_nullcookie);
}

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.8 (Berkeley) 5/22/95
* $Id: nfs_subs.c,v 1.60 1998/05/31 19:16:08 peter Exp $
* $Id: nfs_subs.c,v 1.61 1998/05/31 20:08:55 peter Exp $
*/
/*
@ -2011,11 +2011,11 @@ nfs_getcookie(np, off, add)
register struct nfsdmap *dp, *dp2;
register int pos;
pos = off / NFS_DIRBLKSIZ;
if (pos == 0) {
pos = (uoff_t)off / NFS_DIRBLKSIZ;
if (pos == 0 || off < 0) {
#ifdef DIAGNOSTIC
if (add)
panic("nfs getcookie add at 0");
panic("nfs getcookie add at <= 0");
#endif
return (&nfs_nullcookie);
}

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_bio.c 8.9 (Berkeley) 3/30/95
* $Id: nfs_bio.c,v 1.57 1998/05/30 16:33:56 peter Exp $
* $Id: nfs_bio.c,v 1.58 1998/06/01 11:32:53 peter Exp $
*/
@ -523,7 +523,7 @@ nfs_bioread(vp, uio, ioflag, cred, getpages)
&& uio->uio_offset >= np->n_direofoffset) {
return (0);
}
lbn = uio->uio_offset / NFS_DIRBLKSIZ;
lbn = (uoff_t)uio->uio_offset / NFS_DIRBLKSIZ;
on = uio->uio_offset & (NFS_DIRBLKSIZ - 1);
bp = nfs_getcacheblk(vp, lbn, NFS_DIRBLKSIZ, p);
if (!bp)

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.8 (Berkeley) 5/22/95
* $Id: nfs_subs.c,v 1.60 1998/05/31 19:16:08 peter Exp $
* $Id: nfs_subs.c,v 1.61 1998/05/31 20:08:55 peter Exp $
*/
/*
@ -2011,11 +2011,11 @@ nfs_getcookie(np, off, add)
register struct nfsdmap *dp, *dp2;
register int pos;
pos = off / NFS_DIRBLKSIZ;
if (pos == 0) {
pos = (uoff_t)off / NFS_DIRBLKSIZ;
if (pos == 0 || off < 0) {
#ifdef DIAGNOSTIC
if (add)
panic("nfs getcookie add at 0");
panic("nfs getcookie add at <= 0");
#endif
return (&nfs_nullcookie);
}

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_subs.c 8.8 (Berkeley) 5/22/95
* $Id: nfs_subs.c,v 1.60 1998/05/31 19:16:08 peter Exp $
* $Id: nfs_subs.c,v 1.61 1998/05/31 20:08:55 peter Exp $
*/
/*
@ -2011,11 +2011,11 @@ nfs_getcookie(np, off, add)
register struct nfsdmap *dp, *dp2;
register int pos;
pos = off / NFS_DIRBLKSIZ;
if (pos == 0) {
pos = (uoff_t)off / NFS_DIRBLKSIZ;
if (pos == 0 || off < 0) {
#ifdef DIAGNOSTIC
if (add)
panic("nfs getcookie add at 0");
panic("nfs getcookie add at <= 0");
#endif
return (&nfs_nullcookie);
}