This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] [vectorizer, spu] vec_interleave, vec_extract_{odd,even} and vec_trunc expanders for SPU
- From: <trevor_smigiel at playstation dot sony dot com>
- To: Victor Kaplansky <VICTORK at il dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Ulrich Weigand <Ulrich dot Weigand at de dot ibm dot com>
- Date: Mon, 25 Aug 2008 11:43:06 -0700
- Subject: Re: [patch] [vectorizer, spu] vec_interleave, vec_extract_{odd,even} and vec_trunc expanders for SPU
- References: <OF55E4D7AC.A0C6547F-ONC22574B0.004C870D-C22574B0.004F62CE@il.ibm.com>
Ok for mainline.
Trevor
* Victor Kaplansky <VICTORK@il.ibm.com> [2008-08-25 07:30]:
>
> This implements some missing vec_interleave, vec_extract_{odd,even}
> and vec_pack_trunc expanders for SPU to make vectorizing of strided
> accesses and short to int conversions possible on SPU.
>
> Boostrapped and regtested on x86. Regtested on SPU.
>
> OK for mainline?
> -- Victor
>
> Changelog
>
> 2008-08-25 Victor Kaplansky <victork@il.ibm.com>.
>
> * gcc/config/spu/spu.md (vec_extract_evenv4si,
> vec_extract_evenv4sf, vec_extract_evenv8hi,
> vec_extract_evenv16qi, vec_extract_oddv4si,
> vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
> vec_interleave_highv4sf, vec_interleave_lowv4sf,
> vec_interleave_highv4si, vec_interleave_lowv4si,
> vec_interleave_highv8hi, vec_interleave_lowv8hi,
> vec_interleave_highv16qi, vec_interleave_lowv16qi,
> vec_pack_trunc_v8hi, vec_pack_trunc_v4si): Implement.
>
> Testsuite Changelog
>
> 2008-08-25 Victor Kaplansky <victork@il.ibm.com>
>
> * gcc.dg/vect/slp-18.c: Require vect_intfloat_cvt.
> * gcc.dg/vect/slp-11.c: Likewise.
> * gcc.dg/vect/fast-math-pr35982.c: Likewise.
> * lib/target-supports.exp:
> (check_effective_target_vect_pack_trunc): Add SPU to the list.,
> (check_effective_target_vect_extract_even_odd): Likewise.
> (check_effective_target_vect_extract_even_odd_wide): Likewise.
> (check_effective_target_vect_interleave): Likewise.:
>
> (See attached file: patch-extract.diff)