This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Author: jakub
Date: Tue Dec 18 11:22:00 2018
New Revision: 267228

URL: https://gcc.gnu.org/viewcvs?rev=267228&root=gcc&view=rev
Log:
	PR target/88513
	PR target/88514
	* optabs.def (vec_pack_sbool_trunc_optab, vec_unpacks_sbool_hi_optab,
	vec_unpacks_sbool_lo_optab): New optabs.
	* optabs.c (expand_widen_pattern_expr): Use vec_unpacks_sbool_*_optab
	and pass additional argument if both input and target have the same
	scalar mode of VECTOR_BOOLEAN_TYPE_P vectors.
	* expr.c (expand_expr_real_2) <case VEC_PACK_TRUNC_EXPR>: Handle
	VECTOR_BOOLEAN_TYPE_P pack where result has the same scalar mode
	as the operands using vec_pack_sbool_trunc_optab.
	* tree-vect-stmts.c (supportable_widening_operation): Use
	vec_unpacks_sbool_{lo,hi}_optab for VECTOR_BOOLEAN_TYPE_P conversions
	where both wider_vectype and vectype have the same scalar mode.
	(supportable_narrowing_operation): Similarly use
	vec_pack_sbool_trunc_optab if narrow_vectype and vectype have the same
	scalar mode.
	* config/i386/i386.c (ix86_get_builtin)
	<case IX86_BUILTIN_GATHER3ALTDIV8SF>: Check for VECTOR_MODE_P
	rather than non-VOIDmode.
	* config/i386/sse.md (vec_pack_trunc_qi, vec_pack_trunc_<mode>):
	Remove useless ()s around "register_operand", formatting fixes.
	(vec_pack_sbool_trunc_qi, vec_unpacks_sbool_lo_qi,
	vec_unpacks_sbool_hi_qi): New expanders.
	* doc/md.texi (vec_pack_sbool_trunc_M, vec_unpacks_sbool_hi_M,
	vec_unpacks_sbool_lo_M): Document.

	* gcc.target/i386/avx512f-pr88513-1.c: New test.
	* gcc.target/i386/avx512f-pr88513-2.c: New test.
	* gcc.target/i386/avx512vl-pr88464-1.c: New test.
	* gcc.target/i386/avx512vl-pr88464-2.c: New test.
	* gcc.target/i386/avx512vl-pr88464-3.c: New test.
	* gcc.target/i386/avx512vl-pr88464-4.c: New test.
	* gcc.target/i386/avx512vl-pr88513-1.c: New test.
	* gcc.target/i386/avx512vl-pr88513-2.c: New test.
	* gcc.target/i386/avx512vl-pr88513-3.c: New test.
	* gcc.target/i386/avx512vl-pr88513-4.c: New test.
	* gcc.target/i386/avx512vl-pr88514-1.c: New test.
	* gcc.target/i386/avx512vl-pr88514-2.c: New test.
	* gcc.target/i386/avx512vl-pr88514-3.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/i386/avx512f-pr88513-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-pr88513-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-3.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88464-4.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88513-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88513-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88513-3.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88513-4.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88514-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88514-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-pr88514-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/sse.md
    trunk/gcc/doc/md.texi
    trunk/gcc/expr.c
    trunk/gcc/optabs.c
    trunk/gcc/optabs.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-stmts.c


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]