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" [EMAIL PROTECTED] &&
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" } } */

Reply via email to