[PATCH, AArch64] Enable shuffle on big-endian and turn on the testsuite

Alan Lawrence alan.lawrence@arm.com
Fri Apr 11 18:21:00 GMT 2014


As a followup to http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00079.html, which 
implements the shuffle operation but still leaves that unused - if/once that's 
gone in, I see no reason now we can't start using it, and enable the appropriate 
tests. I see the following test changes:

FAIL->PASS:
gcc.c-torture/execute/20000112-1.c execution,  -O0
gcc.c-torture/execute/20000112-1.c execution,  -O1
gcc.c-torture/execute/900409-1.c execution,  -O0
gcc.c-torture/execute/900409-1.c execution,  -O1
gcc.c-torture/execute/ieee/20000320-1.c execution,  -O0
gcc.c-torture/execute/ieee/20000320-1.c execution,  -O1
gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "dependence 
distance negative" 1
gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "dependence 
distance negative" 4
gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
gcc.dg/vect/slp-perm-1.c -flto -ffat-lto-objects execution test
gcc.dg/vect/slp-perm-1.c execution test
gcc.dg/vect/slp-perm-3.c -flto -ffat-lto-objects execution test
gcc.dg/vect/slp-perm-3.c execution test
gcc.dg/vect/slp-perm-5.c -flto -ffat-lto-objects execution test
gcc.dg/vect/slp-perm-5.c execution test
gcc.dg/vect/slp-perm-6.c -flto -ffat-lto-objects execution test
gcc.dg/vect/slp-perm-6.c execution test
gcc.dg/vect/slp-perm-7.c -flto -ffat-lto-objects execution test
gcc.dg/vect/slp-perm-7.c execution test

UNSUPPORTED/NA->PASS:
gcc.dg/vect/nodump-forwprop-22.c (test for excess errors)
gcc.dg/vect/nodump-forwprop-22.c scan-tree-dump-not copyprop1 "BIT_FIELD_REF"
gcc.dg/vect/nodump-forwprop-22.c scan-tree-dump-times copyprop1 "VEC_PERM_EXPR" 1
gcc.dg/vect/pr43432.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/pr43432.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/pr45752.c -flto -ffat-lto-objects  scan-tree-dump vect "permutation 
requires at least three vectors"
gcc.dg/vect/pr45752.c scan-tree-dump vect "permutation requires at least three 
vectors"
gcc.dg/vect/slp-38.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops in function" 1
gcc.dg/vect/slp-38.c scan-tree-dump-times vect "vectorized 1 loops in function" 1
gcc.dg/vect/slp-perm-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/slp-perm-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/slp-perm-1.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/slp-perm-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/slp-perm-2.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/slp-perm-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/slp-perm-3.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-4.c -flto -ffat-lto-objects  scan-tree-dump vect 
"permutation requires at least three vectors"
gcc.dg/vect/slp-perm-4.c scan-tree-dump vect "permutation requires at least 
three vectors"
gcc.dg/vect/slp-perm-5.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/slp-perm-5.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
gcc.dg/vect/slp-perm-5.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/slp-perm-5.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
gcc.dg/vect/slp-perm-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/slp-perm-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 2
gcc.dg/vect/slp-perm-6.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/slp-perm-6.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
gcc.dg/vect/slp-perm-7.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/slp-perm-7.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorizing stmts using SLP" 1
gcc.dg/vect/slp-perm-7.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/slp-perm-7.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
gcc.dg/vect/vect-114.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/vect-114.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/vect-15-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times 
vect "vectorized 1 loops" 1
gcc.dg/vect/vect-15-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
gcc.dg/vect/vect-15.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 1 loops" 1
gcc.dg/vect/vect-15.c scan-tree-dump-times vect "vectorized 1 loops" 1


Also a PASS->NA:
gcc.dg/vect/vect-114.c -flto -ffat-lto-objects  scan-tree-dump-times vect 
"vectorized 0 loops" 1
gcc.dg/vect/vect-114.c scan-tree-dump-times vect "vectorized 0 loops" 1

Ok for stage 1 (repeat, only after 
http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00079.html) ?


gcc/ChangeLog:
2014-04-11  Alan Lawrence  <alan.lawrence@arm.com>

	* config/aarch64/aarch64.c (aarch64_evpc_tbl): enable for bigendian.

gcc/testsuite/ChangeLog:
2014-04-11  Alan Lawrence  <alan.lawrence@arm.com>

	* lib/target-supports.exp (check_effective_target_vect_perm): return
	true for aarch64_be.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: enable_tejas.patch
Type: text/x-patch
Size: 1147 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140411/baf8c1d5/attachment.bin>


More information about the Gcc-patches mailing list