This is the mail archive of the gcc@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]

Re: egcs 1.0 mips64orion bug



  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


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