This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR44284, missed vectorization of unsigned <-> signed conversions
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 29 May 2010 10:07:02 -0700
- Subject: Re: [PATCH] Fix PR44284, missed vectorization of unsigned <-> signed conversions
- References: <alpine.LNX.2.00.1005271354160.1429@zhemvz.fhfr.qr>
On Thu, May 27, 2010 at 4:56 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> This fixes PR44284 by treating sign-changing conversions as simple
> copies (using a V_C_E on the tree level).
>
> It unfortunately requires a load of testcase adjustments as
> initializer loops are now vectorized. ?Fixed by preventing
> vectorization of these unrelated loops with some asm("").
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, committed to trunk.
>
> Thanks,
> Richard.
>
> 2010-05-27 ?Richard Guenther ?<rguenther@suse.de>
>
> ? ? ? ?PR tree-optimization/44284
> ? ? ? ?* tree-vect-stmts.c (vectorizable_assignment): Handle
> ? ? ? ?sign-changing conversions as simple copy.
>
> ? ? ? ?* gcc.dg/vect/vect-118.c: New testcase.
> ? ? ? ?* gcc.dg/vect/bb-slp-20.c: Adjust.
> ? ? ? ?* gcc.dg/vect/no-section-anchors-vect-36.c: Likewise.
> ? ? ? ?* gcc.dg/vect/slp-9.c: Likewise.
> ? ? ? ?* gcc.dg/vect/slp-reduc-4.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-10.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-109.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-12.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-36.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-7.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-iv-8.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-10.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-13.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-14.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-15.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-7.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-8.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-multitypes-9.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-strided-u32-mult.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-widen-mult-s16.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-widen-mult-s8.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-widen-mult-sum.c: Likewise.
> ? ? ? ?* gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
>
This may have caused:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44325
--
H.J.