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

Re: [committed] Skip floating-point var-expand tests for soft-float MIPS targets


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


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