From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22545 invoked by alias); 21 Feb 2004 02:00:59 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 22495 invoked by uid 48); 21 Feb 2004 02:00:57 -0000 Date: Sat, 21 Feb 2004 02:00:00 -0000 Message-ID: <20040221020057.22494.qmail@sources.redhat.com> From: "stefaan dot simoens at tiscali dot be" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040206230200.14053.stefaan.simoens@tiscali.be> References: <20040206230200.14053.stefaan.simoens@tiscali.be> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug optimization/14053] second stage build errors (--with-cpu=601) X-Bugzilla-Reason: CC X-SW-Source: 2004-02/txt/msg02051.txt.bz2 List-Id: ------- Additional Comments From stefaan dot simoens at tiscali dot be 2004-02-21 02:00 ------- I've got an Apple PowerMacintosh 7200/75; this has the 601 chip. I don't know if my kernel (2.4.25-rc1 for the moment) is the best kernel to run on a 601; I know my kernel works just fine right now (I compiled the kernel myself; the rest of my system is Mandrake 9.1). The kernel is NOT compiled with the "601 Bug Workaround" (I had previous versions compiled with and without the workaround (which inserts sync and isyncs in before and after some instructions) and my system runs fine with or without the workarounds -- I chose to run without). I learned the 601 has PowerPC and POWER instructions; I'm quite sure my 601 does both. (I think all Mandrake PPC binaries are compiled for PowerPC; but when I compile something myself with --mcpu=601 it runs and executes POWER instructions (like nabs, cfr my other post). So, I don't think the kernel disables the "POWER" instructions. However, I think there are a few problems with -mcpu=601 [I was using this switch to gain the most performance as possible...]. I started my optimization-quest compiling the latest binutils -mcpu=601; the build succeeded; all but 5 (ld) tests succeeded (all tests succeeded without the -mcpu=601). (The binutils I use right now are the binutils without the - mcpu=601). I can't tell for sure the kernel saves and restores the MQ register on "context switch" correctly (how can I tell?). Starting from the "good" assembler code (without -mcpu=601) the 'error' in arith-rand-ll.c enters when I replace the divw/mullw/subf with divs/mfmq. The error doesn't always occur (as far as I can read the code, it uses calculations with random numbers...?) -- I ran the compiled 'bad' code for 20 times and I got 10 times 'Aborted' and the other times the program didn't complain at all -- which makes me conclude that it is an error that only sometimes happens, an exception? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14053