Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
0cf7986c
Commit
0cf7986c
authored
Nov 04, 2009
by
Revital Eres
Committed by
Revital Eres
Nov 04, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Another fix to the misaligned store vectorizer patch
From-SVN: r153892
parent
fbd43827
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
54 additions
and
25 deletions
+54
-25
gcc/ChangeLog
+6
-0
gcc/testsuite/ChangeLog
+24
-0
gcc/testsuite/gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c
+1
-1
gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-27.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-29.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-42.c
+2
-2
gcc/testsuite/gcc.dg/vect/vect-44.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-48.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-50.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-52.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-56.c
+2
-2
gcc/testsuite/gcc.dg/vect/vect-60.c
+2
-2
gcc/testsuite/gcc.dg/vect/vect-72.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
+1
-1
gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
+1
-1
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
+2
-2
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
+2
-2
gcc/testsuite/gfortran.dg/vect/vect-2.f90
+1
-1
gcc/testsuite/gfortran.dg/vect/vect-5.f90
+1
-1
gcc/tree-vect-data-refs.c
+1
-2
No files found.
gcc/ChangeLog
View file @
0cf7986c
2009
-
11
-
04
Revital
Eres
<
eres
@
il
.
ibm
.
com
>
*
tree
-
vect
-
data
-
refs
.
c
(
vect_enhance_data_refs_alignment
):
Consider
peeling
for
alignment
only
for
stores
and
remove
redundant
assignment
.
2009
-
11
-
04
Maxim
Kuvyrkov
<
maxim
@
codesourcery
.
com
>
2009
-
11
-
04
Maxim
Kuvyrkov
<
maxim
@
codesourcery
.
com
>
PR
target
/
41302
PR
target
/
41302
gcc/testsuite/ChangeLog
View file @
0cf7986c
2009-11-04 Revital Eres <eres@il.ibm.com>
* gcc.target/powerpc/vsx-vectorize-3.c: Adjust tetcase following
change in decision of peeling for alignment.
* gcc.target/powerpc/vsx-vectorize-5.c: Likewise.
* gcc.dg/vect/vect-50.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c:
Likewise.
* gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c:
Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gfortran.dg/vect/vect-2.f90: Likewise.
* gfortran.dg/vect/vect-5.f90: Likewise.
2009-11-04 Richard Guenther <rguenther@suse.de>
2009-11-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41919
PR tree-optimization/41919
...
...
gcc/testsuite/gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c
View file @
0cf7986c
...
@@ -35,6 +35,6 @@ int main()
...
@@ -35,6 +35,6 @@ int main()
return
0
;
return
0
;
}
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"
{ xfail vect_hw_misalign }
} } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c
View file @
0cf7986c
...
@@ -35,6 +35,6 @@ int main()
...
@@ -35,6 +35,6 @@ int main()
return
0
;
return
0
;
}
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"
{ xfail vect_hw_misalign }
} } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-27.c
View file @
0cf7986c
...
@@ -46,5 +46,5 @@ int main (void)
...
@@ -46,5 +46,5 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 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 { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
1 "vect" { xfail {! vect_hw_misalign} }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
0 "vect"
} } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-29.c
View file @
0cf7986c
...
@@ -51,6 +51,6 @@ int main (void)
...
@@ -51,6 +51,6 @@ int main (void)
/* The initialization induction loop (with aligned access) is also vectorized. */
/* The initialization induction loop (with aligned access) is also vectorized. */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect"
{ xfail vect_hw_misalign }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" {target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" {target vect_no_align } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-42.c
View file @
0cf7986c
...
@@ -65,6 +65,6 @@ int main (void)
...
@@ -65,6 +65,6 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 "vect" { xfail {
{ vect_no_align || vect_hw_misalign }
|| { ! vector_alignment_reachable } } } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 4 "vect" { xfail {
vect_no_align
|| { ! vector_alignment_reachable } } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
{ vect_no_align || vect_hw_misalign }
|| { ! vector_alignment_reachable } } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
vect_no_align
|| { ! vector_alignment_reachable } } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-44.c
View file @
0cf7986c
...
@@ -66,7 +66,7 @@ int main (void)
...
@@ -66,7 +66,7 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
{ vect_no_align || {! vect_hw_misalign } }
|| {! vector_alignment_reachable} } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
vect_no_align
|| {! vector_alignment_reachable} } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && {{! vect_no_align} && {! vect_hw_misalign} } } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && {{! vect_no_align} && {! vect_hw_misalign} } } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-48.c
View file @
0cf7986c
...
@@ -55,6 +55,6 @@ int main (void)
...
@@ -55,6 +55,6 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
1 "vect" { xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
0 "vect"
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target vect_no_align } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-50.c
View file @
0cf7986c
...
@@ -63,7 +63,7 @@ int main (void)
...
@@ -63,7 +63,7 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { target vect_hw_misalign } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { target vect_hw_misalign } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
{ vect_no_align || {! vect_hw_misalign } }
|| {! vector_alignment_reachable} } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
vect_no_align
|| {! vector_alignment_reachable} } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && { {! vect_no_align } && {! vect_hw_misalign } } } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && { {! vect_no_align } && {! vect_hw_misalign } } } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-52.c
View file @
0cf7986c
...
@@ -56,6 +56,6 @@ int main (void)
...
@@ -56,6 +56,6 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
1 "vect" {xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
0 "vect"
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target vect_no_align } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-56.c
View file @
0cf7986c
...
@@ -68,6 +68,6 @@ int main (void)
...
@@ -68,6 +68,6 @@ int main (void)
}
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align
|| vect_hw_misalign
} } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
1 "vect" { xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling"
0 "vect"
} } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-60.c
View file @
0cf7986c
...
@@ -69,6 +69,6 @@ int main (void)
...
@@ -69,6 +69,6 @@ int main (void)
}
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align
|| vect_hw_misalign
} } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect"
{ xfail vect_hw_misalign }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-72.c
View file @
0cf7986c
...
@@ -47,5 +47,5 @@ int main (void)
...
@@ -47,5 +47,5 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect"
{ xfail vect_hw_misalign }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
View file @
0cf7986c
...
@@ -54,6 +54,6 @@ int main (void)
...
@@ -54,6 +54,6 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 3 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 3 "vect" {xfail { vect_no_align
|| vect_hw_misalign
} } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 3 "vect" {xfail { vect_no_align } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
View file @
0cf7986c
...
@@ -61,6 +61,6 @@ int main (void)
...
@@ -61,6 +61,6 @@ int main (void)
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 6 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 6 "vect" { target vect_no_align } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 6 "vect" {xfail { vect_no_align
|| vect_hw_misalign
} } } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 6 "vect" {xfail { vect_no_align } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-3.c
View file @
0cf7986c
...
@@ -54,7 +54,7 @@ int main (void)
...
@@ -54,7 +54,7 @@ int main (void)
}
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect"
{xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 0 "vect"
{xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 0 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gcc.target/powerpc/vsx-vectorize-5.c
View file @
0cf7986c
...
@@ -54,7 +54,7 @@ int main (void)
...
@@ -54,7 +54,7 @@ int main (void)
}
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect"
{xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 0 "vect"
{xfail {! vect_hw_misalign } }
} } */
/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 0 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" } } */
/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
gcc/testsuite/gfortran.dg/vect/vect-2.f90
View file @
0cf7986c
...
@@ -15,7 +15,7 @@ END
...
@@ -15,7 +15,7 @@ END
! support unaligned loads).
! support unaligned loads).
! { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } }
! { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" { xfail {
{ vect_no_align || { ! vect_hw_misalign } }
|| { ! vector_alignment_reachable } } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" { xfail {
vect_no_align
|| { ! vector_alignment_reachable } } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target { vect_no_align && { ! vector_alignment_reachable } } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target { vect_no_align && { ! vector_alignment_reachable } } } } }
! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" {target { vect_no_align || { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" {target { vect_no_align || { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } }
...
...
gcc/testsuite/gfortran.dg/vect/vect-5.f90
View file @
0cf7986c
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
end
end
! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
{ vect_no_align || {! vect_hw_misalign } }
|| {! vector_alignment_reachable} } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail {
vect_no_align
|| {! vector_alignment_reachable} } } } }
! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 2 "vect" { target { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 1 "vect" { target { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } }
...
...
gcc/tree-vect-data-refs.c
View file @
0cf7986c
...
@@ -1176,7 +1176,6 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
...
@@ -1176,7 +1176,6 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
{
{
stmt
=
DR_STMT
(
dr
);
stmt
=
DR_STMT
(
dr
);
stmt_info
=
vinfo_for_stmt
(
stmt
);
stmt_info
=
vinfo_for_stmt
(
stmt
);
supportable_dr_alignment
=
vect_supportable_dr_alignment
(
dr
);
/* For interleaving, only the alignment of the first access
/* For interleaving, only the alignment of the first access
matters. */
matters. */
...
@@ -1184,7 +1183,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
...
@@ -1184,7 +1183,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
&&
DR_GROUP_FIRST_DR
(
stmt_info
)
!=
stmt
)
&&
DR_GROUP_FIRST_DR
(
stmt_info
)
!=
stmt
)
continue
;
continue
;
if
(
!
aligned_access_p
(
dr
))
if
(
!
DR_IS_READ
(
dr
)
&&
!
aligned_access_p
(
dr
))
{
{
do_peeling
=
vector_alignment_reachable_p
(
dr
);
do_peeling
=
vector_alignment_reachable_p
(
dr
);
if
(
do_peeling
)
if
(
do_peeling
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment