public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Call to arms: testsuite failures on various targets
@ 2007-04-12 21:35 FX Coudert
  2007-04-12 21:50 ` FX Coudert
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: FX Coudert @ 2007-04-12 21:35 UTC (permalink / raw)
  To: fortran@gcc.gnu.org List; +Cc: gcc

Hi all,

I reviewed this afternoon the postings from the gcc-testresults  
mailing-list for the past month, and we have a couple of gfortran  
testsuite failures showing up on various targets. Could people with  
access to said targets (possibly maintainers) please file PRs in  
bugzilla for each testcase, reporting the error message and/or  
backtrace? (I'd be happy to be added to the Cc list of these)

* ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
* powerpc64-unknown-linux-gnu: gfortran.dg/value_4.f90

* powerpc-apple-darwin8.5.0: gfortran.dg/edit_real_1.f90

* sparc{,64}-sun-solaris2.10: gfortran.dg/open_errors.f90 gfortran.dg/ 
vect/vect-5.f90 (and gfortran.dg/cray_pointers_2.f90 when using -fPIC)

* powerpc-ibm-aix5.2.0.0: gfortran.dg/integer_exponentiation_4.f90  
gfortran.dg/static_linking_1.f gfortran.dg/value_4.f90  
gfortran.fortran-torture/execute/intrinsic_nearest.f90

* hppa-unknown-linux-gnu: gfortran.dg/cray_pointers_2.f90
* hppa2.0w-hp-hpux11.11: gfortran.dg/result_in_spec_1.f90
* hppa64-hp-hpux11.11: many failures (http://gcc.gnu.org/ml/gcc- 
testresults/2007-04/msg00585.html)

* x86_64-unknown-netbsd3.0: gfortran.dg/exponent_1.f90 gfortran.dg/ 
scale_1.f90 gfortran.fortran-torture/execute/ 
intrinsic_fraction_exponent.f90 gfortran.fortran-torture/execute/ 
intrinsic_rrspacing.f90 gfortran.fortran-torture/execute/ 
intrinsic_scale.f90 gfortran.fortran-torture/execute/ 
intrinsic_set_exponent.f90


Note1: I omitted all the gfortran.dg/c_by_val_1.f  failures, which  
should be fixed by now
Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this  
testcase should be reworked

Thanks,
FX

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
@ 2007-04-12 21:50 ` FX Coudert
  2007-04-13  0:31   ` Brooks Moses
  2007-04-13  9:38   ` Jerry DeLisle
  2007-04-13 12:31 ` Dave Korn
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 16+ messages in thread
From: FX Coudert @ 2007-04-12 21:50 UTC (permalink / raw)
  To: fortran@gcc.gnu.org List, gcc

wrt to the Subject of the mail, I'm not sure "Call to arms" means  
what I thought it meant, after all... I really wanted it to sound  
like "call for help" or "call for more arms". Sorry if there was any  
confusion in the tone.

FX

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-12 21:50 ` FX Coudert
@ 2007-04-13  0:31   ` Brooks Moses
  2007-04-13  9:38   ` Jerry DeLisle
  1 sibling, 0 replies; 16+ messages in thread
From: Brooks Moses @ 2007-04-13  0:31 UTC (permalink / raw)
  To: gcc; +Cc: fortran

FX Coudert wrote:
> wrt to the Subject of the mail, I'm not sure "Call to arms" means  
> what I thought it meant, after all... I really wanted it to sound  
> like "call for help" or "call for more arms". Sorry if there was any  
> confusion in the tone.

The literal meaning of "call to arms" is a call for soldiers to take up 
their armaments and be ready to use them.  As an idiomatic metaphor, it 
means "there's something that we need to go fight, so let's all get 
ready and go fight it."  This seems to me perfectly appropriate for a 
situation in which code-bugs are growing in little-trafficked corners 
and in need of a concentrated squashing effort.

- Brooks

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-12 21:50 ` FX Coudert
  2007-04-13  0:31   ` Brooks Moses
@ 2007-04-13  9:38   ` Jerry DeLisle
  1 sibling, 0 replies; 16+ messages in thread
From: Jerry DeLisle @ 2007-04-13  9:38 UTC (permalink / raw)
  To: FX Coudert; +Cc: fortran@gcc.gnu.org List, gcc

FX Coudert wrote:
> wrt to the Subject of the mail, I'm not sure "Call to arms" means what I 
> thought it meant, after all... I really wanted it to sound like "call 
> for help" or "call for more arms". Sorry if there was any confusion in 
> the tone.
> 
> FX
> 
I thought it was great!

Jerry

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

* RE: Call to arms: testsuite failures on various targets
  2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
  2007-04-12 21:50 ` FX Coudert
@ 2007-04-13 12:31 ` Dave Korn
  2007-04-13 19:04   ` Brooks Moses
  2007-04-14 15:12 ` Tim Prince
  2007-04-18  5:28 ` Kaveh R. GHAZI
  3 siblings, 1 reply; 16+ messages in thread
From: Dave Korn @ 2007-04-13 12:31 UTC (permalink / raw)
  To: 'FX Coudert', fortran; +Cc: gcc

On 12 April 2007 22:22, FX Coudert wrote:

> Hi all,

> Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this
> testcase should be reworked

  I was about to report that myself!  Both secnds.f /and/ secnds-1.f have some
kind of race condition or indeterminacy.


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-13 12:31 ` Dave Korn
@ 2007-04-13 19:04   ` Brooks Moses
  0 siblings, 0 replies; 16+ messages in thread
From: Brooks Moses @ 2007-04-13 19:04 UTC (permalink / raw)
  To: gcc; +Cc: fortran

Dave Korn wrote:
> On 12 April 2007 22:22, FX Coudert wrote:
>> Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this
>> testcase should be reworked
> 
>   I was about to report that myself!  Both secnds.f /and/ secnds-1.f have some
> kind of race condition or indeterminacy.

It's an indeterminacy, and a somewhat pernicious one -- I tried to fix 
it a few months ago, and didn't get very far.  My guess is that what's 
happening is inconsistent rounding between two different intrinsic 
functions that both return the current time as a floating-point number, 
or something equivalent to that, but I haven't had any time to poke at 
it farther.

- Brooks

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
  2007-04-12 21:50 ` FX Coudert
  2007-04-13 12:31 ` Dave Korn
@ 2007-04-14 15:12 ` Tim Prince
  2007-04-14 15:50   ` Dorit Nuzman
  2007-04-18  5:28 ` Kaveh R. GHAZI
  3 siblings, 1 reply; 16+ messages in thread
From: Tim Prince @ 2007-04-14 15:12 UTC (permalink / raw)
  To: FX Coudert; +Cc: fortran@gcc.gnu.org List, gcc

FX Coudert wrote:
> Hi all,
>
> I reviewed this afternoon the postings from the gcc-testresults 
> mailing-list for the past month, and we have a couple of gfortran 
> testsuite failures showing up on various targets. Could people with 
> access to said targets (possibly maintainers) please file PRs in 
> bugzilla for each testcase, reporting the error message and/or 
> backtrace? (I'd be happy to be added to the Cc list of these)
>
> * ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
FAIL: gfortran.dg/vect/vect-4.f90  -O  scan-tree-dump-times Alignment of 
access
forced using peeling 1
FAIL: gfortran.dg/vect/vect-4.f90  -O  scan-tree-dump-times Vectorizing 
an unali
gned access 1

This happens on all reported ia64 targets, including mine.  What is 
expected here?  There is no vectorization on ia64, no reason for 
peeling.  The compilation has no problem, and there is no report 
generated.  As far as I know, the vectorization options are ignored.
Without unrolling, of course, gfortran doesn't optimize the loop at all, 
but I assume that's a different question.

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-14 15:12 ` Tim Prince
@ 2007-04-14 15:50   ` Dorit Nuzman
  2007-04-14 18:17     ` Tim Prince
  0 siblings, 1 reply; 16+ messages in thread
From: Dorit Nuzman @ 2007-04-14 15:50 UTC (permalink / raw)
  To: tprince; +Cc: fortran@gcc.gnu.org List, FX Coudert, gcc

> FX Coudert wrote:
> > Hi all,
> >
> > I reviewed this afternoon the postings from the gcc-testresults
> > mailing-list for the past month, and we have a couple of gfortran
> > testsuite failures showing up on various targets. Could people with
> > access to said targets (possibly maintainers) please file PRs in
> > bugzilla for each testcase, reporting the error message and/or
> > backtrace? (I'd be happy to be added to the Cc list of these)
> >
> > * ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
> FAIL: gfortran.dg/vect/vect-4.f90  -O  scan-tree-dump-times Alignment of
> access
> forced using peeling 1
> FAIL: gfortran.dg/vect/vect-4.f90  -O  scan-tree-dump-times Vectorizing
> an unali
> gned access 1
>

These tests should xfail on "vect_no_align" targets. On targets that
support misaligned accesses we use peeling to align two datarefs, and
generate a misaligned memory-access for a third dataref. But on targets
that do not support misaligned accesses I expect we just use versioning
with runtime alignment test. Does the following pass for you (I just added
"{ xfail vect_no_align }" to the two failing tests)?


Index: vect-4.f90
===================================================================
--- vect-4.f90  (revision 123409)
+++ vect-4.f90  (working copy)
@@ -10,7 +10,7 @@
 END

 ! { 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" } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
"vect" } }
+! { dg-final { scan-tree-dump-times "Alignment of access forced using
peeling" 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 "accesses have the same alignment." 1
"vect" } }
 ! { dg-final { cleanup-tree-dump "vect" } }

> This happens on all reported ia64 targets, including mine.  What is
> expected here?  There is no vectorization on ia64, no reason for
> peeling.

apparently there is vectorization taking place because the first test
passes:
'scan-tree-dump-times "vectorized 1 loops" 1 "vect" '

dorit

> The compilation has no problem, and there is no report
> generated.  As far as I know, the vectorization options are ignored.
> Without unrolling, of course, gfortran doesn't optimize the loop at all,
> but I assume that's a different question.

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-14 15:50   ` Dorit Nuzman
@ 2007-04-14 18:17     ` Tim Prince
  2007-04-14 18:50       ` Dorit Nuzman
  0 siblings, 1 reply; 16+ messages in thread
From: Tim Prince @ 2007-04-14 18:17 UTC (permalink / raw)
  To: Dorit Nuzman; +Cc: tprince, fortran@gcc.gnu.org List, FX Coudert, gcc

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

Dorit Nuzman wrote:
>> FX Coudert wrote:
>>     
>>> Hi all,
>>>
>>> I reviewed this afternoon the postings from the gcc-testresults
>>> mailing-list for the past month, and we have a couple of gfortran
>>> testsuite failures showing up on various targets. Could people with
>>> access to said targets (possibly maintainers) please file PRs in
>>> bugzilla for each testcase, reporting the error message and/or
>>> backtrace? (I'd be happy to be added to the Cc list of these)
>>>
>>> * ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
>>>       
>> FAIL: gfortran.dg/vect/vect-4.f90  -O  scan-tree-dump-times Alignment of
>> access
>> forced using peeling 1
>> FAIL: gfortran.dg/vect/vect-4.f90  -O  scan-tree-dump-times Vectorizing
>> an unali
>> gned access 1
>>
>>     
>
> These tests should xfail on "vect_no_align" targets. On targets that
> support misaligned accesses we use peeling to align two datarefs, and
> generate a misaligned memory-access for a third dataref. But on targets
> that do not support misaligned accesses I expect we just use versioning
> with runtime alignment test. Does the following pass for you (I just added
> "{ xfail vect_no_align }" to the two failing tests)?
>
>
> Index: vect-4.f90
> ===================================================================
> --- vect-4.f90  (revision 123409)
> +++ vect-4.f90  (working copy)
> @@ -10,7 +10,7 @@
>  END
>
>  ! { 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" } }
> -! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
> "vect" } }
> +! { dg-final { scan-tree-dump-times "Alignment of access forced using
> peeling" 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 "accesses have the same alignment." 1
> "vect" } }
>  ! { dg-final { cleanup-tree-dump "vect" } }
>
>   

This patch does change those reports to XFAIL (testsuite report attached).
I suppose any attempts to optimize for ia64, such as load-pair 
versioning, would be in the dataflow branch, whose location I don't know.

[-- Attachment #2: ia64070413 --]
[-- Type: text/plain, Size: 6188 bytes --]

laST_UPDATED: Obtained from SVN: trunk revision 123799

Native configuration is ia64-unknown-linux-gnu

		=== gcc tests ===


Running target unix
FAIL: gcc.c-torture/execute/mayalias-2.c compilation,  -O3 -g  (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/mayalias-2.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/mayalias-3.c compilation,  -O3 -g  (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/mayalias-3.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/va-arg-24.c execution,  -O3 -fomit-frame-pointer -funroll-loops 
FAIL: gcc.c-torture/execute/va-arg-24.c execution,  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions 
FAIL: gcc.dg/builtin-apply4.c execution test
FAIL: gcc.dg/pr30643.c scan-assembler-not undefined
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c  -O0  compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c  -O1  compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c  -O2  compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c  -O3 -fomit-frame-pointer  compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c  -O3 -g  compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c  -Os  compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O0  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O0  compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O1  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O1  compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O2  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O2  compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O3 -fomit-frame-pointer  compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -O3 -g  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -O3 -g  compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c  -Os  (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c  -Os  compilation failed to produce executable
XPASS: gcc.dg/tree-ssa/loop-1.c scan-assembler-times foo 5
XPASS: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times Invalid sum 0
FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times Alignment of access forced using peeling 3

		=== gcc Summary ===

# of expected passes		42231
# of unexpected failures	23
# of unexpected successes	2
# of expected failures		155
# of unresolved testcases	2
# of untested testcases		28
# of unsupported tests		374
/home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413 (experimental)

		=== gfortran tests ===


Running target unix

		=== gfortran Summary ===

# of expected passes		17438
# of expected failures		13
# of unsupported tests		20
/home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../../gfortran  version 4.3.0 20070413 (experimental)

		=== g++ tests ===


Running target unix
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn

		=== g++ Summary ===

# of expected passes		13739
# of unexpected failures	7
# of expected failures		79
# of unsupported tests		119
/home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++  version 4.3.0 20070413 (experimental)

		=== objc tests ===


Running target unix

		=== objc Summary ===

# of expected passes		1810
# of expected failures		7
# of unsupported tests		25
/home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413 (experimental)

		=== libgomp tests ===


Running target unix

		=== libgomp Summary ===

# of expected passes		1566
		=== libstdc++ tests ===


Running target unix
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for excess errors)
XPASS: 27_io/fpos/14320-1.cc execution test

		=== libstdc++ Summary ===

# of expected passes		4859
# of unexpected successes	2
# of expected failures		27

Compiler version: 4.3.0 20070413 (experimental) 
Platform: ia64-unknown-linux-gnu
configure flags: --enable-languages='c c++ fortran objc' --enable-bootstrap --enable-maintainer-mode --disable-libmudflap --prefix=/usr/local/gcc43
EOF
Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-14 18:17     ` Tim Prince
@ 2007-04-14 18:50       ` Dorit Nuzman
  0 siblings, 0 replies; 16+ messages in thread
From: Dorit Nuzman @ 2007-04-14 18:50 UTC (permalink / raw)
  To: tprince; +Cc: fortran@gcc.gnu.org List, FX Coudert, gcc, tprince

...
> laST_UPDATED: Obtained from SVN: trunk revision 123799
>
> Native configuration is ia64-unknown-linux-gnu
>
>       === gcc tests ===
>
>

for this one:
> FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1

there should be { target vect_unpack } added to the check. i.e.:
- /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {
target vect_unpack } } } */


for the rest:

> FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
> FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
> FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times
> vectorized 1 loops 1
> FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times
> vectorized 1 loops 1
> FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times
> Alignment of access forced using peeling 3
>

I'll need to look closer. Could you please send me (offline) the .vect dump
files (with -fdump-tree-vect-details) for these?

thanks,
dorit


>       === gcc Summary ===
>
> # of expected passes      42231
> # of unexpected failures   23
> # of unexpected successes   2
> # of expected failures      155
> # of unresolved testcases   2
> # of untested testcases      28
> # of unsupported tests      374
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413
> (experimental)
>
>       === gfortran tests ===
>
>
> Running target unix
>
>       === gfortran Summary ===
>
> # of expected passes      17438
> # of expected failures      13
> # of unsupported tests      20
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../..
> /gfortran  version 4.3.0 20070413 (experimental)
>
>       === g++ tests ===
>
>
> Running target unix
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
>
>       === g++ Summary ===
>
> # of expected passes      13739
> # of unexpected failures   7
> # of expected failures      79
> # of unsupported tests      119
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++
> version 4.3.0 20070413 (experimental)
>
>       === objc tests ===
>
>
> Running target unix
>
>       === objc Summary ===
>
> # of expected passes      1810
> # of expected failures      7
> # of unsupported tests      25
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413
> (experimental)
>
>       === libgomp tests ===
>
>
> Running target unix
>
>       === libgomp Summary ===
>
> # of expected passes      1566
>       === libstdc++ tests ===
>
>
> Running target unix
> XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc
> (test for excess errors)
> XPASS: 27_io/fpos/14320-1.cc execution test
>
>       === libstdc++ Summary ===
>
> # of expected passes      4859
> # of unexpected successes   2
> # of expected failures      27
>
> Compiler version: 4.3.0 20070413 (experimental)
> Platform: ia64-unknown-linux-gnu
> configure flags: --enable-languages='c c++ fortran objc' --enable-
> bootstrap --enable-maintainer-mode --disable-libmudflap --
> prefix=/usr/local/gcc43
> EOF
> Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on
> ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
                   ` (2 preceding siblings ...)
  2007-04-14 15:12 ` Tim Prince
@ 2007-04-18  5:28 ` Kaveh R. GHAZI
  3 siblings, 0 replies; 16+ messages in thread
From: Kaveh R. GHAZI @ 2007-04-18  5:28 UTC (permalink / raw)
  To: FX Coudert; +Cc: fortran@gcc.gnu.org List, gcc

On Thu, 12 Apr 2007, FX Coudert wrote:

> Hi all,
>
> I reviewed this afternoon the postings from the gcc-testresults
> mailing-list for the past month, and we have a couple of gfortran
> testsuite failures showing up on various targets. Could people with
> access to said targets (possibly maintainers) please file PRs in
> bugzilla for each testcase, reporting the error message and/or
> backtrace? (I'd be happy to be added to the Cc list of these)
>
> [...]
> * sparc{,64}-sun-solaris2.10: gfortran.dg/open_errors.f90 gfortran.dg/
> vect/vect-5.f90 (and gfortran.dg/cray_pointers_2.f90 when using -fPIC)

The cray_pointers_2.f90 failure is already noted under PR30774, it's a
solaris issue not necessarily specific to fortran.

The other two, I've opened PRs 31615 and 31616.

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

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

* Re: Call to arms: testsuite failures on various targets
  2007-04-15 19:14 ` Dorit Nuzman
@ 2007-04-16  3:19   ` Tim Prince
  0 siblings, 0 replies; 16+ messages in thread
From: Tim Prince @ 2007-04-16  3:19 UTC (permalink / raw)
  To: Dorit Nuzman; +Cc: FX Coudert, gcc, tprince

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

Dorit Nuzman wrote:
> Thanks Tim for sending the dump files!
>
>   
>> for this one:
>>     
>>> FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
>>>       
>> there should be { target vect_unpack } added to the check. i.e.:
>> - /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
>>     
> */
>   
>> + /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"
>> { target vect_unpack } } } */
>>
>> for the rest:
>>
>>     
>>> FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
>>>       
>
> this one is missing { target vect_pack_mod }
>
>   
>>> FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
>>>       
>
> this one missing { target vect_int_mult }
>
>   
>>> FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>       
>
> here we need to add ia64 to the list of targets in
> 'vect_widen_sum_hi_to_si' in target-support.exp
>
>   
>>> FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times
>>> vectorized 1 loops 1
>>>       
>
> missing { target vect_pack_mod } again
>
>   
>>> FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>       
>
> add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp
>
>   
>>> FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>       
>
> add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp
>
>   
>>> FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>       
>
> add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp
>
>   
>>> FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times
>>> vectorized 1 loops 1
>>>       
>
> missing { target vect_pack_mod }
>
>   
>>> FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>       
>
> add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp
>
>   
>>> FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times
>>> Alignment of access forced using peeling 3
>>>
>>>       
>
> For this one - can you please send the dump file generated with
> -fdump-tree-vect-details? (the files you sent did not contain the detailed
> dump info). Specifically, on powerpc I see this:
>
> Created dr for tmp1[2].e.n[1][i_79][j_68]
>         base_address: &tmp1
>         offset from base address: (<unnamed type>) (i_79 * 32)
>         constant offset from base address: 10544
>         base_object: tmp1[2].e.n
>         step: 4B
>         misalignment from base: 10544B
>         aligned to: 8
>         memtag: tmp1
>
> ....
>
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
>  note: === vect_analyze_data_refs_alignment ===
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
>  note: vect_compute_data_ref_alignment:
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
>  note: Unknown alignment for access: tmp1
>
> ....
>
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
>  note: Alignment of access forced using peeling.
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
>  note: Peeling for alignment will be applied.
>
> I'd like to compare that to what you get on ia64.
>
> In the meantime - this patch includes the above suggested fixes for the
> rest of the tests (tested on the vectorizer testcases on i686-pc-linux-gnu
> and powerpc-linux, but really need to be tested on ia64):
>
> dorit
>
> (See attached file: ia64fixes.txt)
>
>   
>> I'll need to look closer. Could you please send me (offline) the .
>> vect dump files (with -fdump-tree-vect-details) for these?
>>
>> thanks,
>> dorit
>>
>>
>>     
>>>       === gcc Summary ===
>>>
>>> # of expected passes      42231
>>> # of unexpected failures   23
>>> # of unexpected successes   2
>>> # of expected failures      155
>>> # of unresolved testcases   2
>>> # of untested testcases      28
>>> # of unsupported tests      374
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413
>>> (experimental)
>>>
>>>       === gfortran tests ===
>>>
>>>
>>> Running target unix
>>>
>>>       === gfortran Summary ===
>>>
>>> # of expected passes      17438
>>> # of expected failures      13
>>> # of unsupported tests      20
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../..
>>> /gfortran  version 4.3.0 20070413 (experimental)
>>>
>>>       === g++ tests ===
>>>
>>>
>>> Running target unix
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>>
>>>       === g++ Summary ===
>>>
>>> # of expected passes      13739
>>> # of unexpected failures   7
>>> # of expected failures      79
>>> # of unsupported tests      119
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++
>>> version 4.3.0 20070413 (experimental)
>>>
>>>       === objc tests ===
>>>
>>>
>>> Running target unix
>>>
>>>       === objc Summary ===
>>>
>>> # of expected passes      1810
>>> # of expected failures      7
>>> # of unsupported tests      25
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413
>>> (experimental)
>>>
>>>       === libgomp tests ===
>>>
>>>
>>> Running target unix
>>>
>>>       === libgomp Summary ===
>>>
>>> # of expected passes      1566
>>>       === libstdc++ tests ===
>>>
>>>
>>> Running target unix
>>> XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc
>>> (test for excess errors)
>>> XPASS: 27_io/fpos/14320-1.cc execution test
>>>
>>>       === libstdc++ Summary ===
>>>
>>> # of expected passes      4859
>>> # of unexpected successes   2
>>> # of expected failures      27
>>>
>>> Compiler version: 4.3.0 20070413 (experimental)
>>> Platform: ia64-unknown-linux-gnu
>>> configure flags: --enable-languages='c c++ fortran objc' --enable-
>>> bootstrap --enable-maintainer-mode --disable-libmudflap --
>>> prefix=/usr/local/gcc43
>>> EOF
>>> Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on
>>> ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&
>>> ------------------------------------------------------------------------
>>>
>>> Index: gcc.dg/vect/vect-iv-9.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-iv-9.c	(revision 123694)
>>> +++ gcc.dg/vect/vect-iv-9.c	(working copy)
>>> @@ -33,5 +33,6 @@
>>>    return 0;
>>>  } 
>>>  
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_int_mult } } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target {! vect_int_mult } } } } */
>>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>> Index: gcc.dg/vect/vect-reduc-dot-u16b.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-reduc-dot-u16b.c	(revision 123694)
>>> +++ gcc.dg/vect/vect-reduc-dot-u16b.c	(working copy)
>>> @@ -53,6 +53,6 @@
>>>     dot-product of unsigned shorts) and targets that support widening multiplication.  */
>>>  /* The induction loop in main is vectorized.  */
>>>  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */ 
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ 
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */ 
>>>  
>>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>> Index: gcc.dg/vect/vect-iv-4.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-iv-4.c	(revision 123694)
>>> +++ gcc.dg/vect/vect-iv-4.c	(working copy)
>>> @@ -40,5 +40,5 @@
>>>    return main1 ();
>>>  } 
>>>  
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
>>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>> Index: gcc.dg/vect/vect-widen-mult-u16.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-widen-mult-u16.c	(revision 123694)
>>> +++ gcc.dg/vect/vect-widen-mult-u16.c	(working copy)
>>> @@ -44,6 +44,6 @@
>>>  
>>>  /*The induction loop is vectorized  */
>>>  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
>>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>>  
>>> Index: lib/target-supports.exp
>>> ===================================================================
>>> --- lib/target-supports.exp	(revision 123694)
>>> +++ lib/target-supports.exp	(working copy)
>>> @@ -1624,7 +1624,8 @@
>>>          verbose "check_effective_target_vect_widen_sum_hi_to_si: using cached result" 2
>>>      } else {
>>>          set et_vect_widen_sum_hi_to_si_saved [check_effective_target_vect_unpack]
>>> -        if { [istarget powerpc*-*-*] } {
>>> +        if { [istarget powerpc*-*-*] 
>>> +	     || [istarget ia64-*-*] } {
>>>              set et_vect_widen_sum_hi_to_si_saved 1
>>>          }
>>>      }
>>> @@ -1646,7 +1647,8 @@
>>>          verbose "check_effective_target_vect_widen_sum_qi_to_hi: using cached result" 2
>>>      } else {
>>>          set et_vect_widen_sum_qi_to_hi_saved 0
>>> -	if { [check_effective_target_vect_unpack] } {
>>> +	if { [check_effective_target_vect_unpack] 
>>> +	     || [istarget ia64-*-*] } {
>>>              set et_vect_widen_sum_qi_to_hi_saved 1
>>>  	}
>>>      }
>>> Index: gcc.dg/vect/pr30771.c
>>> ===================================================================
>>> --- gcc.dg/vect/pr30771.c	(revision 123694)
>>> +++ gcc.dg/vect/pr30771.c	(working copy)
>>> @@ -14,5 +14,5 @@
>>>    return 0;
>>>  }
>>>  
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
>>>  /* { dg-final { cleanup-tree-dump "vect" } } */
>>>       
Dorit,
Sorry I missed this file which I made for you.  I will try your 
suggested patches in gcc-testsuite.  I don't think the gfortran list 
will be interested in the gcc-testsuite patches.  I don't know whether 
anyone on the gfortran list has the influence to get them adopted. 
My own experience with patch submission is it takes 2-3 years to get 
them adopted, by which time they require significant updates.  So I 
think that submitting PR myself against gcc would delay the process.  I 
have 5 of them already,  from a few weeks to several years old.

[-- Attachment #2: no-section-anchors-vect-69.c.097t.vect --]
[-- Type: text/plain, Size: 51465 bytes --]


;; Function main1 (main1)

(get_loop_exit_condition 
  )
(get_loop_exit_condition 
  )
(get_loop_exit_condition 
  if (ivtmp.32_1 != 0) goto <L113>; else goto <L114>;)
(get_loop_exit_condition 
  if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = ivtmp.33_46)
(get_scalar_evolution 
  (scalar = ivtmp.33_46)
  (scalar_evolution = ))
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = ivtmp.33_7)
(get_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
ivtmp.33_7 = PHI <ivtmp.33_46(28), 4(42)>)
  (init_cond = 4))
(analyze_evolution_in_loop 
  (loop_phi_node = ivtmp.33_7 = PHI <ivtmp.33_46(28), 4(42)>)
(add_to_evolution 
  (loop_nb = 10)
  (chrec_before = 4)
  (to_add = 1)
  (res = {4, +, 4294967295}_10))
  (evolution_function = {4, +, 4294967295}_10))
(set_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(set_scalar_evolution 
  (scalar = ivtmp.33_46)
  (scalar_evolution = {3, +, 4294967295}_10))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = 0)
(get_scalar_evolution 
  (scalar = 0)
  (scalar_evolution = 0))
)
Analysing # of iterations of loop 10
  exit condition [3, + , 4294967295] != 0
  bounds on difference of bases: -3 ... -3
  result:
    # of iterations 3, bounded by 3
  (set_nb_iterations_in_loop = 3))
(get_loop_exit_condition 
  if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(init_array_ref 
  (ref = tmp2[2].e.n[1][i_71][j_49];
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = j_49)
(get_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
j_49 = PHI <j_44(28), 0(42)>)
  (init_cond = 0))
(analyze_evolution_in_loop 
  (loop_phi_node = j_49 = PHI <j_44(28), 0(42)>)
(add_to_evolution 
  (loop_nb = 10)
  (chrec_before = 0)
  (to_add = 1)
  (res = {0, +, 1}_10))
  (evolution_function = {0, +, 1}_10))
(set_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = {0, +, 1}_10)
  (res = {0, +, 1}_10))
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = i_71)
(get_scalar_evolution 
  (scalar = i_71)
  (scalar_evolution = ))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = i_71)
(analyze_scalar_evolution 
  (loop_nb = 9)
  (scalar = i_71)
(get_scalar_evolution 
  (scalar = i_71)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
i_71 = PHI <0(41), i_45(31)>)
  (init_cond = 0))
(analyze_evolution_in_loop 
  (loop_phi_node = i_71 = PHI <0(41), i_45(31)>)
(add_to_evolution 
  (loop_nb = 9)
  (chrec_before = 0)
  (to_add = 1)
  (res = {0, +, 1}_9))
  (evolution_function = {0, +, 1}_9))
(set_scalar_evolution 
  (scalar = i_71)
  (scalar_evolution = {0, +, 1}_9))
)
  (res = {0, +, 1}_9))
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = 1)
  (res = 1))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = j_49)
(get_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = i_71)
(get_scalar_evolution 
  (scalar = i_71)
  (scalar_evolution = {0, +, 1}_9))
)

Created dr for tmp2[2].e.n[1][i_71][j_49]
	base_address: &tmp2
	offset from base address: (<unnamed-signed:64>) (i_71 * 28)
	constant offset from base address: 7104
	base_object: tmp2[2].e.n
	step: 4B
	misalignment from base: 7104B
	aligned to: 1
	memtag: tmp2
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = ivtmp.33_7)
(get_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
(set_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = j_49)
(get_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = ivtmp.33_7)
(get_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
(set_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = {4, +, 4294967295}_10)
  (res = {4, +, 4294967295}_10))
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = j_49)
(get_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = {0, +, 1}_10)
  (res = {0, +, 1}_10))

no-section-anchors-vect-69.c:88: note: Alignment of access forced using peeling.(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = ivtmp.33_7)
(get_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
(set_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {4, +, 4294967295}_10))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = {4, +, 4294967295}_10)
  (res = {4, +, 4294967295}_10))
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = j_49)
(get_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {0, +, 1}_10))
)
(instantiate_parameters 
  (loop_nb = 10)
  (chrec = {0, +, 1}_10)
  (res = {0, +, 1}_10))
(get_loop_exit_condition 
  if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(get_loop_exit_condition 
  if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(get_loop_exit_condition 
  if (ivtmp.33_95 != 0) goto <L117>; else goto <L121>;)
(get_loop_exit_condition 
  if (ivtmp.47_102 < prolog_loop_niters.46_89) goto <L117>; else goto <L121>;)

loop at no-section-anchors-vect-69.c:90: if (ivtmp.47_102 < prolog_loop_niters.46_89) goto <L117>; else goto <L121>;=== vect_update_inits_of_dr ===(get_loop_exit_condition 
  if (ivtmp.33_46 != 0) goto <L112>; else goto <L123>;)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = ivtmp.33_7)
(get_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
ivtmp.33_7 = PHI <ivtmp.33_46(28), ivtmp.33_96(56)>)
  (init_cond = ivtmp.33_96))
(analyze_evolution_in_loop 
  (loop_phi_node = ivtmp.33_7 = PHI <ivtmp.33_46(28), ivtmp.33_96(56)>)
(add_to_evolution 
  (loop_nb = 10)
  (chrec_before = ivtmp.33_96)
  (to_add = 1)
  (res = {ivtmp.33_96, +, 4294967295}_10))
  (evolution_function = {ivtmp.33_96, +, 4294967295}_10))
(set_scalar_evolution 
  (scalar = ivtmp.33_7)
  (scalar_evolution = {ivtmp.33_96, +, 4294967295}_10))
)
(analyze_scalar_evolution 
  (loop_nb = 10)
  (scalar = j_49)
(get_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
j_49 = PHI <j_44(28), j_99(56)>)
  (init_cond = j_99))
(analyze_evolution_in_loop 
  (loop_phi_node = j_49 = PHI <j_44(28), j_99(56)>)
(add_to_evolution 
  (loop_nb = 10)
  (chrec_before = j_99)
  (to_add = 1)
  (res = {j_99, +, 1}_10))
  (evolution_function = {j_99, +, 1}_10))
(set_scalar_evolution 
  (scalar = j_49)
  (scalar_evolution = {j_99, +, 1}_10))
)
NOTE: no flow-sensitive alias info for ivtmp.59_129 in *ivtmp.59_129 = vect_cst_.53_120;
(get_loop_exit_condition 
  if (ivtmp.33_46 != 0) goto <L112>; else goto <L128>;)
(get_loop_exit_condition 
  if (ivtmp.60_132 < bnd.49_104) goto <L112>; else goto <L128>;)

loop at no-section-anchors-vect-69.c:90: if (ivtmp.60_132 < bnd.49_104) goto <L112>; else goto <L128>;

Registering new PHI nodes in block #0



Registering new PHI nodes in block #2



Registering new PHI nodes in block #3



Registering new PHI nodes in block #4



Registering new PHI nodes in block #5



Registering new PHI nodes in block #6



Registering new PHI nodes in block #7

Updating SSA information for statement abort ();



Registering new PHI nodes in block #8



Registering new PHI nodes in block #9



Registering new PHI nodes in block #10



Registering new PHI nodes in block #11



Registering new PHI nodes in block #12



Registering new PHI nodes in block #13



Registering new PHI nodes in block #14



Registering new PHI nodes in block #15

Updating SSA information for statement abort ();



Registering new PHI nodes in block #16



Registering new PHI nodes in block #17



Registering new PHI nodes in block #39



Registering new PHI nodes in block #40



Registering new PHI nodes in block #19



Registering new PHI nodes in block #20



Registering new PHI nodes in block #21



Registering new PHI nodes in block #43



Registering new PHI nodes in block #44



Registering new PHI nodes in block #23



Registering new PHI nodes in block #24

Updating SSA information for statement abort ();



Registering new PHI nodes in block #25



Registering new PHI nodes in block #26



Registering new PHI nodes in block #27



Registering new PHI nodes in block #41



Registering new PHI nodes in block #42



Registering new PHI nodes in block #49



Registering new PHI nodes in block #47

Updating SSA information for statement tmp2[2].e.n[1][i_71][j_92] = 8;



Registering new PHI nodes in block #48



Registering new PHI nodes in block #51



Registering new PHI nodes in block #50



Registering new PHI nodes in block #56



Registering new PHI nodes in block #57



Registering new PHI nodes in block #54

Updating SSA information for statement tmp2[2].e.n[1][i_71][j_108] = 8;



Registering new PHI nodes in block #55



Registering new PHI nodes in block #60



Registering new PHI nodes in block #59



Registering new PHI nodes in block #53



Registering new PHI nodes in block #61



Registering new PHI nodes in block #29

Updating SSA information for statement *ivtmp.59_129 = vect_cst_.53_120;



Registering new PHI nodes in block #28



Registering new PHI nodes in block #58



Registering new PHI nodes in block #52



Registering new PHI nodes in block #30



Registering new PHI nodes in block #31



Registering new PHI nodes in block #45



Registering new PHI nodes in block #46



Registering new PHI nodes in block #33

Updating SSA information for statement D.2303_50 = tmp2[2].e.n[1][i_73][j_76];



Registering new PHI nodes in block #34

Updating SSA information for statement abort ();



Registering new PHI nodes in block #35



Registering new PHI nodes in block #36



Registering new PHI nodes in block #38



Registering new PHI nodes in block #37



Registering new PHI nodes in block #32



Registering new PHI nodes in block #22



Registering new PHI nodes in block #18



Symbols to be put in SSA form

{ tmp2 }


Incremental SSA update started at block: 0

Number of blocks in CFG: 62
Number of blocks to update: 61 ( 98%)

Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 



no-section-anchors-vect-69.c:88: note: LOOP VECTORIZED.(get_loop_exit_condition 
  )
(get_loop_exit_condition 
  )
(get_loop_exit_condition 
  if (ivtmp.36_10 != 0) goto <L107>; else goto <L108>;)
(get_loop_exit_condition 
  if (ivtmp.37_58 != 0) goto <L106>; else goto <L19>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = ivtmp.37_58)
(get_scalar_evolution 
  (scalar = ivtmp.37_58)
  (scalar_evolution = ))
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = ivtmp.37_3)
(get_scalar_evolution 
  (scalar = ivtmp.37_3)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
ivtmp.37_3 = PHI <ivtmp.37_58(18), 8(40)>)
  (init_cond = 8))
(analyze_evolution_in_loop 
  (loop_phi_node = ivtmp.37_3 = PHI <ivtmp.37_58(18), 8(40)>)
(add_to_evolution 
  (loop_nb = 6)
  (chrec_before = 8)
  (to_add = 1)
  (res = {8, +, 4294967295}_6))
  (evolution_function = {8, +, 4294967295}_6))
(set_scalar_evolution 
  (scalar = ivtmp.37_3)
  (scalar_evolution = {8, +, 4294967295}_6))
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(set_scalar_evolution 
  (scalar = ivtmp.37_58)
  (scalar_evolution = {7, +, 4294967295}_6))
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = 0)
(get_scalar_evolution 
  (scalar = 0)
  (scalar_evolution = 0))
)
Analysing # of iterations of loop 6
  exit condition [7, + , 4294967295] != 0
  bounds on difference of bases: -7 ... -7
  result:
    # of iterations 7, bounded by 7
  (set_nb_iterations_in_loop = 7))
(get_loop_exit_condition 
  if (ivtmp.37_58 != 0) goto <L106>; else goto <L19>;)
(init_array_ref 
  (ref = tmp1[2].e.n[1][i_68][j_53];
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = j_53)
(get_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
j_53 = PHI <j_31(18), 0(40)>)
  (init_cond = 0))
(analyze_evolution_in_loop 
  (loop_phi_node = j_53 = PHI <j_31(18), 0(40)>)
(add_to_evolution 
  (loop_nb = 6)
  (chrec_before = 0)
  (to_add = 1)
  (res = {0, +, 1}_6))
  (evolution_function = {0, +, 1}_6))
(set_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
)
(instantiate_parameters 
  (loop_nb = 6)
  (chrec = {0, +, 1}_6)
  (res = {0, +, 1}_6))
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = i_68)
(get_scalar_evolution 
  (scalar = i_68)
  (scalar_evolution = ))
)
(instantiate_parameters 
  (loop_nb = 6)
  (chrec = i_68)
(analyze_scalar_evolution 
  (loop_nb = 5)
  (scalar = i_68)
(get_scalar_evolution 
  (scalar = i_68)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
i_68 = PHI <0(39), i_32(21)>)
  (init_cond = 0))
(analyze_evolution_in_loop 
  (loop_phi_node = i_68 = PHI <0(39), i_32(21)>)
(add_to_evolution 
  (loop_nb = 5)
  (chrec_before = 0)
  (to_add = 1)
  (res = {0, +, 1}_5))
  (evolution_function = {0, +, 1}_5))
(set_scalar_evolution 
  (scalar = i_68)
  (scalar_evolution = {0, +, 1}_5))
)
  (res = {0, +, 1}_5))
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(instantiate_parameters 
  (loop_nb = 6)
  (chrec = 1)
  (res = 1))
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = j_53)
(get_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
(set_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = i_68)
(get_scalar_evolution 
  (scalar = i_68)
  (scalar_evolution = {0, +, 1}_5))
)

Created dr for tmp1[2].e.n[1][i_68][j_53]
	base_address: &tmp1
	offset from base address: (<unnamed-signed:64>) (i_68 * 32)
	constant offset from base address: 10544
	base_object: tmp1[2].e.n
	step: 4B
	misalignment from base: 10544B
	aligned to: 8
	memtag: tmp1
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = ivtmp.37_3)
(get_scalar_evolution 
  (scalar = ivtmp.37_3)
  (scalar_evolution = {8, +, 4294967295}_6))
(set_scalar_evolution 
  (scalar = ivtmp.37_3)
  (scalar_evolution = {8, +, 4294967295}_6))
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = j_53)
(get_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
(set_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
)
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = ivtmp.37_3)
(get_scalar_evolution 
  (scalar = ivtmp.37_3)
  (scalar_evolution = {8, +, 4294967295}_6))
(set_scalar_evolution 
  (scalar = ivtmp.37_3)
  (scalar_evolution = {8, +, 4294967295}_6))
)
(instantiate_parameters 
  (loop_nb = 6)
  (chrec = {8, +, 4294967295}_6)
  (res = {8, +, 4294967295}_6))
(analyze_scalar_evolution 
  (loop_nb = 6)
  (scalar = j_53)
(get_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
(set_scalar_evolution 
  (scalar = j_53)
  (scalar_evolution = {0, +, 1}_6))
)
(instantiate_parameters 
  (loop_nb = 6)
  (chrec = {0, +, 1}_6)
  (res = {0, +, 1}_6))
NOTE: no flow-sensitive alias info for ivtmp.67_142 in *ivtmp.67_142 = vect_cst_.61_135;
(get_loop_exit_condition 
  if (ivtmp.37_58 != 0) goto <L106>; else goto <L19>;)
(get_loop_exit_condition 
  if (ivtmp.68_145 < 4) goto <L106>; else goto <L19>;)

loop at no-section-anchors-vect-69.c:71: if (ivtmp.68_145 < 4) goto <L106>; else goto <L19>;

Registering new PHI nodes in block #0



Registering new PHI nodes in block #2



Registering new PHI nodes in block #3

Updating SSA information for statement tmp1[2].a.n[1][2][i_48] = 5;



Registering new PHI nodes in block #4



Registering new PHI nodes in block #5



Registering new PHI nodes in block #6

Updating SSA information for statement D.2300_18 = tmp1[2].a.n[1][2][i_67];



Registering new PHI nodes in block #7

Updating SSA information for statement abort ();



Registering new PHI nodes in block #8



Registering new PHI nodes in block #9



Registering new PHI nodes in block #10



Registering new PHI nodes in block #11

Updating SSA information for statement tmp1[2].a.n[1][2][i_47] = 6;



Registering new PHI nodes in block #12



Registering new PHI nodes in block #13



Registering new PHI nodes in block #14

Updating SSA information for statement D.2300_25 = tmp1[2].a.n[1][2][i_42];



Registering new PHI nodes in block #15

Updating SSA information for statement abort ();



Registering new PHI nodes in block #16



Registering new PHI nodes in block #17



Registering new PHI nodes in block #39



Registering new PHI nodes in block #40



Registering new PHI nodes in block #62



Registering new PHI nodes in block #19

Updating SSA information for statement *ivtmp.67_142 = vect_cst_.61_135;



Registering new PHI nodes in block #20



Registering new PHI nodes in block #21



Registering new PHI nodes in block #43



Registering new PHI nodes in block #44



Registering new PHI nodes in block #23

Updating SSA information for statement D.2302_37 = tmp1[2].e.n[1][i_70][j_74];



Registering new PHI nodes in block #24

Updating SSA information for statement abort ();



Registering new PHI nodes in block #25



Registering new PHI nodes in block #26



Registering new PHI nodes in block #27



Registering new PHI nodes in block #41



Registering new PHI nodes in block #42



Registering new PHI nodes in block #49



Registering new PHI nodes in block #47



Registering new PHI nodes in block #48



Registering new PHI nodes in block #51



Registering new PHI nodes in block #50



Registering new PHI nodes in block #56



Registering new PHI nodes in block #57



Registering new PHI nodes in block #54



Registering new PHI nodes in block #55



Registering new PHI nodes in block #60



Registering new PHI nodes in block #59



Registering new PHI nodes in block #53



Registering new PHI nodes in block #61



Registering new PHI nodes in block #29



Registering new PHI nodes in block #28



Registering new PHI nodes in block #58



Registering new PHI nodes in block #52



Registering new PHI nodes in block #30



Registering new PHI nodes in block #31



Registering new PHI nodes in block #45



Registering new PHI nodes in block #46



Registering new PHI nodes in block #33



Registering new PHI nodes in block #34

Updating SSA information for statement abort ();



Registering new PHI nodes in block #35



Registering new PHI nodes in block #36



Registering new PHI nodes in block #38



Registering new PHI nodes in block #37



Registering new PHI nodes in block #32



Registering new PHI nodes in block #22



Registering new PHI nodes in block #18



Symbols to be put in SSA form

{ tmp1 }


Incremental SSA update started at block: 0

Number of blocks in CFG: 63
Number of blocks to update: 62 ( 98%)

Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 



no-section-anchors-vect-69.c:69: note: LOOP VECTORIZED.(get_loop_exit_condition 
  )
(get_loop_exit_condition 
  if (ivtmp.39_57 != 0) goto <L102>; else goto <L103>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = ivtmp.39_57)
(get_scalar_evolution 
  (scalar = ivtmp.39_57)
  (scalar_evolution = ))
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = ivtmp.39_41)
(get_scalar_evolution 
  (scalar = ivtmp.39_41)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
ivtmp.39_41 = PHI <4(10), ivtmp.39_57(12)>)
  (init_cond = 4))
(analyze_evolution_in_loop 
  (loop_phi_node = ivtmp.39_41 = PHI <4(10), ivtmp.39_57(12)>)
(add_to_evolution 
  (loop_nb = 3)
  (chrec_before = 4)
  (to_add = 1)
  (res = {4, +, 4294967295}_3))
  (evolution_function = {4, +, 4294967295}_3))
(set_scalar_evolution 
  (scalar = ivtmp.39_41)
  (scalar_evolution = {4, +, 4294967295}_3))
)
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(set_scalar_evolution 
  (scalar = ivtmp.39_57)
  (scalar_evolution = {3, +, 4294967295}_3))
)
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = 0)
(get_scalar_evolution 
  (scalar = 0)
  (scalar_evolution = 0))
)
Analysing # of iterations of loop 3
  exit condition [3, + , 4294967295] != 0
  bounds on difference of bases: -3 ... -3
  result:
    # of iterations 3, bounded by 3
  (set_nb_iterations_in_loop = 3))
(get_loop_exit_condition 
  if (ivtmp.39_57 != 0) goto <L102>; else goto <L103>;)
(init_array_ref 
  (ref = tmp1[2].a.n[1][2][i_47];
)
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = i_47)
(get_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
i_47 = PHI <3(10), i_22(12)>)
  (init_cond = 3))
(analyze_evolution_in_loop 
  (loop_phi_node = i_47 = PHI <3(10), i_22(12)>)
(add_to_evolution 
  (loop_nb = 3)
  (chrec_before = 3)
  (to_add = 1)
  (res = {3, +, 1}_3))
  (evolution_function = {3, +, 1}_3))
(set_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
)
(instantiate_parameters 
  (loop_nb = 3)
  (chrec = {3, +, 1}_3)
  (res = {3, +, 1}_3))
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = 2)
(get_scalar_evolution 
  (scalar = 2)
  (scalar_evolution = 2))
)
(instantiate_parameters 
  (loop_nb = 3)
  (chrec = 2)
  (res = 2))
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(instantiate_parameters 
  (loop_nb = 3)
  (chrec = 1)
  (res = 1))
)
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = i_47)
(get_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
(set_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
)

Created dr for tmp1[2].a.n[1][2][i_47]
	base_address: &tmp1
	offset from base address: 0
	constant offset from base address: 8560
	base_object: tmp1[2].a.n
	step: 4B
	misalignment from base: 8560B
	memtag: tmp1
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = ivtmp.39_41)
(get_scalar_evolution 
  (scalar = ivtmp.39_41)
  (scalar_evolution = {4, +, 4294967295}_3))
(set_scalar_evolution 
  (scalar = ivtmp.39_41)
  (scalar_evolution = {4, +, 4294967295}_3))
)
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = i_47)
(get_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
(set_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
)
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = ivtmp.39_41)
(get_scalar_evolution 
  (scalar = ivtmp.39_41)
  (scalar_evolution = {4, +, 4294967295}_3))
(set_scalar_evolution 
  (scalar = ivtmp.39_41)
  (scalar_evolution = {4, +, 4294967295}_3))
)
(instantiate_parameters 
  (loop_nb = 3)
  (chrec = {4, +, 4294967295}_3)
  (res = {4, +, 4294967295}_3))
(analyze_scalar_evolution 
  (loop_nb = 3)
  (scalar = i_47)
(get_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
(set_scalar_evolution 
  (scalar = i_47)
  (scalar_evolution = {3, +, 1}_3))
)
(instantiate_parameters 
  (loop_nb = 3)
  (chrec = {3, +, 1}_3)
  (res = {3, +, 1}_3))
NOTE: no flow-sensitive alias info for ivtmp.75_150 in *ivtmp.75_150 = vect_cst_.69_146;
(get_loop_exit_condition 
  if (ivtmp.39_57 != 0) goto <L102>; else goto <L103>;)
(get_loop_exit_condition 
  if (ivtmp.76_153 < 2) goto <L102>; else goto <L103>;)

loop at no-section-anchors-vect-69.c:56: if (ivtmp.76_153 < 2) goto <L102>; else goto <L103>;

Registering new PHI nodes in block #0



Registering new PHI nodes in block #2



Registering new PHI nodes in block #3

Updating SSA information for statement tmp1[2].a.n[1][2][i_48] = 5;



Registering new PHI nodes in block #4



Registering new PHI nodes in block #5



Registering new PHI nodes in block #6

Updating SSA information for statement D.2300_18 = tmp1[2].a.n[1][2][i_67];



Registering new PHI nodes in block #7

Updating SSA information for statement abort ();



Registering new PHI nodes in block #8



Registering new PHI nodes in block #9



Registering new PHI nodes in block #10



Registering new PHI nodes in block #63



Registering new PHI nodes in block #11

Updating SSA information for statement *ivtmp.75_150 = vect_cst_.69_146;



Registering new PHI nodes in block #12



Registering new PHI nodes in block #13



Registering new PHI nodes in block #14

Updating SSA information for statement D.2300_25 = tmp1[2].a.n[1][2][i_42];



Registering new PHI nodes in block #15

Updating SSA information for statement abort ();



Registering new PHI nodes in block #16



Registering new PHI nodes in block #17



Registering new PHI nodes in block #39



Registering new PHI nodes in block #40



Registering new PHI nodes in block #62



Registering new PHI nodes in block #19

Updating SSA information for statement *ivtmp.67_142 = vect_cst_.61_135;



Registering new PHI nodes in block #20



Registering new PHI nodes in block #21



Registering new PHI nodes in block #43



Registering new PHI nodes in block #44



Registering new PHI nodes in block #23

Updating SSA information for statement D.2302_37 = tmp1[2].e.n[1][i_70][j_74];



Registering new PHI nodes in block #24

Updating SSA information for statement abort ();



Registering new PHI nodes in block #25



Registering new PHI nodes in block #26



Registering new PHI nodes in block #27



Registering new PHI nodes in block #41



Registering new PHI nodes in block #42



Registering new PHI nodes in block #49



Registering new PHI nodes in block #47



Registering new PHI nodes in block #48



Registering new PHI nodes in block #51



Registering new PHI nodes in block #50



Registering new PHI nodes in block #56



Registering new PHI nodes in block #57



Registering new PHI nodes in block #54



Registering new PHI nodes in block #55



Registering new PHI nodes in block #60



Registering new PHI nodes in block #59



Registering new PHI nodes in block #53



Registering new PHI nodes in block #61



Registering new PHI nodes in block #29



Registering new PHI nodes in block #28



Registering new PHI nodes in block #58



Registering new PHI nodes in block #52



Registering new PHI nodes in block #30



Registering new PHI nodes in block #31



Registering new PHI nodes in block #45



Registering new PHI nodes in block #46



Registering new PHI nodes in block #33



Registering new PHI nodes in block #34

Updating SSA information for statement abort ();



Registering new PHI nodes in block #35



Registering new PHI nodes in block #36



Registering new PHI nodes in block #38



Registering new PHI nodes in block #37



Registering new PHI nodes in block #32



Registering new PHI nodes in block #22



Registering new PHI nodes in block #18



Symbols to be put in SSA form

{ tmp1 }


Incremental SSA update started at block: 0

Number of blocks in CFG: 64
Number of blocks to update: 63 ( 98%)

Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 



no-section-anchors-vect-69.c:54: note: LOOP VECTORIZED.(get_loop_exit_condition 
  )
(get_loop_exit_condition 
  if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = ivtmp.41_60)
(get_scalar_evolution 
  (scalar = ivtmp.41_60)
  (scalar_evolution = ))
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = ivtmp.41_4)
(get_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
ivtmp.41_4 = PHI <ivtmp.41_60(4), 8(2)>)
  (init_cond = 8))
(analyze_evolution_in_loop 
  (loop_phi_node = ivtmp.41_4 = PHI <ivtmp.41_60(4), 8(2)>)
(add_to_evolution 
  (loop_nb = 1)
  (chrec_before = 8)
  (to_add = 1)
  (res = {8, +, 4294967295}_1))
  (evolution_function = {8, +, 4294967295}_1))
(set_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(set_scalar_evolution 
  (scalar = ivtmp.41_60)
  (scalar_evolution = {7, +, 4294967295}_1))
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = 0)
(get_scalar_evolution 
  (scalar = 0)
  (scalar_evolution = 0))
)
Analysing # of iterations of loop 1
  exit condition [7, + , 4294967295] != 0
  bounds on difference of bases: -7 ... -7
  result:
    # of iterations 7, bounded by 7
  (set_nb_iterations_in_loop = 7))
(get_loop_exit_condition 
  if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(init_array_ref 
  (ref = tmp1[2].a.n[1][2][i_48];
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = i_48)
(get_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
i_48 = PHI <i_15(4), 0(2)>)
  (init_cond = 0))
(analyze_evolution_in_loop 
  (loop_phi_node = i_48 = PHI <i_15(4), 0(2)>)
(add_to_evolution 
  (loop_nb = 1)
  (chrec_before = 0)
  (to_add = 1)
  (res = {0, +, 1}_1))
  (evolution_function = {0, +, 1}_1))
(set_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = {0, +, 1}_1)
  (res = {0, +, 1}_1))
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = 2)
(get_scalar_evolution 
  (scalar = 2)
  (scalar_evolution = 2))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = 2)
  (res = 2))
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = 1)
(get_scalar_evolution 
  (scalar = 1)
  (scalar_evolution = 1))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = 1)
  (res = 1))
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = i_48)
(get_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
)

Created dr for tmp1[2].a.n[1][2][i_48]
	base_address: &tmp1
	offset from base address: 0
	constant offset from base address: 8548
	base_object: tmp1[2].a.n
	step: 4B
	misalignment from base: 8548B
	memtag: tmp1
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = ivtmp.41_4)
(get_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
(set_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = i_48)
(get_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = ivtmp.41_4)
(get_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
(set_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = {8, +, 4294967295}_1)
  (res = {8, +, 4294967295}_1))
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = i_48)
(get_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = {0, +, 1}_1)
  (res = {0, +, 1}_1))

no-section-anchors-vect-69.c:41: note: Alignment of access forced using peeling.(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = ivtmp.41_4)
(get_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
(set_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {8, +, 4294967295}_1))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = {8, +, 4294967295}_1)
  (res = {8, +, 4294967295}_1))
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = i_48)
(get_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {0, +, 1}_1))
)
(instantiate_parameters 
  (loop_nb = 1)
  (chrec = {0, +, 1}_1)
  (res = {0, +, 1}_1))
(get_loop_exit_condition 
  if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(get_loop_exit_condition 
  if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(get_loop_exit_condition 
  if (ivtmp.41_159 != 0) goto <L134>; else goto <L138>;)
(get_loop_exit_condition 
  if (ivtmp.79_166 < 1) goto <L134>; else goto <L138>;)

loop at no-section-anchors-vect-69.c:43: if (ivtmp.79_166 < 1) goto <L134>; else goto <L138>;=== vect_update_inits_of_dr ===(get_loop_exit_condition 
  if (ivtmp.41_60 != 0) goto <L98>; else goto <L140>;)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = ivtmp.41_4)
(get_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
ivtmp.41_4 = PHI <ivtmp.41_60(4), ivtmp.41_160(73)>)
  (init_cond = ivtmp.41_160))
(analyze_evolution_in_loop 
  (loop_phi_node = ivtmp.41_4 = PHI <ivtmp.41_60(4), ivtmp.41_160(73)>)
(add_to_evolution 
  (loop_nb = 1)
  (chrec_before = ivtmp.41_160)
  (to_add = 1)
  (res = {ivtmp.41_160, +, 4294967295}_1))
  (evolution_function = {ivtmp.41_160, +, 4294967295}_1))
(set_scalar_evolution 
  (scalar = ivtmp.41_4)
  (scalar_evolution = {ivtmp.41_160, +, 4294967295}_1))
)
(analyze_scalar_evolution 
  (loop_nb = 1)
  (scalar = i_48)
(get_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = ))
(analyze_initial_condition 
  (loop_phi_node = 
i_48 = PHI <i_15(4), i_163(73)>)
  (init_cond = i_163))
(analyze_evolution_in_loop 
  (loop_phi_node = i_48 = PHI <i_15(4), i_163(73)>)
(add_to_evolution 
  (loop_nb = 1)
  (chrec_before = i_163)
  (to_add = 1)
  (res = {i_163, +, 1}_1))
  (evolution_function = {i_163, +, 1}_1))
(set_scalar_evolution 
  (scalar = i_48)
  (scalar_evolution = {i_163, +, 1}_1))
)
NOTE: no flow-sensitive alias info for ivtmp.89_184 in *ivtmp.89_184 = vect_cst_.83_180;
(get_loop_exit_condition 
  if (ivtmp.41_60 != 0) goto <L98>; else goto <L145>;)
(get_loop_exit_condition 
  if (ivtmp.90_187 < 3) goto <L98>; else goto <L145>;)

loop at no-section-anchors-vect-69.c:43: if (ivtmp.90_187 < 3) goto <L98>; else goto <L145>;

Registering new PHI nodes in block #0



Registering new PHI nodes in block #2



Registering new PHI nodes in block #66



Registering new PHI nodes in block #64

Updating SSA information for statement tmp1[2].a.n[1][2][i_156] = 5;



Registering new PHI nodes in block #65



Registering new PHI nodes in block #68



Registering new PHI nodes in block #67



Registering new PHI nodes in block #73



Registering new PHI nodes in block #74



Registering new PHI nodes in block #71

Updating SSA information for statement tmp1[2].a.n[1][2][i_169] = 5;



Registering new PHI nodes in block #72



Registering new PHI nodes in block #77



Registering new PHI nodes in block #76



Registering new PHI nodes in block #70



Registering new PHI nodes in block #78



Registering new PHI nodes in block #3

Updating SSA information for statement *ivtmp.89_184 = vect_cst_.83_180;



Registering new PHI nodes in block #4



Registering new PHI nodes in block #75



Registering new PHI nodes in block #69



Registering new PHI nodes in block #5



Registering new PHI nodes in block #6

Updating SSA information for statement D.2300_18 = tmp1[2].a.n[1][2][i_67];



Registering new PHI nodes in block #7

Updating SSA information for statement abort ();



Registering new PHI nodes in block #8



Registering new PHI nodes in block #9



Registering new PHI nodes in block #10



Registering new PHI nodes in block #63



Registering new PHI nodes in block #11

Updating SSA information for statement *ivtmp.75_150 = vect_cst_.69_146;



Registering new PHI nodes in block #12



Registering new PHI nodes in block #13



Registering new PHI nodes in block #14

Updating SSA information for statement D.2300_25 = tmp1[2].a.n[1][2][i_42];



Registering new PHI nodes in block #15

Updating SSA information for statement abort ();



Registering new PHI nodes in block #16



Registering new PHI nodes in block #17



Registering new PHI nodes in block #39



Registering new PHI nodes in block #40



Registering new PHI nodes in block #62



Registering new PHI nodes in block #19

Updating SSA information for statement *ivtmp.67_142 = vect_cst_.61_135;



Registering new PHI nodes in block #20



Registering new PHI nodes in block #21



Registering new PHI nodes in block #43



Registering new PHI nodes in block #44



Registering new PHI nodes in block #23

Updating SSA information for statement D.2302_37 = tmp1[2].e.n[1][i_70][j_74];



Registering new PHI nodes in block #24

Updating SSA information for statement abort ();



Registering new PHI nodes in block #25



Registering new PHI nodes in block #26



Registering new PHI nodes in block #27



Registering new PHI nodes in block #41



Registering new PHI nodes in block #42



Registering new PHI nodes in block #49



Registering new PHI nodes in block #47



Registering new PHI nodes in block #48



Registering new PHI nodes in block #51



Registering new PHI nodes in block #50



Registering new PHI nodes in block #56



Registering new PHI nodes in block #57



Registering new PHI nodes in block #54



Registering new PHI nodes in block #55



Registering new PHI nodes in block #60



Registering new PHI nodes in block #59



Registering new PHI nodes in block #53



Registering new PHI nodes in block #61



Registering new PHI nodes in block #29



Registering new PHI nodes in block #28



Registering new PHI nodes in block #58



Registering new PHI nodes in block #52



Registering new PHI nodes in block #30



Registering new PHI nodes in block #31



Registering new PHI nodes in block #45



Registering new PHI nodes in block #46



Registering new PHI nodes in block #33



Registering new PHI nodes in block #34

Updating SSA information for statement abort ();



Registering new PHI nodes in block #35



Registering new PHI nodes in block #36



Registering new PHI nodes in block #38



Registering new PHI nodes in block #37



Registering new PHI nodes in block #32



Registering new PHI nodes in block #22



Registering new PHI nodes in block #18



Symbols to be put in SSA form

{ tmp1 }


Incremental SSA update started at block: 0

Number of blocks in CFG: 79
Number of blocks to update: 78 ( 99%)

Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 



no-section-anchors-vect-69.c:41: note: LOOP VECTORIZED.
no-section-anchors-vect-69.c:37: note: vectorized 4 loops in function.
Removing basic block 53
;; basic block 53, loop depth 1, count 0
;; prev block 59, next block 52
;; pred:      
;; succ:       52 [100.0%]  (fallthru)
Invalid sum of incoming frequencies 0, should be 349
<L123>:;


Removing basic block 60
;; basic block 60, loop depth 1, count 0
;; prev block 55, next block 59
;; pred:      
;; succ:       59 [100.0%]  (fallthru)
Invalid sum of incoming frequencies 0, should be 349
<L130>:;


Removing basic block 10
;; basic block 10, loop depth 0, count 0
;; prev block 9, next block 63
;; pred:      
;; succ:       63 [100.0%]  (fallthru,exec)
Invalid sum of incoming frequencies 0, should be 144
<L101>:;


Removing basic block 70
;; basic block 70, loop depth 0, count 0
;; prev block 76, next block 69
;; pred:      
;; succ:       69 [100.0%]  (fallthru)
Invalid sum of incoming frequencies 0, should be 156
<L140>:;


Removing basic block 77
;; basic block 77, loop depth 0, count 0
;; prev block 4, next block 76
;; pred:      
;; succ:       76 [100.0%]  (fallthru)
Invalid sum of incoming frequencies 0, should be 156
<L147>:;


Removing basic block 73
;; basic block 73, loop depth 0, count 0
;; prev block 67, next block 78
;; pred:      
;; succ:       78 [100.0%]  (fallthru)
Invalid sum of incoming frequencies 0, should be 156
<L143>:;


Merging blocks 2 and 66
Merging blocks 68 and 67
Merging blocks 68 and 78
Merging blocks 75 and 74
Merging blocks 76 and 69
Merging blocks 76 and 5
Merging blocks 52 and 30
Merging blocks 40 and 62
Merging blocks 42 and 49
Merging blocks 50 and 56
Created preheader block for loop 13
main1 ()
{
  unsigned int ivtmp.90;
  vector int * ivtmp.89;
  struct test1[4] * D.2534;
  vector int * vect_ptmp1.88;
  vector int * vect_ptmp1.84;
  vector int vect_cst_.83;
  int tmp.82;
  unsigned int tmp.81;
  unsigned int ivtmp.79;
  unsigned int ivtmp.76;
  vector int * ivtmp.75;
  struct test1[4] * D.2502;
  vector int * vect_ptmp1.74;
  vector int * vect_ptmp1.70;
  vector int vect_cst_.69;
  unsigned int ivtmp.68;
  vector int * ivtmp.67;
  struct test1[4] * D.2490;
  vector int * vect_ptmp1.66;
  int D.2486;
  <unnamed-signed:64> D.2487;
  <unnamed-signed:64> base_off.64;
  vector int * vect_ptmp1.62;
  vector int vect_cst_.61;
  unsigned int ivtmp.60;
  vector int * ivtmp.59;
  struct test2[4] * D.2476;
  vector int * vect_ptmp2.58;
  int D.2470;
  <unnamed-signed:64> D.2471;
  unsigned int D.2472;
  <unnamed-signed:64> D.2473;
  <unnamed-signed:64> base_off.56;
  vector int * vect_ptmp2.54;
  vector int vect_cst_.53;
  int D.2463;
  int tmp.52;
  unsigned int tmp.51;
  unsigned int ratio_mult_vf.50;
  unsigned int bnd.49;
  unsigned int niters.48;
  unsigned int ivtmp.47;
  long unsigned int D.2439;
  long unsigned int D.2440;
  long unsigned int D.2441;
  unsigned int D.2442;
  unsigned int prolog_loop_niters.46;
  struct test2[4] * D.2437;
  vector int * vect_ptmp2.45;
  int D.2433;
  <unnamed-signed:64> D.2434;
  <unnamed-signed:64> base_off.43;
  unsigned int ivtmp.41;
  unsigned int ivtmp.40;
  unsigned int ivtmp.39;
  unsigned int ivtmp.38;
  unsigned int ivtmp.37;
  unsigned int ivtmp.36;
  unsigned int ivtmp.35;
  unsigned int ivtmp.34;
  unsigned int ivtmp.33;
  unsigned int ivtmp.32;
  unsigned int ivtmp.31;
  unsigned int ivtmp.30;
  int j;
  int i;
  int D.2303;
  int D.2302;
  int D.2300;

<bb 2>:

  # ivtmp.79_165 = PHI <ivtmp.79_166(4), 0(2)>
  # ivtmp.41_154 = PHI <ivtmp.41_159(4), 8(2)>
  # i_156 = PHI <i_158(4), 0(2)>
<L135>:;
  tmp1[2].a.n[1][2][i_156] = 5;
  i_158 = i_156 + 1;
  ivtmp.41_159 = ivtmp.41_154 - 1;
  ivtmp.79_166 = ivtmp.79_165 + 1;
  if (ivtmp.79_166 < 1) goto <L134>; else goto <L138>;

<L134>:;
  goto <bb 3> (<L135>);

  # i_164 = PHI <i_158(3)>
  # ivtmp.41_161 = PHI <ivtmp.41_159(3)>
<L138>:;
  ivtmp.41_160 = ivtmp.41_161;
  i_163 = i_164;
  vect_cst_.83_180 = { 5, 5 };
  D.2534_181 = &tmp1 + 8552;
  vect_ptmp1.88_182 = (vector int *) D.2534_181;
  vect_ptmp1.84_183 = vect_ptmp1.88_182;

  # ivtmp.90_186 = PHI <ivtmp.90_187(10), 0(5)>
  # ivtmp.89_184 = PHI <ivtmp.89_185(10), vect_ptmp1.84_183(5)>
  # ivtmp.41_4 = PHI <ivtmp.41_60(10), ivtmp.41_160(5)>
  # i_48 = PHI <i_15(10), i_163(5)>
<L0>:;
  *ivtmp.89_184 = vect_cst_.83_180;
  i_15 = i_48 + 1;
  ivtmp.41_60 = ivtmp.41_4 - 1;
  ivtmp.89_185 = ivtmp.89_184 + 8B;
  ivtmp.90_187 = ivtmp.90_186 + 1;
  if (ivtmp.90_187 < 3) goto <L98>; else goto <L145>;

  # i_177 = PHI <i_15(6)>
  # ivtmp.41_174 = PHI <ivtmp.41_60(6)>
<L145>:;
  tmp.81_178 = ivtmp.41_160 + 4294967290;
  tmp.82_179 = i_163 + 6;
  ivtmp.41_173 = tmp.81_178;
  i_176 = tmp.82_179;

  # ivtmp.41_167 = PHI <ivtmp.41_172(9), ivtmp.41_173(7)>
  # i_169 = PHI <i_171(9), i_176(7)>
<L142>:;
  tmp1[2].a.n[1][2][i_169] = 5;
  i_171 = i_169 + 1;
  ivtmp.41_172 = ivtmp.41_167 - 1;
  if (ivtmp.41_172 != 0) goto <L141>; else goto <L146>;

<L141>:;
  goto <bb 8> (<L142>);

<L98>:;
  goto <bb 6> (<L0>);

<L146>:;

  # ivtmp.40_9 = PHI <8(11), ivtmp.40_72(15)>
  # i_67 = PHI <0(11), i_19(15)>
<L85>:;
  D.2300_18 = tmp1[2].a.n[1][2][i_67];
  if (D.2300_18 != 5) goto <L4>; else goto <L5>;

<L4>:;
  abort ();

<L5>:;
  i_19 = i_67 + 1;
  ivtmp.40_72 = ivtmp.40_9 - 1;
  if (ivtmp.40_72 != 0) goto <L100>; else goto <L133>;

<L100>:;
  goto <bb 12> (<L85>);

<L133>:;
  vect_cst_.69_146 = { 6, 6 };
  D.2502_147 = &tmp1 + 8560;
  vect_ptmp1.74_148 = (vector int *) D.2502_147;
  vect_ptmp1.70_149 = vect_ptmp1.74_148;

  # ivtmp.76_152 = PHI <0(16), ivtmp.76_153(18)>
  # ivtmp.75_150 = PHI <vect_ptmp1.70_149(16), ivtmp.75_151(18)>
  # ivtmp.39_41 = PHI <4(16), ivtmp.39_57(18)>
  # i_47 = PHI <3(16), i_22(18)>
<L84>:;
  *ivtmp.75_150 = vect_cst_.69_146;
  i_22 = i_47 + 1;
  ivtmp.39_57 = ivtmp.39_41 - 1;
  ivtmp.75_151 = ivtmp.75_150 + 8B;
  ivtmp.76_153 = ivtmp.76_152 + 1;
  if (ivtmp.76_153 < 2) goto <L102>; else goto <L103>;

<L102>:;
  goto <bb 17> (<L84>);

<L103>:;

  # ivtmp.38_5 = PHI <4(19), ivtmp.38_35(23)>
  # i_42 = PHI <3(19), i_26(23)>
<L83>:;
  D.2300_25 = tmp1[2].a.n[1][2][i_42];
  if (D.2300_25 != 6) goto <L12>; else goto <L13>;

<L12>:;
  abort ();

<L13>:;
  i_26 = i_42 + 1;
  ivtmp.38_35 = ivtmp.38_5 - 1;
  if (ivtmp.38_35 != 0) goto <L104>; else goto <L105>;

<L104>:;
  goto <bb 20> (<L83>);

<L106>:;

  # ivtmp.68_144 = PHI <ivtmp.68_145(24), 0(51)>
  # ivtmp.67_142 = PHI <ivtmp.67_143(24), vect_ptmp1.62_141(51)>
  # ivtmp.37_3 = PHI <ivtmp.37_58(24), 8(51)>
  # j_53 = PHI <j_31(24), 0(51)>
<L17>:;
  *ivtmp.67_142 = vect_cst_.61_135;
  j_31 = j_53 + 1;
  ivtmp.37_58 = ivtmp.37_3 - 1;
  ivtmp.67_143 = ivtmp.67_142 + 8B;
  ivtmp.68_145 = ivtmp.68_144 + 1;
  if (ivtmp.68_145 < 4) goto <L106>; else goto <L19>;

<L19>:;
  i_32 = i_68 + 1;
  ivtmp.36_10 = ivtmp.36_6 - 1;
  if (ivtmp.36_10 != 0) goto <L107>; else goto <L108>;

<L107>:;
  goto <bb 51> (<L82>);

<L109>:;

  # ivtmp.35_40 = PHI <ivtmp.35_69(28), 8(60)>
  # j_74 = PHI <j_38(28), 0(60)>
<L23>:;
  D.2302_37 = tmp1[2].e.n[1][i_70][j_74];
  if (D.2302_37 != 8) goto <L24>; else goto <L25>;

<L24>:;
  abort ();

<L25>:;
  j_38 = j_74 + 1;
  ivtmp.35_69 = ivtmp.35_40 - 1;
  if (ivtmp.35_69 != 0) goto <L109>; else goto <L27>;

<L27>:;
  i_39 = i_70 + 1;
  ivtmp.34_43 = ivtmp.34_36 - 1;
  if (ivtmp.34_43 != 0) goto <L110>; else goto <L111>;

<L110>:;
  goto <bb 60> (<L81>);

<L112>:;

  # ivtmp.60_131 = PHI <ivtmp.60_132(34), 0(57)>
  # ivtmp.59_129 = PHI <ivtmp.59_130(34), vect_ptmp2.54_128(57)>
  # ivtmp.33_7 = PHI <ivtmp.33_46(34), ivtmp.33_96(57)>
  # j_49 = PHI <j_44(34), j_99(57)>
<L31>:;
  *ivtmp.59_129 = vect_cst_.53_120;
  j_44 = j_49 + 1;
  ivtmp.33_46 = ivtmp.33_7 - 1;
  ivtmp.59_130 = ivtmp.59_129 + 8B;
  ivtmp.60_132 = ivtmp.60_131 + 1;
  if (ivtmp.60_132 < bnd.49_104) goto <L112>; else goto <L128>;

  # j_116 = PHI <j_44(35)>
  # ivtmp.33_113 = PHI <ivtmp.33_46(35)>
<L128>:;
  tmp.51_117 = ivtmp.33_96 - ratio_mult_vf.50_105;
  D.2463_118 = (int) ratio_mult_vf.50_105;
  tmp.52_119 = j_99 + D.2463_118;
  if (niters.48_103 == ratio_mult_vf.50_105) goto <L129>; else goto <L127>;

  # ivtmp.33_112 = PHI <tmp.51_117(36), ivtmp.33_96(56)>
  # j_115 = PHI <tmp.52_119(36), j_99(56)>
<L127>:;

  # ivtmp.33_106 = PHI <ivtmp.33_111(39), ivtmp.33_112(37)>
  # j_108 = PHI <j_110(39), j_115(37)>
<L125>:;
  tmp2[2].e.n[1][i_71][j_108] = 8;
  j_110 = j_108 + 1;
  ivtmp.33_111 = ivtmp.33_106 - 1;
  if (ivtmp.33_111 != 0) goto <L124>; else goto <L129>;

<L124>:;
  goto <bb 38> (<L125>);

<L129>:;

<L122>:;
  i_45 = i_71 + 1;
  ivtmp.32_1 = ivtmp.32_55 - 1;
  if (ivtmp.32_1 != 0) goto <L113>; else goto <L114>;

<L113>:;
  goto <bb 53> (<L80>);

<L115>:;

  # ivtmp.31_8 = PHI <ivtmp.31_59(43), 4(62)>
  # j_76 = PHI <j_51(43), 0(62)>
<L37>:;
  D.2303_50 = tmp2[2].e.n[1][i_73][j_76];
  if (D.2303_50 != 8) goto <L38>; else goto <L39>;

<L38>:;
  abort ();

<L39>:;
  j_51 = j_76 + 1;
  ivtmp.31_59 = ivtmp.31_8 - 1;
  if (ivtmp.31_59 != 0) goto <L115>; else goto <L41>;

<L41>:;
  i_52 = i_73 + 1;
  ivtmp.30_56 = ivtmp.30_12 - 1;
  if (ivtmp.30_56 != 0) goto <L116>; else goto <L43>;

<L116>:;
  goto <bb 62> (<L79>);

<L43>:;
  return 0;

<L105>:;

  # ivtmp.36_6 = PHI <8(50), ivtmp.36_10(27)>
  # i_68 = PHI <0(50), i_32(27)>
<L82>:;
  vect_cst_.61_135 = { 8, 8 };
  D.2486_136 = i_68 * 32;
  D.2487_137 = (<unnamed-signed:64>) D.2486_136;
  base_off.64_138 = D.2487_137 + 10544;
  D.2490_139 = base_off.64_138 + &tmp1;
  vect_ptmp1.66_140 = (vector int *) D.2490_139;
  vect_ptmp1.62_141 = vect_ptmp1.66_140;
  goto <bb 25> (<L17>);

<L111>:;

  # ivtmp.32_55 = PHI <4(52), ivtmp.32_1(42)>
  # i_71 = PHI <0(52), i_45(42)>
<L80>:;
  D.2433_75 = i_71 * 28;
  D.2434_2 = (<unnamed-signed:64>) D.2433_75;
  base_off.43_11 = D.2434_2 + 7104;
  D.2437_83 = base_off.43_11 + &tmp2;
  vect_ptmp2.45_84 = (vector int *) D.2437_83;
  D.2439_85 = vect_ptmp2.45_84 & 7;
  D.2440_86 = D.2439_85 >> 2;
  D.2441_87 = 2 - D.2440_86;
  D.2442_88 = (unsigned int) D.2441_87;
  prolog_loop_niters.46_89 = D.2442_88 & 1;
  if (prolog_loop_niters.46_89 == 0) goto <L120>; else goto <L118>;

  # ivtmp.47_188 = PHI <0(53)>
  # ivtmp.33_175 = PHI <4(53)>
  # j_190 = PHI <0(53)>
<L118>:;

  # ivtmp.47_101 = PHI <ivtmp.47_188(54), ivtmp.47_102(58)>
  # ivtmp.33_90 = PHI <ivtmp.33_175(54), ivtmp.33_95(58)>
  # j_92 = PHI <j_190(54), j_94(58)>
<L149>:;
  tmp2[2].e.n[1][i_71][j_92] = 8;
  j_94 = j_92 + 1;
  ivtmp.33_95 = ivtmp.33_90 - 1;
  ivtmp.47_102 = ivtmp.47_101 + 1;
  if (ivtmp.47_102 < prolog_loop_niters.46_89) goto <L117>; else goto <L121>;

  # j_100 = PHI <j_94(63)>
  # ivtmp.33_97 = PHI <ivtmp.33_95(63)>
<L121>:;
  if (prolog_loop_niters.46_89 == 4) goto <L122>; else goto <L120>;

  # ivtmp.33_96 = PHI <ivtmp.33_97(55), 4(53)>
  # j_99 = PHI <j_100(55), 0(53)>
<L120>:;
  niters.48_103 = 4 - prolog_loop_niters.46_89;
  bnd.49_104 = niters.48_103 >> 1;
  ratio_mult_vf.50_105 = bnd.49_104 << 1;
  if (ratio_mult_vf.50_105 == 0) goto <L127>; else goto <L131>;

<L131>:;
  vect_cst_.53_120 = { 8, 8 };
  D.2470_121 = i_71 * 28;
  D.2471_122 = (<unnamed-signed:64>) D.2470_121;
  D.2472_123 = prolog_loop_niters.46_89 * 4;
  D.2473_124 = D.2471_122 + D.2472_123;
  base_off.56_125 = D.2473_124 + 7104;
  D.2476_126 = base_off.56_125 + &tmp2;
  vect_ptmp2.58_127 = (vector int *) D.2476_126;
  vect_ptmp2.54_128 = vect_ptmp2.58_127;
  goto <bb 35> (<L31>);

<L117>:;
  goto <bb 63> (<L149>);

<L108>:;

  # ivtmp.34_36 = PHI <8(59), ivtmp.34_43(33)>
  # i_70 = PHI <0(59), i_39(33)>
<L81>:;
  goto <bb 29> (<L23>);

<L114>:;

  # ivtmp.30_12 = PHI <4(61), ivtmp.30_56(48)>
  # i_73 = PHI <0(61), i_52(48)>
<L79>:;
  goto <bb 44> (<L37>);

}



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

* Re: Call to arms: testsuite failures on various targets
       [not found] <OF0D90E8B2.176B499E-ONC22572BD.00601B98-C22572BD.00649C26@LocalDomain>
@ 2007-04-15 19:14 ` Dorit Nuzman
  2007-04-16  3:19   ` Tim Prince
  0 siblings, 1 reply; 16+ messages in thread
From: Dorit Nuzman @ 2007-04-15 19:14 UTC (permalink / raw)
  To: Dorit Nuzman; +Cc: fortran@gcc.gnu.org List, FX Coudert, gcc, tprince

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

Thanks Tim for sending the dump files!

> for this one:
> > FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
>
> there should be { target vect_unpack } added to the check. i.e.:
> - /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
*/
> + /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"
> { target vect_unpack } } } */
>
> for the rest:
>
> > FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1

this one is missing { target vect_pack_mod }

> > FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2

this one missing { target vect_int_mult }

> > FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times
> > vectorized 1 loops 0

here we need to add ia64 to the list of targets in
'vect_widen_sum_hi_to_si' in target-support.exp

> > FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times
> > vectorized 1 loops 1

missing { target vect_pack_mod } again

> > FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times
> > vectorized 1 loops 0

add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp

> > FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times
> > vectorized 1 loops 0

add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp

> > FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times
> > vectorized 1 loops 0

add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp

> > FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times
> > vectorized 1 loops 1

missing { target vect_pack_mod }

> > FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times
> > vectorized 1 loops 0

add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp

> > FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times
> > Alignment of access forced using peeling 3
> >
>

For this one - can you please send the dump file generated with
-fdump-tree-vect-details? (the files you sent did not contain the detailed
dump info). Specifically, on powerpc I see this:

Created dr for tmp1[2].e.n[1][i_79][j_68]
        base_address: &tmp1
        offset from base address: (<unnamed type>) (i_79 * 32)
        constant offset from base address: 10544
        base_object: tmp1[2].e.n
        step: 4B
        misalignment from base: 10544B
        aligned to: 8
        memtag: tmp1

...

/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
 note: === vect_analyze_data_refs_alignment ===
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
 note: vect_compute_data_ref_alignment:
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
 note: Unknown alignment for access: tmp1

...

/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
 note: Alignment of access forced using peeling.
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
 note: Peeling for alignment will be applied.

I'd like to compare that to what you get on ia64.

In the meantime - this patch includes the above suggested fixes for the
rest of the tests (tested on the vectorizer testcases on i686-pc-linux-gnu
and powerpc-linux, but really need to be tested on ia64):

dorit

(See attached file: ia64fixes.txt)

> I'll need to look closer. Could you please send me (offline) the .
> vect dump files (with -fdump-tree-vect-details) for these?
>
> thanks,
> dorit
>
>
> >       === gcc Summary ===
> >
> > # of expected passes      42231
> > # of unexpected failures   23
> > # of unexpected successes   2
> > # of expected failures      155
> > # of unresolved testcases   2
> > # of untested testcases      28
> > # of unsupported tests      374
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413
> > (experimental)
> >
> >       === gfortran tests ===
> >
> >
> > Running target unix
> >
> >       === gfortran Summary ===
> >
> > # of expected passes      17438
> > # of expected failures      13
> > # of unsupported tests      20
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../..
> > /gfortran  version 4.3.0 20070413 (experimental)
> >
> >       === g++ tests ===
> >
> >
> > Running target unix
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> >
> >       === g++ Summary ===
> >
> > # of expected passes      13739
> > # of unexpected failures   7
> > # of expected failures      79
> > # of unsupported tests      119
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++
> > version 4.3.0 20070413 (experimental)
> >
> >       === objc tests ===
> >
> >
> > Running target unix
> >
> >       === objc Summary ===
> >
> > # of expected passes      1810
> > # of expected failures      7
> > # of unsupported tests      25
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc  version 4.3.0 20070413
> > (experimental)
> >
> >       === libgomp tests ===
> >
> >
> > Running target unix
> >
> >       === libgomp Summary ===
> >
> > # of expected passes      1566
> >       === libstdc++ tests ===
> >
> >
> > Running target unix
> > XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc
> > (test for excess errors)
> > XPASS: 27_io/fpos/14320-1.cc execution test
> >
> >       === libstdc++ Summary ===
> >
> > # of expected passes      4859
> > # of unexpected successes   2
> > # of expected failures      27
> >
> > Compiler version: 4.3.0 20070413 (experimental)
> > Platform: ia64-unknown-linux-gnu
> > configure flags: --enable-languages='c c++ fortran objc' --enable-
> > bootstrap --enable-maintainer-mode --disable-libmudflap --
> > prefix=/usr/local/gcc43
> > EOF
> > Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on
> > ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&

[-- Attachment #2: ia64fixes.txt --]
[-- Type: text/plain, Size: 3685 bytes --]

Index: gcc.dg/vect/vect-iv-9.c
===================================================================
--- gcc.dg/vect/vect-iv-9.c	(revision 123694)
+++ gcc.dg/vect/vect-iv-9.c	(working copy)
@@ -33,5 +33,6 @@
   return 0;
 } 
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target {! vect_int_mult } } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-reduc-dot-u16b.c
===================================================================
--- gcc.dg/vect/vect-reduc-dot-u16b.c	(revision 123694)
+++ gcc.dg/vect/vect-reduc-dot-u16b.c	(working copy)
@@ -53,6 +53,6 @@
    dot-product of unsigned shorts) and targets that support widening multiplication.  */
 /* The induction loop in main is vectorized.  */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */ 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ 
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */ 
 
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-iv-4.c
===================================================================
--- gcc.dg/vect/vect-iv-4.c	(revision 123694)
+++ gcc.dg/vect/vect-iv-4.c	(working copy)
@@ -40,5 +40,5 @@
   return main1 ();
 } 
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-widen-mult-u16.c
===================================================================
--- gcc.dg/vect/vect-widen-mult-u16.c	(revision 123694)
+++ gcc.dg/vect/vect-widen-mult-u16.c	(working copy)
@@ -44,6 +44,6 @@
 
 /*The induction loop is vectorized  */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
 
Index: lib/target-supports.exp
===================================================================
--- lib/target-supports.exp	(revision 123694)
+++ lib/target-supports.exp	(working copy)
@@ -1624,7 +1624,8 @@
         verbose "check_effective_target_vect_widen_sum_hi_to_si: using cached result" 2
     } else {
         set et_vect_widen_sum_hi_to_si_saved [check_effective_target_vect_unpack]
-        if { [istarget powerpc*-*-*] } {
+        if { [istarget powerpc*-*-*] 
+	     || [istarget ia64-*-*] } {
             set et_vect_widen_sum_hi_to_si_saved 1
         }
     }
@@ -1646,7 +1647,8 @@
         verbose "check_effective_target_vect_widen_sum_qi_to_hi: using cached result" 2
     } else {
         set et_vect_widen_sum_qi_to_hi_saved 0
-	if { [check_effective_target_vect_unpack] } {
+	if { [check_effective_target_vect_unpack] 
+	     || [istarget ia64-*-*] } {
             set et_vect_widen_sum_qi_to_hi_saved 1
 	}
     }
Index: gcc.dg/vect/pr30771.c
===================================================================
--- gcc.dg/vect/pr30771.c	(revision 123694)
+++ gcc.dg/vect/pr30771.c	(working copy)
@@ -14,5 +14,5 @@
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */

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

* Re: Call to arms: testsuite failures on various targets
       [not found] <no.id>
@ 2007-04-15 19:13 ` John David Anglin
  0 siblings, 0 replies; 16+ messages in thread
From: John David Anglin @ 2007-04-15 19:13 UTC (permalink / raw)
  To: John David Anglin; +Cc: gcc, fxcoudert

> * hppa64-hp-hpux11.11: many failures

Most of these are "Type/rank mismatch in argument":

FAIL: gfortran.dg/assumed_charlen_function_5.f90  -O  (test for excess errors)
Excess errors:
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/assumed_charlen_function_5.f90:22: E
rror: Type/rank mismatch in argument 'charr' at (1)
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/assumed_charlen_function_5.f90:23: E
rror: Type/rank mismatch in argument 'charr' at (1)

In gfortran.dg/entry_1.f90:

Excess errors:
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/entry_1.f90:15: Error: Type/rank mis
match in argument 'p' at (1)
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/entry_1.f90:16: Error: Type/rank mis
match in argument 'p' at (1)
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/entry_1.f90:40: Fatal Error: Can't o
pen module file 'm.mod' for reading at (1): No such file or directory

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

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

* Re: Call to arms: testsuite failures on various targets
@ 2007-04-14 16:48 John David Anglin
  0 siblings, 0 replies; 16+ messages in thread
From: John David Anglin @ 2007-04-14 16:48 UTC (permalink / raw)
  To: gcc, fxcoudert

> * hppa-unknown-linux-gnu: gfortran.dg/cray_pointers_2.f90

Fails due to timeout (slow system?):

real    5m45.735s
user    1m33.506s
sys     4m11.716s

I should note that the compilation time doesn't seem consistent from
one run to the next.  Here's the detailed breakdown:

GNU F95 version 4.3.0 20070413 (experimental) (hppa-linux)
	compiled by GNU C version 4.3.0 20070413 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
options passed: 
 /home/dave/gnu/gcc-4.3/gcc/gcc/testsuite/gfortran.dg/cray_pointers_2.f90
 -O2 -fcray-pointer -fbounds-check -fintrinsic-modules-path finclude
options enabled:  -falign-loops -fargument-noalias-anything -fbounds-check
 -fbranch-count-reg -fcaller-saves -fcommon -fcprop-registers
 -fcrossjumping -fcse-follow-jumps -fdefer-pop -fdelayed-branch
 -fdelete-null-pointer-checks -fearly-inlining
 -feliminate-unused-debug-types -femit-class-debug-always
 -fexpensive-optimizations -fforward-propagate Optimization -ffunction-cse
 -fgcse -fgcse-lm -fguess-branch-probability -fident -fif-conversion
 -fif-conversion2 -finline-functions-called-once -fipa-pure-const
 -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
 -fleading-underscore -fmerge-constants -fmove-loop-invariants
 -fomit-frame-pointer -foptimize-register-move -foptimize-sibling-calls
 -fpeephole -fpeephole2 -freg-struct-return -fregmove -freorder-blocks
 -freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec
 -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2 -fshow-column
 -fsigned-zeros -fsplit-ivs-in-unroller -fsplit-wide-types
 -fstrict-aliasing -fstrict-overflow -fthread-jumps -ftoplevel-reorder
 -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop -ftree-copyrename
 -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
 -ftree-loop-ivcanon -ftree-loop-optimize -ftree-pre -ftree-salias
 -ftree-scev-cprop -ftree-sink -ftree-sra -ftree-store-ccp
 -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
 -funit-at-a-time -fvar-tracking -fzero-initialized-in-bss -mbig-switch
 -mgas -mglibc -mno-space-regs
 MAIN__ ptr1 ptr2 ptr3 ptr4 ptr5 ptr6 ptr7 {GC 5672k -> 3308k} ptr8 ptr9 ptr10 {GC 5831k -> 4786k} ptr11 ptr12 {GC 6696k -> 5917k} ptr13 parmtest parmptr parmpte intne realne chne ch8ne donothing
Analyzing compilation unit
 {GC 7967k -> 7753k} {GC 10087k -> 9996k} {GC 13348k -> 13216k}Performing interprocedural optimizations
 <visibility> <early_local_cleanups> {GC 17243k -> 13996k} {GC 18383k -> 14126k} {GC 18603k -> 14326k} <inline> <static-var> <pure-const> <type-escape-var>Assembling functions:
 donothing ch8ne chne realne intne parmpte parmptr parmtest ptr13 ptr12 {GC 18629k -> 13729k} ptr11 ptr10 ptr9 {GC 17938k -> 9803k} ptr8 ptr7 ptr6 ptr5 {GC 12868k -> 6136k} ptr4 ptr3 {GC 8101k -> 4176k} ptr2 {GC 5482k -> 3057k} ptr1 MAIN__
Execution times (seconds)
 garbage collection    :   1.34 ( 2%) usr   0.02 ( 0%) sys   1.32 ( 1%) wall       0 kB ( 0%) ggc
 callgraph construction:   0.50 ( 1%) usr   0.78 ( 1%) sys   1.29 ( 1%) wall    2582 kB ( 5%) ggc
 callgraph optimization:   0.22 ( 0%) usr   0.02 ( 0%) sys   0.26 ( 0%) wall     850 kB ( 2%) ggc
 ipa reference         :   0.07 ( 0%) usr   0.01 ( 0%) sys   0.08 ( 0%) wall       0 kB ( 0%) ggc
 ipa type escape       :   0.11 ( 0%) usr   1.28 ( 1%) sys   1.39 ( 1%) wall       0 kB ( 0%) ggc
 cfg cleanup           :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall     109 kB ( 0%) ggc
 CFG verifier          :   0.74 ( 1%) usr   0.00 ( 0%) sys   0.66 ( 0%) wall       0 kB ( 0%) ggc
 trivially dead code   :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall       0 kB ( 0%) ggc
 life analysis         :   0.36 ( 1%) usr   0.00 ( 0%) sys   0.35 ( 0%) wall     490 kB ( 1%) ggc
 life info update      :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall       0 kB ( 0%) ggc
 alias analysis        :   0.19 ( 0%) usr   0.01 ( 0%) sys   0.17 ( 0%) wall     993 kB ( 2%) ggc
 register scan         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall       0 kB ( 0%) ggc
 rebuild jump labels   :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall       0 kB ( 0%) ggc
 parser                :   0.39 ( 1%) usr   0.01 ( 0%) sys   0.41 ( 0%) wall    5895 kB (11%) ggc
 inline heuristics     :   9.34 (17%) usr  28.11 (19%) sys  37.49 (18%) wall      20 kB ( 0%) ggc
 tree gimplify         :   0.45 ( 1%) usr   0.01 ( 0%) sys   0.46 ( 0%) wall    4217 kB ( 8%) ggc
 tree eh               :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall       0 kB ( 0%) ggc
 tree CFG construction :   0.06 ( 0%) usr   0.02 ( 0%) sys   0.04 ( 0%) wall    4980 kB ( 9%) ggc
 tree CFG cleanup      :   0.40 ( 1%) usr   0.00 ( 0%) sys   0.39 ( 0%) wall       9 kB ( 0%) ggc
 tree VRP              :   0.61 ( 1%) usr   0.07 ( 0%) sys   0.68 ( 0%) wall    1749 kB ( 3%) ggc
 tree copy propagation :   0.24 ( 0%) usr   0.05 ( 0%) sys   0.27 ( 0%) wall      33 kB ( 0%) ggc
 tree store copy prop  :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall       6 kB ( 0%) ggc
 tree find ref. vars   :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall     305 kB ( 1%) ggc
 tree PTA              :   0.18 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall     182 kB ( 0%) ggc
 tree alias analysis   :   0.15 ( 0%) usr   0.26 ( 0%) sys   0.42 ( 0%) wall     224 kB ( 0%) ggc
 tree memory partitioning:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall       2 kB ( 0%) ggc
 tree PHI insertion    :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall      43 kB ( 0%) ggc
 tree SSA rewrite      :   0.14 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall    1801 kB ( 3%) ggc
 tree SSA other        :   0.08 ( 0%) usr   0.08 ( 0%) sys   0.24 ( 0%) wall       0 kB ( 0%) ggc
 tree SSA incremental  :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.26 ( 0%) wall     154 kB ( 0%) ggc
 tree operand scan     :   1.33 ( 2%) usr   0.54 ( 0%) sys   1.92 ( 1%) wall    1879 kB ( 3%) ggc
 dominator optimization:   0.29 ( 1%) usr   0.03 ( 0%) sys   0.29 ( 0%) wall     910 kB ( 2%) ggc
 tree STORE-CCP        :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall      18 kB ( 0%) ggc
 tree CCP              :   0.24 ( 0%) usr   0.01 ( 0%) sys   0.25 ( 0%) wall     166 kB ( 0%) ggc
 tree PHI const/copy prop:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall       0 kB ( 0%) ggc
 tree reassociation    :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall      21 kB ( 0%) ggc
 tree PRE              :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.29 ( 0%) wall     460 kB ( 1%) ggc
 tree FRE              :   0.23 ( 0%) usr   0.03 ( 0%) sys   0.27 ( 0%) wall     857 kB ( 2%) ggc
 tree code sinking     :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall      61 kB ( 0%) ggc
 tree forward propagate:   0.05 ( 0%) usr   0.04 ( 0%) sys   0.07 ( 0%) wall     237 kB ( 0%) ggc
 tree conservative DCE :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall       0 kB ( 0%) ggc
 tree aggressive DCE   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall       0 kB ( 0%) ggc
 tree loop bounds      :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall     301 kB ( 1%) ggc
 loop invariant motion :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall       1 kB ( 0%) ggc
 tree canonical iv     :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall     157 kB ( 0%) ggc
 scev constant prop    :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall      36 kB ( 0%) ggc
 complete unrolling    :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall     114 kB ( 0%) ggc
 tree iv optimization  :   0.23 ( 0%) usr   0.01 ( 0%) sys   0.28 ( 0%) wall    1992 kB ( 4%) ggc
 tree loop init        :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall       4 kB ( 0%) ggc
 tree copy headers     :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall     105 kB ( 0%) ggc
 tree SSA uncprop      :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall       0 kB ( 0%) ggc
 tree SSA to normal    :   0.15 ( 0%) usr   0.01 ( 0%) sys   0.15 ( 0%) wall     623 kB ( 1%) ggc
 tree rename SSA copies:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall       0 kB ( 0%) ggc
 tree SSA verifier     :   3.39 ( 6%) usr   0.00 ( 0%) sys   3.65 ( 2%) wall      19 kB ( 0%) ggc
 tree STMT verifier    :  25.91 (47%) usr 115.67 (79%) sys 141.31 (70%) wall       0 kB ( 0%) ggc
 callgraph verifier    :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall     387 kB ( 1%) ggc
 dominance computation :   0.32 ( 1%) usr   0.00 ( 0%) sys   0.37 ( 0%) wall       0 kB ( 0%) ggc
 expand                :   0.85 ( 2%) usr   0.02 ( 0%) sys   0.77 ( 0%) wall    3951 kB ( 7%) ggc
 lower subreg          :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall       4 kB ( 0%) ggc
 jump                  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall       0 kB ( 0%) ggc
 forward prop          :   0.37 ( 1%) usr   0.01 ( 0%) sys   0.36 ( 0%) wall     263 kB ( 0%) ggc
 CSE                   :   0.32 ( 1%) usr   0.00 ( 0%) sys   0.31 ( 0%) wall      83 kB ( 0%) ggc
 loop analysis         :   0.25 ( 0%) usr   0.00 ( 0%) sys   0.27 ( 0%) wall     247 kB ( 0%) ggc
 global CSE            :   0.00 ( 0%) usr   0.01 ( 0%) sys   0.00 ( 0%) wall       0 kB ( 0%) ggc
 CPROP 1               :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall     210 kB ( 0%) ggc
 PRE                   :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall     232 kB ( 0%) ggc
 CPROP 2               :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall     338 kB ( 1%) ggc
 bypass jumps          :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall     303 kB ( 1%) ggc
 CSE 2                 :   0.18 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall      33 kB ( 0%) ggc
 branch prediction     :   1.02 ( 2%) usr   0.02 ( 0%) sys   1.02 ( 1%) wall   10799 kB (20%) ggc
 flow analysis         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall       0 kB ( 0%) ggc
 combiner              :   0.33 ( 1%) usr   0.00 ( 0%) sys   0.35 ( 0%) wall    1080 kB ( 2%) ggc
 if-conversion         :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.01 ( 0%) wall       3 kB ( 0%) ggc
 regmove               :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall       1 kB ( 0%) ggc
 scheduling            :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall     238 kB ( 0%) ggc
 local alloc           :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall     389 kB ( 1%) ggc
 global alloc          :   0.65 ( 1%) usr   0.00 ( 0%) sys   0.65 ( 0%) wall     669 kB ( 1%) ggc
 reload CSE regs       :   0.25 ( 0%) usr   0.00 ( 0%) sys   0.27 ( 0%) wall     519 kB ( 1%) ggc
 flow 2                :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall      86 kB ( 0%) ggc
 if-conversion 2       :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall       0 kB ( 0%) ggc
 peephole 2            :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall      26 kB ( 0%) ggc
 rename registers      :   0.29 ( 1%) usr   0.02 ( 0%) sys   0.29 ( 0%) wall       2 kB ( 0%) ggc
 scheduling 2          :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.23 ( 0%) wall       0 kB ( 0%) ggc
 machine dep reorg     :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall       0 kB ( 0%) ggc
 delay branch sched    :   0.53 ( 1%) usr   0.00 ( 0%) sys   0.52 ( 0%) wall     984 kB ( 2%) ggc
 reorder blocks        :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall     150 kB ( 0%) ggc
 final                 :   0.11 ( 0%) usr   0.01 ( 0%) sys   0.15 ( 0%) wall      24 kB ( 0%) ggc
 TOTAL                 :  55.46           147.18           202.90              54308 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.

real	3m22.949s
user	0m55.467s
sys	2m27.213s

Most of the time was consumed in the system in the "tree STMT verifier" pass.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

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

* Re: Call to arms: testsuite failures on various targets
@ 2007-04-13 13:22 Dominique Dhumieres
  0 siblings, 0 replies; 16+ messages in thread
From: Dominique Dhumieres @ 2007-04-13 13:22 UTC (permalink / raw)
  To: gcc

> * powerpc-apple-darwin8.5.0: gfortran.dg/edit_real_1.f90

I don't see these failures on my weekly snapshot build on OSX 10.3.9
(nor in a month old build on OSX 10.4.8 or 9, cannot remember).
Could it be related to 10.4.5 gcc failures gcc.dg/torture/builtin-pow-mpfr-1.c
and gcc.dg/torture/builtin-sin-mpfr-1.c I don't see either with my builds?

> Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this testcase should be reworked

see that too now and then.

I have also done the following experiment with large_real_kind_2.F90:
(1) compiled with -S
(2) edited large_real_kind_2.s to add $LDBL128 where appropriate
(e.g., .indirect_symbol _expl$LDBL128)
(3) assembled the result
(4) linked the object

and the executable passed the tests. So it should not be too difficult
for someone who knows what to do to fix this part of the problem.

Making large_real_kind_form_io_2.f90 to works will probably requires
more work because, as far as I understand the problem, the corresponding
changes have to be done in libgfortran.

I don't have the knowledge, nor the time, to do the change myself,
but I can test patches.

Dominique

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

end of thread, other threads:[~2007-04-18  4:42 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
2007-04-12 21:50 ` FX Coudert
2007-04-13  0:31   ` Brooks Moses
2007-04-13  9:38   ` Jerry DeLisle
2007-04-13 12:31 ` Dave Korn
2007-04-13 19:04   ` Brooks Moses
2007-04-14 15:12 ` Tim Prince
2007-04-14 15:50   ` Dorit Nuzman
2007-04-14 18:17     ` Tim Prince
2007-04-14 18:50       ` Dorit Nuzman
2007-04-18  5:28 ` Kaveh R. GHAZI
2007-04-13 13:22 Dominique Dhumieres
2007-04-14 16:48 John David Anglin
     [not found] <no.id>
2007-04-15 19:13 ` John David Anglin
     [not found] <OF0D90E8B2.176B499E-ONC22572BD.00601B98-C22572BD.00649C26@LocalDomain>
2007-04-15 19:14 ` Dorit Nuzman
2007-04-16  3:19   ` Tim Prince

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