------- Additional Comments From rth at gcc dot gnu dot org  2005-01-14 01:36 
-------
I would consider (1) wrong.

I'm not sure about (2); I think at one time there was a target that put fp
return values in the integer registers even when a coprocessor was present.
But there doesn't seem to be such a target in the tree now.  Perhaps it got
purged.

I don't like (3) because that forces -mhard-float to imply MASK_FLOAT_RETURN,
which would interfere with (2) if it still existed.

As for (4), what do you think the problem *is* anyway?  It's the fact
that "fxch" is marked TARGET_80387, and the only reason *that* got emitted
is to put the return value in the right place for MASK_FLOAT_RETURN.  Duh.

And my suggestion is to add

  if (!TARGET_80387)
    target_flags &= ~MASK_FLOAT_RETURNS;

somewhere in the middle of override_options.  Preferably near the other 
bits that talk about fpmath etc.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19379

Reply via email to