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


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

[PATCHv3] Fix vector tests on ARM platforms with disabled unaligned accesses



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
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

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
     }]

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