This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/15189] New: wrong filling of delay slot with -march=mips1 -G0 -mno-split-addresses -mno-explicit-relocs
- From: "niva at niisi dot msk dot ru" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Apr 2004 10:49:59 -0000
- Subject: [Bug c/15189] New: wrong filling of delay slot with -march=mips1 -G0 -mno-split-addresses -mno-explicit-relocs
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
* the options given when GCC was configured/built;
Configured with: /home/niva/src/gcc-3.4-binutils/configure
--with-headers=/home/niva/src/OC2000-22-jan-04-include
--without-libs --enable-generated-files-in-srcdir
--enable-threads=posix -with-dwarf2 --disable-shared
--target=mips64-none-elf --verbose --enable-checking
--enable-languages=c --srcdir=/home/niva/src/gcc-3.4-binutils
--prefix=/home/niva/local-osina --enable-cpp
* the complete command line that triggers the bug;
./mips64-none-elf-gcc \
/home/niva/src/gcc-3.4-binutils/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c
-O2 -G0 -mno-split-addresses -mno-explicit-relocs -c -o
/osina-test/niva/fp-cmp-6.x2 -save-temps -dp -mips1 -mabi=32
* the compiler output (error messages, warnings, etc.); and
fp-cmp-6.s: Assembler messages:
fp-cmp-6.s:42: Warning: Macro instruction expanded into multiple instructions
in a branch delay slot
* the preprocessed file (*.i*) that triggers the bug, generated by
adding -save-temps to the complete compilation command, or, in the
case of a bug report for the GNAT front end, a complete set of
source files (see below).
# 1
"/home/niva/src/gcc-3.4-binutils/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1
"/home/niva/src/gcc-3.4-binutils/gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.c"
const double dnan = 1.0/0.0 - 1.0/0.0;
double x = 1.0;
extern void link_error (void);
extern void abort (void);
main ()
{
if (dnan == dnan)
link_error ();
if (dnan != x)
x = 1.0;
else
link_error ();
if (dnan < x)
link_error ();
if (dnan > x)
link_error ();
if (dnan <= x)
link_error ();
if (dnan >= x)
link_error ();
if (dnan == x)
link_error ();
exit (0);
}
--
Summary: wrong filling of delay slot with -march=mips1 -G0 -mno-
split-addresses -mno-explicit-relocs
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: niva at niisi dot msk dot ru
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: target=mips64-none-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15189