This is the mail archive of the
mailing list for the GCC project.
Re: [patch, ia64] Patch for PR target/44583 to fix signed zeros
- From: Richard Henderson <rth at redhat dot com>
- To: sje at cup dot hp dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 30 Jul 2010 11:27:00 -0700
- Subject: Re: [patch, ia64] Patch for PR target/44583 to fix signed zeros
- References: <201007292045.o6TKjaU26678@lucas.cup.hp.com>
On 07/29/2010 01:45 PM, Steve Ellcey wrote:
> +(define_constraint "Z"
> + "1.0 or (0.0 and !flag_signed_zeros)"
> + (and (match_code "const_double")
> + (ior (match_test "op == CONST1_RTX (mode)")
> + (and (match_test "op == CONST0_RTX (mode)")
> + (match_test "!flag_signed_zeros")))))
That can't be right. The pointer equality there, as in "G",
should mean that we know we really have a positive zero,
which *can* use FP0.
It would seem you're pessimizing every instance of "x = y + 0".
Which operation is it, specifically, that's failing?