This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/15189] New: wrong filling of delay slot with -march=mips1 -G0 -mno-split-addresses -mno-explicit-relocs


* 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]