This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [committed] Skip floating-point var-expand tests for soft-float MIPS targets
- From: Hans-Peter Nilsson <hp at bitrange dot com>
- To: Bob Wilson <bwilson at tensilica dot com>
- Cc: gcc-patches at gcc dot gnu dot org, rsandifo at nildram dot co dot uk
- Date: Tue, 27 Nov 2007 19:32:52 -0500 (EST)
- Subject: Re: [committed] Skip floating-point var-expand tests for soft-float MIPS targets
- References: <87pry4bofg.fsf@firetop.home> <474B5C48.3000706@tensilica.com>
On Mon, 26 Nov 2007, Bob Wilson wrote:
> Richard Sandiford wrote:
> Xtensa soft float targets have the same issue. What would you think about
> generalizing your check to handle other targets? This patch skips these tests
> for Xtensa, and I think preserves the current behavior for MIPS. I flipped
> the target procedure to check for "hard float" instead of "soft float" just
> because that seemed more natural when dealing with multiple targets.
>
> 2007-11-26 Bob Wilson <bob.wilson@acm.org>
> * lib/target-supports.exp
> (check_effective_target_mips_soft_float):
> Delete.
> (check_effective_target_hard_float): New.
> * gcc.dg/var-expand1.c: Skip for targets without FPU instructions.
> * gcc.dg/pr30957-1.c: Likewise.
(Patch in attachment, can't quote; point is that it looks at
port-specific preprocessor options so it's not general enough. ;)
I think a better method, one that doesn't need tweaking for each
target, would be as I suggested in
<http://gcc.gnu.org/ml/gcc-patches/2007-05/msg00398.html>:
Generate a .expand dump "-dr", of e.g.
double a (double b, double c) { return b + c; }
and grep the RTL dump for "call".
If it's there, the target is not hard_float.
brgds, H-P