r216541 - in /trunk/gcc: ChangeLog config/i386/...

jakub@gcc.gnu.org jakub@gcc.gnu.org
Wed Oct 22 06:58:00 GMT 2014


Author: jakub
Date: Wed Oct 22 06:58:57 2014
New Revision: 216541

URL: https://gcc.gnu.org/viewcvs?rev=216541&root=gcc&view=rev
Log:
	PR target/63594
	* config/i386/i386.c (ix86_expand_vector_init_duplicate): For
	V{8HI,16QI,16HI,32QI}mode call ix86_vector_duplicate_value
	even for just TARGET_AVX2, not only for
	TARGET_AVX512VL && TARGET_AVX512BW.  For V{32HI,64QI}mode,
	call ix86_vector_duplicate_value only if TARGET_AVX512BW,
	otherwise build it using concatenation of 256-bit
	broadcast.
	* config/i386/sse.md (AVX_VEC_DUP_MODE): Moved after
	avx512 broadcast patterns.
	(vec_dup<mode>): Likewise.  For avx2 use
	v<sseintprefix>broadcast<bcstscalarsuff> instead of
	vbroadcast<ssescalarmodesuffix>.
	(AVX2_VEC_DUP_MODE): New mode iterator.
	(*vec_dup<mode>): New TARGET_AVX2 define_insn with
	AVX2_VEC_DUP_MODE iterator, add a splitter for that.

	* gcc.dg/pr63594-1.c: New test.
	* gcc.dg/pr63594-2.c: New test.
	* gcc.target/i386/sse2-pr63594-1.c: New test.
	* gcc.target/i386/sse2-pr63594-2.c: New test.
	* gcc.target/i386/avx-pr63594-1.c: New test.
	* gcc.target/i386/avx-pr63594-2.c: New test.
	* gcc.target/i386/avx2-pr63594-1.c: New test.
	* gcc.target/i386/avx2-pr63594-2.c: New test.
	* gcc.target/i386/avx512f-pr63594-1.c: New test.
	* gcc.target/i386/avx512f-pr63594-2.c: New test.
	* gcc.target/i386/avx512f-vec-init.c: Adjust expected
	insn counts.

Added:
    trunk/gcc/testsuite/gcc.dg/pr63594-1.c
    trunk/gcc/testsuite/gcc.dg/pr63594-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx-pr63594-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx-pr63594-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx2-pr63594-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx2-pr63594-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-pr63594-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-pr63594-2.c
    trunk/gcc/testsuite/gcc.target/i386/sse2-pr63594-1.c
    trunk/gcc/testsuite/gcc.target/i386/sse2-pr63594-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/sse.md
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vec-init.c



More information about the Gcc-cvs mailing list