On 1 February 2011 11:47, Ira Rosen ira.rosen@linaro.org wrote:
Thanks a lot! It seems to work. It fixed the problem and I am now testing the patch on the rest of the vectorizer testsuite.
After testing only with the vectorizer testsuite (which contains at least 30 tests for strided accesses), I'd appreciate comments on the patch before I start full testing (cross testing with qemu doesn't work so well for NEON).
Thanks, Ira
ChangeLog:
* config/arm/neon.md (UNSPEC_EXTEVEN): New constant. (UNSPEC_EXTODD, UNSPEC_INTERHI, UNSPEC_INTERLO): Likewise. (neon_vuzp<mode>_extract): New instruction pattern. (vec_extract_even<mode>): New expander. (vec_extract_odd<mode>): Likewise. (neon_vzip<mode>_interleave): New instruction pattern. (vec_interleave_high<mode>): New expander. (vec_interleave_low<mode>): Likewise.
testsuite/ChangeLog:
* lib/target-supports.exp (check_effective_target_vect_extract_even_odd): Add NEON to the list of supporting targets. (check_effective_target_vect_extract_even_odd_wide, check_effective_target_vect_interleave): Likewise.