diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2012-04-12 20:37:42 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-04-12 20:37:42 +0200 |
commit | 2ff5ea2db9172bd09d3cef8e6fa57dfffabd96ff (patch) | |
tree | 34aa5f05cd84d11ce0804a1ab11eb52429dedd93 /gcc/tree-ssa-reassoc.c | |
parent | c3f8384f9474f4f354226523e33a47bc6a1e6c57 (diff) | |
download | gcc-2ff5ea2db9172bd09d3cef8e6fa57dfffabd96ff.zip gcc-2ff5ea2db9172bd09d3cef8e6fa57dfffabd96ff.tar.gz gcc-2ff5ea2db9172bd09d3cef8e6fa57dfffabd96ff.tar.bz2 |
re PR target/52932 (AVX2 intrinsic _mm256_permutevar8x32_ps has wrong parameter type)
PR target/52932
* config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
* config/i386/sse.md (UNSPEC_VPERMVAR): New.
(UNSPEC_VPERMSI, UNSPEC_VPERMSF): Remove.
(avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
(avx2_permvar<mode>): Macroize insn from avx2_permvarv8sf and
avx2_permvarv8si using VI4F_256 mode iterator.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
Update builtin type to V8SF_FTYPE_V8SF_V8SI.
(ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
gen_avx2_permvarv8sf.
(expand_vec_perm_pshufb): Ditto.
testsuite/ChangeLog:
PR target/52932
* gcc.target/i386/avx2-vpermps-1.c (avx2_test): Use __m256i type for
second function argument.
* gcc.target/i386/avx2-vpermps-2.c (init_permps): Update declaration.
(calc_permps): Update declaration. Calculate result correctly.
(avx2_test): Change src2 type to union256i_d.
* gcc.target/i386/avx2-vpermd-2.c (calc_permd): Calculate result
correctly.
From-SVN: r186388
Diffstat (limited to 'gcc/tree-ssa-reassoc.c')
0 files changed, 0 insertions, 0 deletions