* gas-971208 mips64orion-rtems internal error
@ 1997-12-20 11:00 Joel Sherrill
1997-12-22 9:19 ` Ian Lance Taylor
0 siblings, 1 reply; 4+ messages in thread
From: Joel Sherrill @ 1997-12-20 11:00 UTC (permalink / raw)
To: gas2
The public domain floating point test paranoia when compiled by egcs 1.0
generates code which causes an internal error in gas. I have cut the code
down to the following:
.file 1 "p1.c"
# -G value = 8, Cpu = 4650, ISA = 3
# GNU C version egcs-2.90.21 971202 (egcs-1.00 release)
(mips64orion-rtems) compiled by GNU C version 2.7.2.
# options passed: -mcpu=4650
# options enabled: -fpeephole -ffunction-cse -fkeep-static-consts
# -fpcc-struct-return -fcommon -fverbose-asm -fgnu-linker
-fargument-alias
# -mgas -mfp64 -mgp64 -meb -mcpu=4650
gcc2_compiled.:
__gnu_compiled_c:
.globl One
.align 3
One:
.word 0x3ff00000 # 1
.word 0x00000000
.globl paranoia
.ent paranoia
paranoia:
.frame $fp,72,$31 # vars= 8, regs= 3/1, args= 32,
extra= 0
.mask 0xc0010000,-16
.fmask 0x00100000,-8
s.d $f0,One
which when assembled as follows:
mips64orion-rtems-as -mcpu=4650 -v p1.s
generates this error message:
p1.s: Assembler messages:
p1.s:23: Internal error!
Assertion failure in macro_build at ../../src/gas/config/tc-mips.c line
2365.
Please report this bug.
This file assembles with a warning about the missing ".end or .bend" with
binutils 2.8.1.
Thanks.
--joel
Joel Sherrill Director of Research & Development
joel@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (205) 722-9985
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gas-971208 mips64orion-rtems internal error
1997-12-20 11:00 gas-971208 mips64orion-rtems internal error Joel Sherrill
@ 1997-12-22 9:19 ` Ian Lance Taylor
1997-12-22 9:27 ` Joel Sherrill
0 siblings, 1 reply; 4+ messages in thread
From: Ian Lance Taylor @ 1997-12-22 9:19 UTC (permalink / raw)
To: joel; +Cc: gas2
Date: Sat, 20 Dec 1997 13:00:40 -0600 (CST)
From: Joel Sherrill <joel@OARcorp.com>
s.d $f0,One
which when assembled as follows:
mips64orion-rtems-as -mcpu=4650 -v p1.s
generates this error message:
p1.s: Assembler messages:
p1.s:23: Internal error!
Assertion failure in macro_build at ../../src/gas/config/tc-mips.c line
2365.
Please report this bug.
Interesting. Reporting the error in this manner is clearly a bug in
gas.
However, as far as I can tell, the input is not valid for the 4650.
The 4650 has only single precision floating point, which means that it
can not support the s.d instruction for a floating point register. It
doesn't make any sense.
So I think there must be a compiler bug here as well.
I'll fix the bug in the assembler to report the error in a more
coherent fashion.
Ian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gas-971208 mips64orion-rtems internal error
1997-12-22 9:19 ` Ian Lance Taylor
@ 1997-12-22 9:27 ` Joel Sherrill
1997-12-22 9:30 ` Ian Lance Taylor
0 siblings, 1 reply; 4+ messages in thread
From: Joel Sherrill @ 1997-12-22 9:27 UTC (permalink / raw)
To: Ian Lance Taylor; +Cc: gas2
On Mon, 22 Dec 1997, Ian Lance Taylor wrote:
> generates this error message:
>
> p1.s: Assembler messages:
> p1.s:23: Internal error!
> Assertion failure in macro_build at ../../src/gas/config/tc-mips.c line
> 2365.
> Please report this bug.
>
> Interesting. Reporting the error in this manner is clearly a bug in
> gas.
>
> However, as far as I can tell, the input is not valid for the 4650.
> The 4650 has only single precision floating point, which means that it
> can not support the s.d instruction for a floating point register. It
> doesn't make any sense.
>
> So I think there must be a compiler bug here as well.
>
> I'll fix the bug in the assembler to report the error in a more
> coherent fashion.
Thanks. This certainly turned out to be more interesting than I
expected. :)
Should I just report this to the egcs list then along with the original
offensive C program Is there something I can do to help make this one
easier to find? It seems pretty weird.
--joel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gas-971208 mips64orion-rtems internal error
1997-12-22 9:27 ` Joel Sherrill
@ 1997-12-22 9:30 ` Ian Lance Taylor
0 siblings, 0 replies; 4+ messages in thread
From: Ian Lance Taylor @ 1997-12-22 9:30 UTC (permalink / raw)
To: joel; +Cc: gas2
Date: Mon, 22 Dec 1997 11:27:44 -0600 (CST)
From: Joel Sherrill <joel@OARcorp.com>
Should I just report this to the egcs list then along with the original
offensive C program
Yeah, I guess so.
Is there something I can do to help make this one
easier to find? It seems pretty weird.
It's probably pretty easy to fix. There's probably just a missing
TARGET_DOUBLE_FLOAT somewhere in mips.md or mips.c.
The 4650 is not a particularly common chip, so it's quite plausible
that changes to the MIPS code have introduced bugs in the 4650
support.
It's also possible that my analysis is wrong, although it seems right
to me.
Ian
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1997-12-22 9:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-12-20 11:00 gas-971208 mips64orion-rtems internal error Joel Sherrill
1997-12-22 9:19 ` Ian Lance Taylor
1997-12-22 9:27 ` Joel Sherrill
1997-12-22 9:30 ` Ian Lance Taylor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).