This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add cmov into i386 HWCAP_IMPORTANT


On Sun, Feb 02, 2003 at 12:35:03AM -0500, Daniel Jacobowitz wrote:
> On Sun, Feb 02, 2003 at 12:29:13AM +0100, Jakub Jelinek wrote:
> > On Sat, Feb 01, 2003 at 10:37:20PM +0100, Jakub Jelinek wrote:
> > > On Sun, Feb 02, 2003 at 06:29:45AM +0900, GOTO Masanori wrote:
> > > > Hi,
> > > > 
> > > > This patch adds HWCAP_I386_CMOV into i386 HWCAP_IMPORTANT.
> > > > 
> > > > CMOV is i686 optional instruction, and VIA C3 processor does not
> > > > support it, but VIA C3 reports it's an i686 class processor.  
> > > > 
> > > > Unfortunately, gcc generates this optional CMOV instruction with
> > > > -mcpu=i686 optimization, so i686 optimized dynamic library code almost
> > > > causes "illegal instruction" error on VIA C3 processor during dynamic
> > > > loading.  I heard that gcc team does not think to change using CMOV
> > > > instruction with i686 optimization.  CMOV is very key instruction to
> > > > make faster.
> > > > 
> > > > But I think this patch is needed regardless of gcc generates cmov
> > > > instruction code with i686 optimization.  Please apply it.
> > > 
> > > Guess you're aware about how much this penalizes everybody using
> > > DT_R{,UN}PATH and LD_LIBRARY_PATH...
> > > IMHO way better is just change platform to i586 when cmov hwcap is not set.
> > 
> > Note that that should be done in the kernel, not in ld.so.
> 
> The kernel folks outright refused to do this.
> 
> The libc folks refuse to change it in libc.
> 
> The GCC folks refuse to change the meaning of -march=i686.
> 
> _Someone_ has to give if we want Linux to work on these @#(*&! beasts!
> 

I have some old gcc and glibc patches for VIA C3 so that you can
configure gcc and glibc for VIA C3. But I am not sure if it is worth
the trouble.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]