[patch] [vectorizer, spu] vec_interleave, vec_extract_{odd,even} and vec_trunc expanders for SPU
Victor Kaplansky
VICTORK@il.ibm.com
Mon Aug 25 15:37:00 GMT 2008
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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-extract.diff
Type: application/octet-stream
Size: 19042 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080825/fdbe46cb/attachment.obj>
More information about the Gcc-patches
mailing list