This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: egcs 1.0 mips64orion bug
- To: Joel Sherrill <joel at OARcorp dot com>
- Subject: Re: egcs 1.0 mips64orion bug
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sun, 28 Dec 1997 12:44:05 -0700
- cc: egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <Pine.BSF.3.96.971222135650.23375L-100000@vespucci.advicom.net>you
write:
> And later:
>
> It's probably pretty easy to fix. There's probably just a missing
> TARGET_DOUBLE_FLOAT somewhere in mips.md or mips.c.
>
> I managed to cut the code down to this:
>
> double One;
> int f()
> {
> One = 1;
> }
>
> which (to my surprise) actually trips the bug. :)
>
> Here are the commands I have been using to generate this error:
>
> mips64orion-rtems-gcc -v -mcpu=4650 -S -g p3.c
> mips64orion-rtems-as -v -mcpu=4650 p3.s
-mcpu=4650 effects scheduling characteristics only; the compiler is
still free to use instructions not available on the 4650.
-m4650 will force the compiler to generate code that only uses insns
available on the 4650.
If I use -m4650 I get:
f:
.frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0
.mask 0x00000000,0
.fmask 0x00000000,0
li.d $2,1.00000000000000000000e0
#nop
sd $2,One
j $31
.end f
Which looks correct for the 4650.
jeff