[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