This is the mail archive of the
mailing list for the GCC project.
Re: Fix middle-end/17767
- From: Richard Henderson <rth at redhat dot com>
- To: Uros Bizjak <uros at kss-loka dot si>
- Cc: gcc-patches at gcc dot gnu dot org, Roger Sayle <roger at eyesopen dot com>
- Date: Tue, 4 Jan 2005 02:34:57 -0800
- Subject: Re: Fix middle-end/17767
- References: <41DA5F7A.firstname.lastname@example.org>
On Tue, Jan 04, 2005 at 10:18:50AM +0100, Uros Bizjak wrote:
> This patch fixes PR target/17767 (middle-end/17767). fold_rtx () should
> handle vector modes, when two equal vectors are compared.
Should, yes, but this doesn't do it.
> The solution is to compose a false_rtx and true_rtx from
> VECTOR_STORE_FLAG_VALUE and return this vector as a result for vector
> modes, instead of only scalar const_false_rtx/const_true_rtx.
No, a *proper* solution is to perform the comparison element-by-element
as the real vector compare instruction does. Producing only 0 or
only 0xffff_ffff_ffff_ffff is no good.
I think you should just always skip vector compares for 4.0.