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]

r278245 - in /trunk/gcc: ChangeLog config/aarch...


Author: rsandifo
Date: Thu Nov 14 15:31:25 2019
New Revision: 278245

URL: https://gcc.gnu.org/viewcvs?rev=278245&root=gcc&view=rev
Log:
Vectorise conversions between differently-sized integer vectors

This patch adds AArch64 patterns for converting between 64-bit and
128-bit integer vectors, and makes the vectoriser and expand pass
use them.

2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-cfg.c (verify_gimple_assign_unary): Handle conversions
	between vector types.
	* tree-vect-stmts.c (vectorizable_conversion): Extend the
	non-widening and non-narrowing path to handle standard
	conversion codes, if the target supports them.
	* expr.c (convert_move): Try using the extend and truncate optabs
	for vectors.
	* optabs-tree.c (supportable_convert_operation): Likewise.
	* config/aarch64/iterators.md (Vnarroqw): New iterator.
	* config/aarch64/aarch64-simd.md (<optab><Vnarrowq><mode>2)
	(trunc<mode><Vnarrowq>2): New patterns.

gcc/testsuite/
	* gcc.dg/vect/bb-slp-pr69907.c: Do not expect BB vectorization
	to fail for aarch64 targets.
	* gcc.dg/vect/no-scevccp-outer-12.c: Expect the test to pass
	on aarch64 targets.
	* gcc.dg/vect/vect-double-reduc-5.c: Likewise.
	* gcc.dg/vect/vect-outer-4e.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_5.c: New test.
	* gcc.target/aarch64/vect_mixed_sizes_6.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_7.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_8.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_9.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_10.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_11.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_12.c: Likewise.
	* gcc.target/aarch64/vect_mixed_sizes_13.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_10.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_11.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_12.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_13.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_5.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_6.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_7.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_8.c
    trunk/gcc/testsuite/gcc.target/aarch64/vect_mixed_sizes_9.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64-simd.md
    trunk/gcc/config/aarch64/iterators.md
    trunk/gcc/expr.c
    trunk/gcc/optabs-tree.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vect/bb-slp-pr69907.c
    trunk/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-12.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-double-reduc-5.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-outer-4e.c
    trunk/gcc/tree-cfg.c
    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]