NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: toolchain/45673: gcc on i386 current generates bad code for assembler code in lock.h
The following reply was made to PR toolchain/45673; it has been noted by GNATS.
From: matthew green <mrg%eterna.com.au@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: toolchain-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost, kuehro%gmx.de@localhost
Subject: re: toolchain/45673: gcc on i386 current generates bad code for
assembler code in lock.h
Date: Tue, 13 Mar 2012 09:49:12 +1100
> On Sun, 11 Mar 2012, Kai-Uwe Eckhardt wrote:
> > it looks like a problem in the toolchain. The gcc in
> > 6.0_BETA and current i386 is built with --with-march=i486
> > --with-tune=nocona. Nocona has the 64 bit registers available
> > and this leads to wrong code.
>
> According to my reading of "man gcc", -march is supposed
> to control the available set of CPU features, registers,
> instructions, and the like, while -mtune is supposed to affect
> the cost of using the available CPU features (while not affecting
> the set of available features). If a feature is not present in
> the CPU type specified with "-march", but is present in the CPU
> type specified with "-mtune", then I believe that GCC should NOT
> attempt to use that feature.
>
> If GCC is invoked with "-march=i486 -mtune=nocona" and is using
> features that are present in the nocona CPU but not present in the
> i486 CPU, then I believe that indicates a GCC bug.
i had a read through the i386 gcc code and i couldn't see anyway
that -mtune=nocona would change the available instructions. i
agree that this would be a bug if it does so.
fortunately, the real bug seems to be the register constraints.
.mrg.
Home |
Main Index |
Thread Index |
Old Index