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.2 stuff



  In message <m10O9fD-000ErMC@ocean.lucon.org>you write:
  > > 
  > > 
  > > 
  > >   In message <m10O2ic-000ErMC@ocean.lucon.org>you write:
  > >   > I enabled all TARGET_CMOVE and CC_FCOMI. I also optimized the fp
  > >   > cmove.
  > >   > 
  > >   > What do you mean by that? I sent in patches months ago and you said
  > >   > you would take a look. What happened?
  > > The FCOMI stuff I explicitly left with you and John to sort out.  Last I
  > > heard there were still technical problems with that patch.  If you and Jo
  > hn
  > > think the patch is done, then send the final patch.
  > > 
  > 
  > This is the latest patch I have been using. It seems ok.
  > 
  > 
  > H.J.
  > ----
  > Mon Jan 11 20:02:56 1999  H.J. Lu  (hjl@gnu.org)
  > 
  > 	* i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
  > 	conditional move.
  > 
  > 	* config/i386/i386.c (notice_update_cc, output_float_compare):
  > 	Enable TARGET_CMOVE support.
  > 
  > 	* config/i386/i386.c (output_float_compare): Fix the FLOAT
  > 	comparison for IEEE math and CC_FCOMI.
Here's a nice simple example from the gcc testsuite that breaks with this
patch installed.

Compile & run on a PPro/PII with -O1 -march=pentiumpro

The program will abort instead of exiting with zero status:
f (double *ty)
{
  *ty = -1.0;
}

main ()
{
  double foo[6];
  double tx = 0.0, ty, d;

  f (&ty);

  if (ty < 0)
    ty = -ty;
  d = (tx > ty) ? tx : ty;
  if (ty != d)
    abort ();
  exit (0);
}


When you resubmit this patch, can you please test it with the gcc testsuite
first?

Thanks,
jeff



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