public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Fix vector tests on ARM platforms with disabled unaligned accesses
@ 2014-07-23 14:27 Marat Zakirov
  2014-07-24 12:36 ` [PATCHv2] " Marat Zakirov
  2014-07-24 15:31 ` [PATCH] " Ramana Radhakrishnan
  0 siblings, 2 replies; 11+ messages in thread
From: Marat Zakirov @ 2014-07-23 14:27 UTC (permalink / raw)
  To: gcc-patches; +Cc: Richard Biener, Cong Hou, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 2128 bytes --]

Hi there!

I made a patch which fixes regressions on ARM platforms with disabled 
unaligned accesses. The problem is that 'arm_vect_no_misalign' predicate 
do not check 'unaligned_access' global variable to determine whether 
unaligned access to vector are allowed. This leads to spurious vect.exp 
test fails when GCC is configured 
--with-specs=%{!munaligned-access:-mno-unaligned-access}.

Attached patch fixes ARM predicate and several tests to correctly handle 
the issue.

The following targets were reg. tested for multiple targets (ARM, 
Thumb-1, Thumb-2, x86, x86_64) with and without -mno-unaligned-access.  
Analysis showed patch affects only  vect.exp tests so only vect.exp was 
tested.

For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 without 
-mno-unaligned-access and Thumb-1 no regressions occured.  For 
ARM/Thumb2 with -mno-unaligned-access patch fixed most of failures but 
triggered some problems (see attached log) for current vect.exp tests:
1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
2) Some XPASS'es due to unexpected loop versioning (e.g. 
gcc.dg/vect/pr33804.c).
3) After predicate fix some passing tests which require unaligned vector 
support become NA (this was expected).

P.S.

Here used configurations:

ARM_BASE = configure --build=x86_64-pc-linux-gnu 
--host=x86_64-pc-linux-gnu --target=arm-linux-gnueabi --with-interwork 
--enable-long-long --enable-languages=c,c++,fortran --enable-shared 
--with-gnu-as --with-gnu-ld

ARM
$ARM_BASE  --with-mode=arm --with-arch=armv7-a

ARM with -mno-unaligned-access option
$ARM_BASE --with-mode=arm --with-arch=armv7-a 
--with-specs=%{!munaligned-access:-mno-unaligned-access}

Thumb-2
$ARM_BASE --with-mode=thumb --with-arch=armv7-a

Thumb-2 with -mno-unaligned-access
$ARM_BASE --with-mode=thumb --with-arch=armv7-a 
--with-specs=%{!munaligned-access:-mno-unaligned-access}

Thumb-1
$ARM_BASE --with-mode=thumb --with-arch=armv4t

Thumb-1 with -mno-unaligned-access
$ARM_BASE --with-mode=thumb --with-arch=armv4t 
--with-specs=%{!munaligned-access:-mno-unaligned-access}

x86
configure --enable-languages=c,c++,fortran

--Marat

[-- Attachment #2: unalign.diff --]
[-- Type: text/x-patch, Size: 2005 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..fb87e2c 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target { vect_int && {! vect_no_align } } } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 5290a55..190483c 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,7 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__) \
 	        && (!defined(__thumb__) || defined(__thumb2__)))
 	#error FOO
 	#endif

[-- Attachment #3: arm_regs.log --]
[-- Type: text/x-log, Size: 20743 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Tue Jul 22 12:12:27 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Tue Jul 22 12:22:35 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

UNRESOLVED->NA: gcc.dg/vect/bb-slp-10.c -flto  scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-24.c -flto  scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-25.c -flto  scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-29.c -flto  scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-cond-1.c -flto  scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto  scan-tree-dump-times slp "basic block vectorized using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp "basic block vectorized using SLP" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->UNRESOLVED: gcc.dg/vect/pr16105.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNRESOLVED: gcc.dg/vect/pr20122.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
UNRESOLVED->NA: gcc.dg/vect/slp-23.c -flto  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
FAIL->XFAIL: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->UNRESOLVED: gcc.dg/vect/vect-105-big-array.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNRESOLVED: gcc.dg/vect/vect-105.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNRESOLVED: gcc.dg/vect/vect-27.c -flto  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-29.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-42.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
UNRESOLVED->NA: gcc.dg/vect/vect-42.c -flto  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->UNRESOLVED: gcc.dg/vect/vect-44.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->UNRESOLVED: gcc.dg/vect/vect-48.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->UNRESOLVED: gcc.dg/vect/vect-50.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->UNRESOLVED: gcc.dg/vect/vect-52.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
UNRESOLVED->NA: gcc.dg/vect/vect-56.c -flto  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
UNRESOLVED->NA: gcc.dg/vect/vect-56.c -flto  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
UNRESOLVED->NA: gcc.dg/vect/vect-60.c -flto  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
UNRESOLVED->NA: gcc.dg/vect/vect-60.c -flto  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-75-big-array.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-75.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-77-alignchecks.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-77-global.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-78-alignchecks.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-78-global.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-93.c -flto  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->UNRESOLVED: gcc.dg/vect/vect-93.c -flto  scan-tree-dump-times vect "vectorized 2 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->UNRESOLVED: gcc.dg/vect/vect-95.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->UNRESOLVED: gcc.dg/vect/vect-95.c -flto  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->UNRESOLVED: gcc.dg/vect/vect-96.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
UNRESOLVED->NA: gcc.dg/vect/vect-96.c -flto  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->UNRESOLVED: gcc.dg/vect/vect-multitypes-3.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
UNRESOLVED->NA: gcc.dg/vect/vect-multitypes-4.c -flto  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
UNRESOLVED->NA: gcc.dg/vect/vect-multitypes-4.c -flto  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->UNRESOLVED: gcc.dg/vect/vect-multitypes-6.c -flto  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
UNRESOLVED->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
UNRESOLVED->NA: gcc.dg/vect/vect-outer-4c.c -flto  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Tue Jul 22 12:12:27 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Tue Jul 22 12:22:35 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

FAIL->XFAIL: gfortran.dg/vect/vect-2.f90  -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90  -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90  -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90  -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90  -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90  -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90  -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90  -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90  -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90  -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90  -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Tue Jul 22 12:12:27 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Tue Jul 22 12:22:35 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Tue Jul 22 12:12:26 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Tue Jul 22 12:22:35 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Tue Jul 22 12:12:26 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Tue Jul 22 12:22:34 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Tue Jul 22 12:12:26 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Tue Jul 22 12:22:34 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is ""

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Tue Jul 22 12:12:26 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign//build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Tue Jul 22 12:22:35 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCHv2] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-07-23 14:27 [PATCH] Fix vector tests on ARM platforms with disabled unaligned accesses Marat Zakirov
@ 2014-07-24 12:36 ` Marat Zakirov
  2014-07-24 15:44   ` [PATCHv3] " Marat Zakirov
  2014-07-24 15:31 ` [PATCH] " Ramana Radhakrishnan
  1 sibling, 1 reply; 11+ messages in thread
From: Marat Zakirov @ 2014-07-24 12:36 UTC (permalink / raw)
  To: gcc-patches; +Cc: Richard Biener, Cong Hou, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 1942 bytes --]


On 07/23/2014 06:23 PM, Marat Zakirov wrote:
> Hi there!
>
> I made a patch which fixes regressions on ARM platforms with disabled 
> unaligned accesses. The problem is that 'arm_vect_no_misalign' 
> predicate do not check 'unaligned_access' global variable to determine 
> whether unaligned access to vector are allowed. This leads to spurious 
> vect.exp test fails when GCC is configured 
> --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>
> Attached patch fixes ARM predicate and several tests to correctly 
> handle the issue.
>
> The following targets were reg. tested for multiple targets (ARM, 
> Thumb-1, Thumb-2, x86, x86_64) with and without 
> -mno-unaligned-access.  Analysis showed patch affects only vect.exp 
> tests so only vect.exp was tested.
>
> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 without 
> -mno-unaligned-access and Thumb-1 no regressions occured. For 
> ARM/Thumb2 with -mno-unaligned-access patch fixed most of failures but 
> triggered some problems (see attached log) for current vect.exp tests:
> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
> 2) Some XPASS'es due to unexpected loop versioning (e.g. 
> gcc.dg/vect/pr33804.c).
> 3) After predicate fix some passing tests which require unaligned 
> vector support become NA (this was expected).
>
Here is new version of patch and regression log. On the current trunk 
results are slightly different due to patches for Richard Biener (no 
UNRESOLVED fails) but some  PASS->XPASS regressions still remain (see 
attachment):

PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects 
scan-tree-dump-times vect "vectorized 1 loops" 1
etc.

These XPASS'es are due to code versioning: current GCC creates 2 
versions of loop: aligned and misaligned. It's look like they are 
slightly out of date at lest for ARM.





[-- Attachment #2: unalign2.diff --]
[-- Type: text/x-patch, Size: 2656 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..42251e8 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,7 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__) \
 	        && (!defined(__thumb__) || defined(__thumb2__)))
 	#error FOO
 	#endif

[-- Attachment #3: arm_regs2.log --]
[-- Type: text/x-log, Size: 30527 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 13:09:25 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

FAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->FAIL: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->FAIL: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects  scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp1 "basic block vectorized" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->PASS: gcc.dg/vect/pr16105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
FAIL->XFAIL: gcc.dg/vect/pr56787.c -flto -ffat-lto-objects  scan-tree-dump vect "vectorized 1 loops"
FAIL->XFAIL: gcc.dg/vect/pr56787.c scan-tree-dump vect "vectorized 1 loops"
PASS->XPASS: gcc.dg/vect/pr58508.c -flto -ffat-lto-objects  scan-tree-dump-times vect "hoist" 3
PASS->XPASS: gcc.dg/vect/pr58508.c scan-tree-dump-times vect "hoist" 3
PASS->NA: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c
PASS->NA: gcc.dg/vect/vect-109.c execution test
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects execution test
XFAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects (test for excess errors)
XFAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c (test for excess errors)
NA->PASS: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
XPASS->PASS: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->PASS: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c -flto -ffat-lto-objects  scan-tree-dump vect "zero step in outer loop."
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 13:09:25 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->FAIL: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 5 loops" 1
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 13:09:25 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 13:09:24 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 13:09:24 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 13:09:24 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 13:09:24 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-07-23 14:27 [PATCH] Fix vector tests on ARM platforms with disabled unaligned accesses Marat Zakirov
  2014-07-24 12:36 ` [PATCHv2] " Marat Zakirov
@ 2014-07-24 15:31 ` Ramana Radhakrishnan
  1 sibling, 0 replies; 11+ messages in thread
From: Ramana Radhakrishnan @ 2014-07-24 15:31 UTC (permalink / raw)
  To: Marat Zakirov; +Cc: gcc-patches, Richard Biener, Cong Hou, Yury Gribov

>
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c
> b/gcc/testsuite/gcc.dg/vect/vect-109.c
> index 854c970..fb87e2c 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-109.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
> @@ -1,4 +1,4 @@
> -/* { dg-require-effective-target vect_int } */
> +/* { dg-require-effective-target { vect_int && {! vect_no_align } } } */
>
>  #include <stdarg.h>
>  #include "tree-vect.h"
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c
> b/gcc/testsuite/gcc.dg/vect/vect-93.c
> index 65403eb..1065a6e 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-93.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
> @@ -79,7 +79,7 @@ int main (void)
>  /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target
> vect_no_align } } } */
>
>  /* in main: */
> -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target
> vect_no_align } } } */
> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target
> vect_no_align } } } */
>  /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
> "vect" { xfail { vect_no_align } } } } */
>
>  /* { dg-final { cleanup-tree-dump "vect" } } */
> diff --git a/gcc/testsuite/lib/target-supports.exp
> b/gcc/testsuite/lib/target-supports.exp
> index 5290a55..190483c 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -2293,7 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
>  proc check_effective_target_arm_vect_no_misalign { } {
>      return [check_no_compiler_messages arm_vect_no_misalign assembly {
>         #if !defined(__arm__) \

This is redundant.

> -           || (defined(__ARMEL__) \
> +           || (defined(__ARM_FEATURE_UNALIGNED) \
> +               && defined(__ARMEL__) \


>                 && (!defined(__thumb__) || defined(__thumb2__)))

As is this line.

I think you can restrict the check to defined(__ARM_FEATURE_UNALIGNED)
&& defined(__ARMEL__)

 __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
allowed or not, therefore you should no longer require any specific
"architectural" checks.


>         #error FOO
>         #endif
>


I'm not sure about the original intent of the tests right now.

Ramana

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-07-24 12:36 ` [PATCHv2] " Marat Zakirov
@ 2014-07-24 15:44   ` Marat Zakirov
  2014-07-31 12:21     ` [PING][PATCHv3] " Marat Zakirov
  0 siblings, 1 reply; 11+ messages in thread
From: Marat Zakirov @ 2014-07-24 15:44 UTC (permalink / raw)
  To: gcc-patches; +Cc: Ramana Radhakrishnan, Cong Hou, Richard Biener, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 2771 bytes --]


On 07/24/2014 04:27 PM, Marat Zakirov wrote:
>
> On 07/23/2014 06:23 PM, Marat Zakirov wrote:
>> Hi there!
>>
>> I made a patch which fixes regressions on ARM platforms with disabled 
>> unaligned accesses. The problem is that 'arm_vect_no_misalign' 
>> predicate do not check 'unaligned_access' global variable to 
>> determine whether unaligned access to vector are allowed. This leads 
>> to spurious vect.exp test fails when GCC is configured 
>> --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>>
>> Attached patch fixes ARM predicate and several tests to correctly 
>> handle the issue.
>>
>> The following targets were reg. tested for multiple targets (ARM, 
>> Thumb-1, Thumb-2, x86, x86_64) with and without 
>> -mno-unaligned-access.  Analysis showed patch affects only vect.exp 
>> tests so only vect.exp was tested.
>>
>> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 without 
>> -mno-unaligned-access and Thumb-1 no regressions occured. For 
>> ARM/Thumb2 with -mno-unaligned-access patch fixed most of failures 
>> but triggered some problems (see attached log) for current vect.exp 
>> tests:
>> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
>> 2) Some XPASS'es due to unexpected loop versioning (e.g. 
>> gcc.dg/vect/pr33804.c).
>> 3) After predicate fix some passing tests which require unaligned 
>> vector support become NA (this was expected).
>>
> Here is new version of patch and regression log. On the current trunk 
> results are slightly different due to patches for Richard Biener (no 
> UNRESOLVED fails) but some  PASS->XPASS regressions still remain (see 
> attachment):
>
> PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
> scan-tree-dump-times vect "vectorized 1 loops" 1
> PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects 
> scan-tree-dump-times vect "vectorized 1 loops" 1
> etc.
>
> These XPASS'es are due to code versioning: current GCC creates 2 
> versions of loop: aligned and misaligned. It's look like they are 
> slightly out of date at lest for ARM.
>

On 07/24/2014 06:50 PM, Ramana Radhakrishnan wrote:
> This is redundant.
>
>> -           || (defined(__ARMEL__) \
>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>> +               && defined(__ARMEL__) \
>>                  && (!defined(__thumb__) || defined(__thumb2__)))
> As is this line.
>
> I think you can restrict the check to defined(__ARM_FEATURE_UNALIGNED)
> && defined(__ARMEL__)
>
>   __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
> allowed or not, therefore you should no longer require any specific
> "architectural" checks.
>
>
>>          #error FOO
>>          #endif
>>
> I'm not sure about the original intent of the tests right now.
>
> Ramana
>

Thank you Ramana!

--Marat

[-- Attachment #2: arm_regs3.log --]
[-- Type: text/x-log, Size: 30736 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->PASS: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
NA->PASS: gcc.dg/vect/bb-slp-10.c scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects  scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp1 "basic block vectorized" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->PASS: gcc.dg/vect/pr16105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
FAIL->XFAIL: gcc.dg/vect/pr56787.c -flto -ffat-lto-objects  scan-tree-dump vect "vectorized 1 loops"
FAIL->XFAIL: gcc.dg/vect/pr56787.c scan-tree-dump vect "vectorized 1 loops"
PASS->XPASS: gcc.dg/vect/pr58508.c -flto -ffat-lto-objects  scan-tree-dump-times vect "hoist" 3
PASS->XPASS: gcc.dg/vect/pr58508.c scan-tree-dump-times vect "hoist" 3
PASS->NA: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c
PASS->NA: gcc.dg/vect/vect-109.c execution test
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects execution test
XFAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects (test for excess errors)
XFAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c (test for excess errors)
NA->PASS: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
XPASS->PASS: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->PASS: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c -flto -ffat-lto-objects  scan-tree-dump vect "zero step in outer loop."
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 19:17:06 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->FAIL: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 5 loops" 1
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


[-- Attachment #3: unalign3.diff --]
[-- Type: text/x-patch, Size: 2663 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
-	        && (!defined(__thumb__) || defined(__thumb2__)))
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__))
 	#error FOO
 	#endif
     }]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PING][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-07-24 15:44   ` [PATCHv3] " Marat Zakirov
@ 2014-07-31 12:21     ` Marat Zakirov
  2014-08-07  8:52       ` [PINGv2][PATCHv3] " Marat Zakirov
  0 siblings, 1 reply; 11+ messages in thread
From: Marat Zakirov @ 2014-07-31 12:21 UTC (permalink / raw)
  To: gcc-patches; +Cc: Ramana Radhakrishnan, Cong Hou, Richard Biener, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 2898 bytes --]


On 07/24/2014 07:40 PM, Marat Zakirov wrote:
>
> On 07/24/2014 04:27 PM, Marat Zakirov wrote:
>>
>> On 07/23/2014 06:23 PM, Marat Zakirov wrote:
>>> Hi there!
>>>
>>> I made a patch which fixes regressions on ARM platforms with 
>>> disabled unaligned accesses. The problem is that 
>>> 'arm_vect_no_misalign' predicate do not check 'unaligned_access' 
>>> global variable to determine whether unaligned access to vector are 
>>> allowed. This leads to spurious vect.exp test fails when GCC is 
>>> configured --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>>>
>>> Attached patch fixes ARM predicate and several tests to correctly 
>>> handle the issue.
>>>
>>> The following targets were reg. tested for multiple targets (ARM, 
>>> Thumb-1, Thumb-2, x86, x86_64) with and without 
>>> -mno-unaligned-access.  Analysis showed patch affects only vect.exp 
>>> tests so only vect.exp was tested.
>>>
>>> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 without 
>>> -mno-unaligned-access and Thumb-1 no regressions occured. For 
>>> ARM/Thumb2 with -mno-unaligned-access patch fixed most of failures 
>>> but triggered some problems (see attached log) for current vect.exp 
>>> tests:
>>> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
>>> 2) Some XPASS'es due to unexpected loop versioning (e.g. 
>>> gcc.dg/vect/pr33804.c).
>>> 3) After predicate fix some passing tests which require unaligned 
>>> vector support become NA (this was expected).
>>>
>> Here is new version of patch and regression log. On the current trunk 
>> results are slightly different due to patches for Richard Biener (no 
>> UNRESOLVED fails) but some  PASS->XPASS regressions still remain (see 
>> attachment):
>>
>> PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
>> scan-tree-dump-times vect "vectorized 1 loops" 1
>> PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects 
>> scan-tree-dump-times vect "vectorized 1 loops" 1
>> etc.
>>
>> These XPASS'es are due to code versioning: current GCC creates 2 
>> versions of loop: aligned and misaligned. It's look like they are 
>> slightly out of date at lest for ARM.
>>
>
> On 07/24/2014 06:50 PM, Ramana Radhakrishnan wrote:
>> This is redundant.
>>
>>> -           || (defined(__ARMEL__) \
>>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>>> +               && defined(__ARMEL__) \
>>>                  && (!defined(__thumb__) || defined(__thumb2__)))
>> As is this line.
>>
>> I think you can restrict the check to defined(__ARM_FEATURE_UNALIGNED)
>> && defined(__ARMEL__)
>>
>>   __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
>> allowed or not, therefore you should no longer require any specific
>> "architectural" checks.
>>
>>
>>>          #error FOO
>>>          #endif
>>>
>> I'm not sure about the original intent of the tests right now.
>>
>> Ramana
>>
>
> Thank you Ramana!
>
> --Marat


[-- Attachment #2: unalign3.diff --]
[-- Type: text/x-patch, Size: 2663 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
-	        && (!defined(__thumb__) || defined(__thumb2__)))
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__))
 	#error FOO
 	#endif
     }]

[-- Attachment #3: arm_regs3.log --]
[-- Type: text/x-log, Size: 30736 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->PASS: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
NA->PASS: gcc.dg/vect/bb-slp-10.c scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects  scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp1 "basic block vectorized" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->PASS: gcc.dg/vect/pr16105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
FAIL->XFAIL: gcc.dg/vect/pr56787.c -flto -ffat-lto-objects  scan-tree-dump vect "vectorized 1 loops"
FAIL->XFAIL: gcc.dg/vect/pr56787.c scan-tree-dump vect "vectorized 1 loops"
PASS->XPASS: gcc.dg/vect/pr58508.c -flto -ffat-lto-objects  scan-tree-dump-times vect "hoist" 3
PASS->XPASS: gcc.dg/vect/pr58508.c scan-tree-dump-times vect "hoist" 3
PASS->NA: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c
PASS->NA: gcc.dg/vect/vect-109.c execution test
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects execution test
XFAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects (test for excess errors)
XFAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c (test for excess errors)
NA->PASS: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
XPASS->PASS: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->PASS: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c -flto -ffat-lto-objects  scan-tree-dump vect "zero step in outer loop."
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 19:17:06 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->FAIL: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 5 loops" 1
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PINGv2][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-07-31 12:21     ` [PING][PATCHv3] " Marat Zakirov
@ 2014-08-07  8:52       ` Marat Zakirov
  2014-08-14 13:40         ` [PINGv3][PATCHv3] " Marat Zakirov
  0 siblings, 1 reply; 11+ messages in thread
From: Marat Zakirov @ 2014-08-07  8:52 UTC (permalink / raw)
  To: gcc-patches; +Cc: Ramana Radhakrishnan, Cong Hou, Richard Biener, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 3024 bytes --]


On 07/31/2014 04:08 PM, Marat Zakirov wrote:
>
> On 07/24/2014 07:40 PM, Marat Zakirov wrote:
>>
>> On 07/24/2014 04:27 PM, Marat Zakirov wrote:
>>>
>>> On 07/23/2014 06:23 PM, Marat Zakirov wrote:
>>>> Hi there!
>>>>
>>>> I made a patch which fixes regressions on ARM platforms with 
>>>> disabled unaligned accesses. The problem is that 
>>>> 'arm_vect_no_misalign' predicate do not check 'unaligned_access' 
>>>> global variable to determine whether unaligned access to vector are 
>>>> allowed. This leads to spurious vect.exp test fails when GCC is 
>>>> configured --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>>>>
>>>> Attached patch fixes ARM predicate and several tests to correctly 
>>>> handle the issue.
>>>>
>>>> The following targets were reg. tested for multiple targets (ARM, 
>>>> Thumb-1, Thumb-2, x86, x86_64) with and without 
>>>> -mno-unaligned-access.  Analysis showed patch affects only vect.exp 
>>>> tests so only vect.exp was tested.
>>>>
>>>> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 
>>>> without -mno-unaligned-access and Thumb-1 no regressions occured. 
>>>> For ARM/Thumb2 with -mno-unaligned-access patch fixed most of 
>>>> failures but triggered some problems (see attached log) for current 
>>>> vect.exp tests:
>>>> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
>>>> 2) Some XPASS'es due to unexpected loop versioning (e.g. 
>>>> gcc.dg/vect/pr33804.c).
>>>> 3) After predicate fix some passing tests which require unaligned 
>>>> vector support become NA (this was expected).
>>>>
>>> Here is new version of patch and regression log. On the current 
>>> trunk results are slightly different due to patches for Richard 
>>> Biener (no UNRESOLVED fails) but some PASS->XPASS regressions still 
>>> remain (see attachment):
>>>
>>> PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>> PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects 
>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>> etc.
>>>
>>> These XPASS'es are due to code versioning: current GCC creates 2 
>>> versions of loop: aligned and misaligned. It's look like they are 
>>> slightly out of date at lest for ARM.
>>>
>>
>> On 07/24/2014 06:50 PM, Ramana Radhakrishnan wrote:
>>> This is redundant.
>>>
>>>> -           || (defined(__ARMEL__) \
>>>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>>>> +               && defined(__ARMEL__) \
>>>>                  && (!defined(__thumb__) || defined(__thumb2__)))
>>> As is this line.
>>>
>>> I think you can restrict the check to defined(__ARM_FEATURE_UNALIGNED)
>>> && defined(__ARMEL__)
>>>
>>>   __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
>>> allowed or not, therefore you should no longer require any specific
>>> "architectural" checks.
>>>
>>>
>>>>          #error FOO
>>>>          #endif
>>>>
>>> I'm not sure about the original intent of the tests right now.
>>>
>>> Ramana
>>>
>>
>> Thank you Ramana!
>>
>> --Marat
>


[-- Attachment #2: unalign3.diff --]
[-- Type: text/x-patch, Size: 2663 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
-	        && (!defined(__thumb__) || defined(__thumb2__)))
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__))
 	#error FOO
 	#endif
     }]

[-- Attachment #3: arm_regs3.log --]
[-- Type: text/x-log, Size: 30736 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->PASS: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
NA->PASS: gcc.dg/vect/bb-slp-10.c scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects  scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp1 "basic block vectorized" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->PASS: gcc.dg/vect/pr16105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
FAIL->XFAIL: gcc.dg/vect/pr56787.c -flto -ffat-lto-objects  scan-tree-dump vect "vectorized 1 loops"
FAIL->XFAIL: gcc.dg/vect/pr56787.c scan-tree-dump vect "vectorized 1 loops"
PASS->XPASS: gcc.dg/vect/pr58508.c -flto -ffat-lto-objects  scan-tree-dump-times vect "hoist" 3
PASS->XPASS: gcc.dg/vect/pr58508.c scan-tree-dump-times vect "hoist" 3
PASS->NA: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c
PASS->NA: gcc.dg/vect/vect-109.c execution test
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects execution test
XFAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects (test for excess errors)
XFAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c (test for excess errors)
NA->PASS: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
XPASS->PASS: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->PASS: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c -flto -ffat-lto-objects  scan-tree-dump vect "zero step in outer loop."
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 19:17:06 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->FAIL: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 5 loops" 1
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PINGv3][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-08-07  8:52       ` [PINGv2][PATCHv3] " Marat Zakirov
@ 2014-08-14 13:40         ` Marat Zakirov
  2014-08-21 15:05           ` [PINGv4][PATCHv3] " Marat Zakirov
  0 siblings, 1 reply; 11+ messages in thread
From: Marat Zakirov @ 2014-08-14 13:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: Ramana Radhakrishnan, Cong Hou, Richard Biener, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 3161 bytes --]


On 08/07/2014 12:52 PM, Marat Zakirov wrote:
>
> On 07/31/2014 04:08 PM, Marat Zakirov wrote:
>>
>> On 07/24/2014 07:40 PM, Marat Zakirov wrote:
>>>
>>> On 07/24/2014 04:27 PM, Marat Zakirov wrote:
>>>>
>>>> On 07/23/2014 06:23 PM, Marat Zakirov wrote:
>>>>> Hi there!
>>>>>
>>>>> I made a patch which fixes regressions on ARM platforms with 
>>>>> disabled unaligned accesses. The problem is that 
>>>>> 'arm_vect_no_misalign' predicate do not check 'unaligned_access' 
>>>>> global variable to determine whether unaligned access to vector 
>>>>> are allowed. This leads to spurious vect.exp test fails when GCC 
>>>>> is configured 
>>>>> --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>>>>>
>>>>> Attached patch fixes ARM predicate and several tests to correctly 
>>>>> handle the issue.
>>>>>
>>>>> The following targets were reg. tested for multiple targets (ARM, 
>>>>> Thumb-1, Thumb-2, x86, x86_64) with and without 
>>>>> -mno-unaligned-access.  Analysis showed patch affects only 
>>>>> vect.exp tests so only vect.exp was tested.
>>>>>
>>>>> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 
>>>>> without -mno-unaligned-access and Thumb-1 no regressions occured. 
>>>>> For ARM/Thumb2 with -mno-unaligned-access patch fixed most of 
>>>>> failures but triggered some problems (see attached log) for 
>>>>> current vect.exp tests:
>>>>> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
>>>>> 2) Some XPASS'es due to unexpected loop versioning (e.g. 
>>>>> gcc.dg/vect/pr33804.c).
>>>>> 3) After predicate fix some passing tests which require unaligned 
>>>>> vector support become NA (this was expected).
>>>>>
>>>> Here is new version of patch and regression log. On the current 
>>>> trunk results are slightly different due to patches for Richard 
>>>> Biener (no UNRESOLVED fails) but some PASS->XPASS regressions still 
>>>> remain (see attachment):
>>>>
>>>> PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
>>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>>> PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects 
>>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>>> etc.
>>>>
>>>> These XPASS'es are due to code versioning: current GCC creates 2 
>>>> versions of loop: aligned and misaligned. It's look like they are 
>>>> slightly out of date at lest for ARM.
>>>>
>>>
>>> On 07/24/2014 06:50 PM, Ramana Radhakrishnan wrote:
>>>> This is redundant.
>>>>
>>>>> -           || (defined(__ARMEL__) \
>>>>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>>>>> +               && defined(__ARMEL__) \
>>>>>                  && (!defined(__thumb__) || defined(__thumb2__)))
>>>> As is this line.
>>>>
>>>> I think you can restrict the check to defined(__ARM_FEATURE_UNALIGNED)
>>>> && defined(__ARMEL__)
>>>>
>>>>   __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
>>>> allowed or not, therefore you should no longer require any specific
>>>> "architectural" checks.
>>>>
>>>>
>>>>>          #error FOO
>>>>>          #endif
>>>>>
>>>> I'm not sure about the original intent of the tests right now.
>>>>
>>>> Ramana
>>>>
>>>
>>> Thank you Ramana!
>>>
>>> --Marat
>>
>


[-- Attachment #2: unalign3.diff --]
[-- Type: text/x-patch, Size: 2663 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
-	        && (!defined(__thumb__) || defined(__thumb2__)))
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__))
 	#error FOO
 	#endif
     }]

[-- Attachment #3: arm_regs3.log --]
[-- Type: text/x-log, Size: 30736 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->PASS: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
NA->PASS: gcc.dg/vect/bb-slp-10.c scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects  scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp1 "basic block vectorized" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->PASS: gcc.dg/vect/pr16105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
FAIL->XFAIL: gcc.dg/vect/pr56787.c -flto -ffat-lto-objects  scan-tree-dump vect "vectorized 1 loops"
FAIL->XFAIL: gcc.dg/vect/pr56787.c scan-tree-dump vect "vectorized 1 loops"
PASS->XPASS: gcc.dg/vect/pr58508.c -flto -ffat-lto-objects  scan-tree-dump-times vect "hoist" 3
PASS->XPASS: gcc.dg/vect/pr58508.c scan-tree-dump-times vect "hoist" 3
PASS->NA: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c
PASS->NA: gcc.dg/vect/vect-109.c execution test
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects execution test
XFAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects (test for excess errors)
XFAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c (test for excess errors)
NA->PASS: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
XPASS->PASS: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->PASS: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c -flto -ffat-lto-objects  scan-tree-dump vect "zero step in outer loop."
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 19:17:06 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->FAIL: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 5 loops" 1
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PINGv4][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-08-14 13:40         ` [PINGv3][PATCHv3] " Marat Zakirov
@ 2014-08-21 15:05           ` Marat Zakirov
  2014-09-04 11:14             ` Ramana Radhakrishnan
  0 siblings, 1 reply; 11+ messages in thread
From: Marat Zakirov @ 2014-08-21 15:05 UTC (permalink / raw)
  To: gcc-patches; +Cc: Ramana Radhakrishnan, Cong Hou, Richard Biener, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 3302 bytes --]


On 08/14/2014 05:40 PM, Marat Zakirov wrote:
>
> On 08/07/2014 12:52 PM, Marat Zakirov wrote:
>>
>> On 07/31/2014 04:08 PM, Marat Zakirov wrote:
>>>
>>> On 07/24/2014 07:40 PM, Marat Zakirov wrote:
>>>>
>>>> On 07/24/2014 04:27 PM, Marat Zakirov wrote:
>>>>>
>>>>> On 07/23/2014 06:23 PM, Marat Zakirov wrote:
>>>>>> Hi there!
>>>>>>
>>>>>> I made a patch which fixes regressions on ARM platforms with 
>>>>>> disabled unaligned accesses. The problem is that 
>>>>>> 'arm_vect_no_misalign' predicate do not check 'unaligned_access' 
>>>>>> global variable to determine whether unaligned access to vector 
>>>>>> are allowed. This leads to spurious vect.exp test fails when GCC 
>>>>>> is configured 
>>>>>> --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>>>>>>
>>>>>> Attached patch fixes ARM predicate and several tests to correctly 
>>>>>> handle the issue.
>>>>>>
>>>>>> The following targets were reg. tested for multiple targets (ARM, 
>>>>>> Thumb-1, Thumb-2, x86, x86_64) with and without 
>>>>>> -mno-unaligned-access.  Analysis showed patch affects only 
>>>>>> vect.exp tests so only vect.exp was tested.
>>>>>>
>>>>>> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 
>>>>>> without -mno-unaligned-access and Thumb-1 no regressions occured. 
>>>>>> For ARM/Thumb2 with -mno-unaligned-access patch fixed most of 
>>>>>> failures but triggered some problems (see attached log) for 
>>>>>> current vect.exp tests:
>>>>>> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
>>>>>> 2) Some XPASS'es due to unexpected loop versioning (e.g. 
>>>>>> gcc.dg/vect/pr33804.c).
>>>>>> 3) After predicate fix some passing tests which require unaligned 
>>>>>> vector support become NA (this was expected).
>>>>>>
>>>>> Here is new version of patch and regression log. On the current 
>>>>> trunk results are slightly different due to patches for Richard 
>>>>> Biener (no UNRESOLVED fails) but some PASS->XPASS regressions 
>>>>> still remain (see attachment):
>>>>>
>>>>> PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
>>>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>>>> PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects 
>>>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>>>> etc.
>>>>>
>>>>> These XPASS'es are due to code versioning: current GCC creates 2 
>>>>> versions of loop: aligned and misaligned. It's look like they are 
>>>>> slightly out of date at lest for ARM.
>>>>>
>>>>
>>>> On 07/24/2014 06:50 PM, Ramana Radhakrishnan wrote:
>>>>> This is redundant.
>>>>>
>>>>>> -           || (defined(__ARMEL__) \
>>>>>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>>>>>> +               && defined(__ARMEL__) \
>>>>>>                  && (!defined(__thumb__) || defined(__thumb2__)))
>>>>> As is this line.
>>>>>
>>>>> I think you can restrict the check to 
>>>>> defined(__ARM_FEATURE_UNALIGNED)
>>>>> && defined(__ARMEL__)
>>>>>
>>>>>   __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
>>>>> allowed or not, therefore you should no longer require any specific
>>>>> "architectural" checks.
>>>>>
>>>>>
>>>>>>          #error FOO
>>>>>>          #endif
>>>>>>
>>>>> I'm not sure about the original intent of the tests right now.
>>>>>
>>>>> Ramana
>>>>>
>>>>
>>>> Thank you Ramana!
>>>>
>>>> --Marat
>>>
>>
>


[-- Attachment #2: unalign3.diff --]
[-- Type: text/x-patch, Size: 2663 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
-	        && (!defined(__thumb__) || defined(__thumb2__)))
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__))
 	#error FOO
 	#endif
     }]

[-- Attachment #3: arm_regs3.log --]
[-- Type: text/x-log, Size: 30736 bytes --]

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gcc/gcc.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->PASS: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
NA->PASS: gcc.dg/vect/bb-slp-10.c scan-tree-dump slp2 "unsupported alignment in basic block."
FAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "basic block vectorized" 1
XFAIL->NA: gcc.dg/vect/bb-slp-10.c scan-tree-dump-times slp2 "unsupported alignment in basic block." 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-24.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-25.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-29.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c -flto -ffat-lto-objects  scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-32.c scan-tree-dump slp2 "vectorization is not profitable"
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c -flto -ffat-lto-objects  scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->XFAIL: gcc.dg/vect/bb-slp-9.c scan-tree-dump-times slp2 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c -flto -ffat-lto-objects  scan-tree-dump-times slp1 "basic block vectorized" 1
FAIL->NA: gcc.dg/vect/bb-slp-pattern-2.c scan-tree-dump-times slp1 "basic block vectorized" 1
PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-6-global.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
FAIL->XFAIL: gcc.dg/vect/no-scevccp-outer-8.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1
NA->PASS: gcc.dg/vect/no-vfa-vect-43.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-57.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-61.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-2.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/no-vfa-vect-depend-3.c scan-tree-dump-times vect "vectorized 1 loops" 4
PASS->NA: gcc.dg/vect/O3-pr41881.c scan-tree-dump-times vect "vectorized 1 loops" 2
PASS->NA: gcc.dg/vect/O3-slp-reduc-10.c scan-tree-dump-times vect "vectorized 1 loops" 2
NA->PASS: gcc.dg/vect/pr16105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr16105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/pr20122.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33804.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/pr33953.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1
FAIL->XFAIL: gcc.dg/vect/pr56787.c -flto -ffat-lto-objects  scan-tree-dump vect "vectorized 1 loops"
FAIL->XFAIL: gcc.dg/vect/pr56787.c scan-tree-dump vect "vectorized 1 loops"
PASS->XPASS: gcc.dg/vect/pr58508.c -flto -ffat-lto-objects  scan-tree-dump-times vect "hoist" 3
PASS->XPASS: gcc.dg/vect/pr58508.c scan-tree-dump-times vect "hoist" 3
PASS->NA: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->NA: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 2 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorizing stmts using SLP" 2
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/slp-24.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->PASS: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "Alignment of access forced using versioning" 2
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c
PASS->NA: gcc.dg/vect/vect-109.c execution test
NA->UNSUPPORTED: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects execution test
XFAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects (test for excess errors)
XFAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "not vectorized
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-109.c (test for excess errors)
NA->PASS: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->NA: gcc.dg/vect/vect-42.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-44.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-48.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gcc.dg/vect/vect-50.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 2
NA->PASS: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gcc.dg/vect/vect-52.c scan-tree-dump-times vect "Vectorizing an unaligned access" 2
XPASS->PASS: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-56.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gcc.dg/vect/vect-60.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Alignment of access forced using versioning" 1
FAIL->XFAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->XFAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 1 loops" 1
NA->PASS: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
XPASS->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 0
XPASS->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Alignment of access forced using versioning" 4
NA->PASS: gcc.dg/vect/vect-95.c scan-tree-dump-times vect "Vectorizing an unaligned access" 0
NA->PASS: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
NA->PASS: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Alignment of access forced using versioning." 1
FAIL->NA: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-3.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-cond-4.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->XPASS: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 3
NA->PASS: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3
PASS->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 4
PASS->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Alignment of access forced using peeling" 0
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "vectorized 1 loops" 2
FAIL->NA: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4
NA->PASS: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 6
NA->PASS: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Alignment of access forced using versioning" 6
FAIL->XFAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-1.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-nest-cycle-2.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
FAIL->XFAIL: gcc.dg/vect/vect-outer-3a.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->NA: gcc.dg/vect/vect-outer-4c.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
PASS->XPASS: gcc.dg/vect/vect-outer-5.c -flto -ffat-lto-objects  scan-tree-dump vect "zero step in outer loop."
PASS->XPASS: gcc.dg/vect/vect-outer-5.c scan-tree-dump vect "zero step in outer loop."
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb-big-array.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c -flto -ffat-lto-objects  scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-outer-fir-lb.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 2
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects  scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c -flto -ffat-lto-objects  scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->XFAIL: gcc.dg/vect/vect-pre-interact.c scan-tree-dump-times vect "vectorized 1 loops" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/gfortran/gfortran.sum
Test Run By mzakirov on Thu Jul 24 19:17:06 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

NA->FAIL: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 1 loops" 1
FAIL->NA: gfortran.dg/vect/pr32380.f   -O   scan-tree-dump-times vect "vectorized 5 loops" 1
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 3
NA->PASS: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 3
FAIL->XFAIL: gfortran.dg/vect/vect-2.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 2
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning" 3
FAIL->XFAIL: gfortran.dg/vect/vect-3.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL->XFAIL: gfortran.dg/vect/vect-4.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using peeling" 1
NA->PASS: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Alignment of access forced using versioning." 2
FAIL->XFAIL: gfortran.dg/vect/vect-5.f90   -O   scan-tree-dump-times vect "Vectorizing an unaligned access" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 11:47:42 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./gcc/testsuite/g++/g++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is x86_64-pc-linux-gnu

PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++11  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++1y  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorized 1 loops" 1
PASS->NA: g++.dg/vect/pr36648.cc  -std=c++98  scan-tree-dump-times vect "vectorizing stmts using SLP" 1
dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libitm/testsuite/libitm.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libgomp/testsuite/libgomp.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libstdc++-v3/testsuite/libstdc++.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

dg-cmp-results.sh: Verbosity is 2, Variant is "target-sim"

Older log file: ./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 11:47:41 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu

Newer log file: /home/mzakirov/proj/gcc_unalign/build.arm.cortex-a15/obj/gcc_final/./arm-v7a15v5r2-linux-gnueabi/libatomic/testsuite/libatomic.sum
Test Run By mzakirov on Thu Jul 24 19:17:05 2014
Target is arm-v7a15v5r2-linux-gnueabi
Host   is arm-v7a15v5r2-linux-gnueabi
Build  is x86_64-pc-linux-gnu


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PINGv4][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-08-21 15:05           ` [PINGv4][PATCHv3] " Marat Zakirov
@ 2014-09-04 11:14             ` Ramana Radhakrishnan
  2014-09-04 17:24               ` Mike Stump
  0 siblings, 1 reply; 11+ messages in thread
From: Ramana Radhakrishnan @ 2014-09-04 11:14 UTC (permalink / raw)
  To: Marat Zakirov
  Cc: gcc-patches, Ramana Radhakrishnan, Cong Hou, Richard Biener,
	Yury Gribov, Mike Stump

On Thu, Aug 21, 2014 at 4:05 PM, Marat Zakirov <m.zakirov@samsung.com> wrote:
>
> On 08/14/2014 05:40 PM, Marat Zakirov wrote:
>>
>>
>> On 08/07/2014 12:52 PM, Marat Zakirov wrote:
>>>
>>>
>>> On 07/31/2014 04:08 PM, Marat Zakirov wrote:
>>>>
>>>>
>>>> On 07/24/2014 07:40 PM, Marat Zakirov wrote:
>>>>>
>>>>>
>>>>> On 07/24/2014 04:27 PM, Marat Zakirov wrote:
>>>>>>
>>>>>>
>>>>>> On 07/23/2014 06:23 PM, Marat Zakirov wrote:
>>>>>>>
>>>>>>> Hi there!
>>>>>>>
>>>>>>> I made a patch which fixes regressions on ARM platforms with disabled
>>>>>>> unaligned accesses. The problem is that 'arm_vect_no_misalign' predicate do
>>>>>>> not check 'unaligned_access' global variable to determine whether unaligned
>>>>>>> access to vector are allowed. This leads to spurious vect.exp test fails
>>>>>>> when GCC is configured
>>>>>>> --with-specs=%{!munaligned-access:-mno-unaligned-access}.
>>>>>>>
>>>>>>> Attached patch fixes ARM predicate and several tests to correctly
>>>>>>> handle the issue.
>>>>>>>
>>>>>>> The following targets were reg. tested for multiple targets (ARM,
>>>>>>> Thumb-1, Thumb-2, x86, x86_64) with and without -mno-unaligned-access.
>>>>>>> Analysis showed patch affects only vect.exp tests so only vect.exp was
>>>>>>> tested.
>>>>>>>
>>>>>>> For x86, x86_64,  ARM without -mno-unaligned-access, Thumb-2 without
>>>>>>> -mno-unaligned-access and Thumb-1 no regressions occured. For ARM/Thumb2
>>>>>>> with -mno-unaligned-access patch fixed most of failures but triggered some
>>>>>>> problems (see attached log) for current vect.exp tests:
>>>>>>> 1) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61887
>>>>>>> 2) Some XPASS'es due to unexpected loop versioning (e.g.
>>>>>>> gcc.dg/vect/pr33804.c).
>>>>>>> 3) After predicate fix some passing tests which require unaligned
>>>>>>> vector support become NA (this was expected).
>>>>>>>
>>>>>> Here is new version of patch and regression log. On the current trunk
>>>>>> results are slightly different due to patches for Richard Biener (no
>>>>>> UNRESOLVED fails) but some PASS->XPASS regressions still remain (see
>>>>>> attachment):
>>>>>>
>>>>>> PASS->XPASS: gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
>>>>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>>>>> PASS->XPASS: gcc.dg/vect/pr33804.c -flto -ffat-lto-objects
>>>>>> scan-tree-dump-times vect "vectorized 1 loops" 1
>>>>>> etc.
>>>>>>
>>>>>> These XPASS'es are due to code versioning: current GCC creates 2
>>>>>> versions of loop: aligned and misaligned. It's look like they are slightly
>>>>>> out of date at lest for ARM.
>>>>>>
>>>>>
>>>>> On 07/24/2014 06:50 PM, Ramana Radhakrishnan wrote:
>>>>>>
>>>>>> This is redundant.
>>>>>>
>>>>>>> -           || (defined(__ARMEL__) \
>>>>>>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>>>>>>> +               && defined(__ARMEL__) \
>>>>>>>                  && (!defined(__thumb__) || defined(__thumb2__)))
>>>>>>
>>>>>> As is this line.
>>>>>>
>>>>>> I think you can restrict the check to defined(__ARM_FEATURE_UNALIGNED)
>>>>>> && defined(__ARMEL__)
>>>>>>
>>>>>>   __ARM_FEATURE_UNALIGNED should tell you whether unaligned access is
>>>>>> allowed or not, therefore you should no longer require any specific
>>>>>> "architectural" checks.
>>>>>>
>>>>>>
>>>>>>>          #error FOO
>>>>>>>          #endif
>>>>>>>
>>>>>> I'm not sure about the original intent of the tests right now.
>>>>>>
>>>>>> Ramana
>>>>>>
>>>>>
>>>>> Thank you Ramana!
>>>>>
>>>>> --Marat
>>>>
>>>>
>>>
>>
>
>
> gcc/testsuite/ChangeLog:
>
> 2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>
>
>         * gcc.dg/vect/vect-109.c: Skip predicate added.
>         * gcc.dg/vect/vect-93.c: Test check fixed.
>         * gcc.dg/vect/bb-slp-10.c: Likewise.
>         * lib/target-supports.exp
> (check_effective_target_arm_vect_no_misalign):
>         Check unaligned feature.
>
> diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
> b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
> index a1850ed..0090a4b 100644
> --- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
> +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
> @@ -49,7 +49,7 @@ int main (void)
>    return 0;
>  }
>
> -/* { dg-final { scan-tree-dump-times "unsupported alignment in basic
> block." 1 "slp2" { xfail vect_element_align } } } */
> +/* { dg-final { scan-tree-dump "unsupported alignment in basic block." 1
> "slp2" { xfail vect_element_align } } } */
>  /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" {
> target vect_element_align } } } */
>  /* { dg-final { cleanup-tree-dump "slp2" } } */
>
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c
> b/gcc/testsuite/gcc.dg/vect/vect-109.c
> index 854c970..c671175 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-109.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
> @@ -1,3 +1,4 @@
> +/* { dg-skip-if "" { vect_no_align } } */
>  /* { dg-require-effective-target vect_int } */
>
>  #include <stdarg.h>
> diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c
> b/gcc/testsuite/gcc.dg/vect/vect-93.c
> index 65403eb..1065a6e 100644
> --- a/gcc/testsuite/gcc.dg/vect/vect-93.c
> +++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
> @@ -79,7 +79,7 @@ int main (void)
>  /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target
> vect_no_align } } } */
>
>  /* in main: */
> -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target
> vect_no_align } } } */
> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target
> vect_no_align } } } */
>  /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
> "vect" { xfail { vect_no_align } } } } */
>
>  /* { dg-final { cleanup-tree-dump "vect" } } */
> diff --git a/gcc/testsuite/lib/target-supports.exp
> b/gcc/testsuite/lib/target-supports.exp
> index db65ebe..35076d2 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
>  proc check_effective_target_arm_vect_no_misalign { } {
>      return [check_no_compiler_messages arm_vect_no_misalign assembly {
>         #if !defined(__arm__) \
> -           || (defined(__ARMEL__) \
> -               && (!defined(__thumb__) || defined(__thumb2__)))
> +           || (defined(__ARM_FEATURE_UNALIGNED) \
> +               && defined(__ARMEL__))
>         #error FOO
>         #endif
>      }]
>

Ok by me. But please wait for a testsuite maintainer to approve.

regards
Ramana

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PINGv4][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-09-04 11:14             ` Ramana Radhakrishnan
@ 2014-09-04 17:24               ` Mike Stump
  2014-09-05 13:06                 ` Marat Zakirov
  0 siblings, 1 reply; 11+ messages in thread
From: Mike Stump @ 2014-09-04 17:24 UTC (permalink / raw)
  To: ramrad01
  Cc: Marat Zakirov, gcc-patches, Ramana Radhakrishnan, Cong Hou,
	Richard Biener, Yury Gribov

On Sep 4, 2014, at 4:14 AM, Ramana Radhakrishnan <ramana.gcc@googlemail.com> wrote:
>> --- a/gcc/testsuite/lib/target-supports.exp
>> +++ b/gcc/testsuite/lib/target-supports.exp
>> @@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
>> proc check_effective_target_arm_vect_no_misalign { } {
>>     return [check_no_compiler_messages arm_vect_no_misalign assembly {
>>        #if !defined(__arm__) \
>> -           || (defined(__ARMEL__) \
>> -               && (!defined(__thumb__) || defined(__thumb2__)))
>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>> +               && defined(__ARMEL__))
>>        #error FOO
>>        #endif
>>     }]
>> 
> 
> Ok by me. But please wait for a testsuite maintainer to approve.

Ok.

Generally the port people that have been around for a while know what strikes them as wrong or not and can just approve the patch directly.  I suspect you are one of those people.  :-)  If you have any doubts or concerns, you can always raise them or ask for some help reviewing.  Don’t worry, if I spot something I don’t like after someone else says Ok, I will bring up the issue for consideration.  Even if I do, it doesn’t mean I object in anyway to the first review.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PINGv4][PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses
  2014-09-04 17:24               ` Mike Stump
@ 2014-09-05 13:06                 ` Marat Zakirov
  0 siblings, 0 replies; 11+ messages in thread
From: Marat Zakirov @ 2014-09-05 13:06 UTC (permalink / raw)
  To: Mike Stump, ramrad01
  Cc: gcc-patches, Ramana Radhakrishnan, Cong Hou, Richard Biener, Yury Gribov

[-- Attachment #1: Type: text/plain, Size: 1345 bytes --]

On 09/04/2014 09:23 PM, Mike Stump wrote:
> On Sep 4, 2014, at 4:14 AM, Ramana Radhakrishnan <ramana.gcc@googlemail.com> wrote:
>>> --- a/gcc/testsuite/lib/target-supports.exp
>>> +++ b/gcc/testsuite/lib/target-supports.exp
>>> @@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
>>> proc check_effective_target_arm_vect_no_misalign { } {
>>>      return [check_no_compiler_messages arm_vect_no_misalign assembly {
>>>         #if !defined(__arm__) \
>>> -           || (defined(__ARMEL__) \
>>> -               && (!defined(__thumb__) || defined(__thumb2__)))
>>> +           || (defined(__ARM_FEATURE_UNALIGNED) \
>>> +               && defined(__ARMEL__))
>>>         #error FOO
>>>         #endif
>>>      }]
>>>
>> Ok by me. But please wait for a testsuite maintainer to approve.
> Ok.
>
> Generally the port people that have been around for a while know what strikes them as wrong or not and can just approve the patch directly.  I suspect you are one of those people.  :-)  If you have any doubts or concerns, you can always raise them or ask for some help reviewing.  DonÂ’t worry, if I spot something I donÂ’t like after someone else says Ok, I will bring up the issue for consideration.  Even if I do, it doesnÂ’t mean I object in anyway to the first review.

Thank you all.

Committed revision 214956.

--Marat


[-- Attachment #2: unalign3.diff --]
[-- Type: text/x-patch, Size: 2661 bytes --]

gcc/testsuite/ChangeLog:

2014-07-23  Marat Zakirov  <m.zakirov@samsung.com>

	* gcc.dg/vect/vect-109.c: Skip predicate added.
	* gcc.dg/vect/vect-93.c: Test check fixed.
	* gcc.dg/vect/bb-slp-10.c: Likewise.
	* lib/target-supports.exp (check_effective_target_arm_vect_no_misalign):
	Check unaligned feature.

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
index a1850ed..0090a4b 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-10.c
@@ -49,7 +49,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "unsupported alignment in basic block." 1 "slp2" { xfail vect_element_align } } } */
+/* { dg-final { scan-tree-dump "unsupported alignment in basic block." "slp2" { xfail vect_element_align } } } */
 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" { target vect_element_align } } } */
 /* { dg-final { cleanup-tree-dump "slp2" } } */
   
diff --git a/gcc/testsuite/gcc.dg/vect/vect-109.c b/gcc/testsuite/gcc.dg/vect/vect-109.c
index 854c970..c671175 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-109.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-109.c
@@ -1,3 +1,4 @@
+/* { dg-skip-if "" { vect_no_align } } */
 /* { dg-require-effective-target vect_int } */
 
 #include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-93.c b/gcc/testsuite/gcc.dg/vect/vect-93.c
index 65403eb..1065a6e 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-93.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-93.c
@@ -79,7 +79,7 @@ int main (void)
 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { target vect_no_align } } } */
 
 /* in main: */
-/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 1 "vect" { target vect_no_align } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_no_align } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } } */
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index db65ebe..35076d2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2293,8 +2293,8 @@ proc check_effective_target_arm_little_endian { } {
 proc check_effective_target_arm_vect_no_misalign { } {
     return [check_no_compiler_messages arm_vect_no_misalign assembly {
 	#if !defined(__arm__) \
-	    || (defined(__ARMEL__) \
-	        && (!defined(__thumb__) || defined(__thumb2__)))
+	    || (defined(__ARM_FEATURE_UNALIGNED) \
+	        && defined(__ARMEL__))
 	#error FOO
 	#endif
     }]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-09-05 13:06 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-23 14:27 [PATCH] Fix vector tests on ARM platforms with disabled unaligned accesses Marat Zakirov
2014-07-24 12:36 ` [PATCHv2] " Marat Zakirov
2014-07-24 15:44   ` [PATCHv3] " Marat Zakirov
2014-07-31 12:21     ` [PING][PATCHv3] " Marat Zakirov
2014-08-07  8:52       ` [PINGv2][PATCHv3] " Marat Zakirov
2014-08-14 13:40         ` [PINGv3][PATCHv3] " Marat Zakirov
2014-08-21 15:05           ` [PINGv4][PATCHv3] " Marat Zakirov
2014-09-04 11:14             ` Ramana Radhakrishnan
2014-09-04 17:24               ` Mike Stump
2014-09-05 13:06                 ` Marat Zakirov
2014-07-24 15:31 ` [PATCH] " Ramana Radhakrishnan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).