From 01c104ef055e0b566abbd93946fc17fe00034eb4 Mon Sep 17 00:00:00 2001 From: Dorit Nuzman Date: Tue, 1 May 2007 06:58:59 +0000 Subject: [PATCH] re PR testsuite/31589 (gcc.dg/vect failures due to missing target specifiers) PR testsuite/31589 * gcc.dg/vect/vect-iv-9.c: Added vect_int_mult target keyword to dg-final test. * gcc.dg/vect/vect-reduc-dot-u16b.c: Added vect_pack_trunc target keyword to dg-final test. * gcc.dg/vect/vect-iv-4.c: Likewise. * gcc.dg/vect/vect-widen-mult-u16.c: Likewise. * gcc.dg/vect/pr30771.c: Added vect_unapck target keyword to dg-final test. * gcc.dg/vect/vect-reduc-dot-u16a.c: Change variable type to avoid a cast. * gcc.dg/vect/no-section-anchors-vect-69.c: xfail on is64. * lib/target-supports.exp (check_effective_target_vect_widen_sum_hi_to_si): Added ia64. (check_effective_target_vect_widen_sum_qi_to_hi): Added ia64. From-SVN: r124315 --- gcc/testsuite/ChangeLog | 18 ++++++++++++++++++ .../gcc.dg/vect/no-section-anchors-vect-69.c | 9 ++++++--- gcc/testsuite/gcc.dg/vect/pr30771.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-iv-4.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-iv-9.c | 3 ++- .../gcc.dg/vect/vect-reduc-dot-u16a.c | 2 +- .../gcc.dg/vect/vect-reduc-dot-u16b.c | 2 +- .../gcc.dg/vect/vect-widen-mult-u16.c | 2 +- gcc/testsuite/lib/target-supports.exp | 6 ++++-- 9 files changed, 35 insertions(+), 11 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2bfc6ae216c..4d72cb536cd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,21 @@ +2007-05-01 Dorit Nuzman + + PR testsuite/31589 + * gcc.dg/vect/vect-iv-9.c: Added vect_int_mult target keyword to + dg-final test. + * gcc.dg/vect/vect-reduc-dot-u16b.c: Added vect_pack_trunc target + keyword to dg-final test. + * gcc.dg/vect/vect-iv-4.c: Likewise. + * gcc.dg/vect/vect-widen-mult-u16.c: Likewise. + * gcc.dg/vect/pr30771.c: Added vect_unapck target keyword to dg-final + test. + * gcc.dg/vect/vect-reduc-dot-u16a.c: Change variable type to avoid a + cast. + * gcc.dg/vect/no-section-anchors-vect-69.c: xfail on is64. + * lib/target-supports.exp + (check_effective_target_vect_widen_sum_hi_to_si): Added ia64. + (check_effective_target_vect_widen_sum_qi_to_hi): Added ia64. + 2007-04-30 Kazu Hirata * gcc.c-torture/execute/ieee/20000320-1.c: Use diff --git a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c index 7ed505b6f78..a590458da6e 100644 --- a/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c +++ b/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c @@ -50,7 +50,7 @@ int main1 () abort (); } - /* 2. aligned */ + /* 2. aligned on 8-bytes */ for (i = 3; i < N-1; i++) { tmp1[2].a.n[1][2][i] = 6; @@ -63,7 +63,7 @@ int main1 () abort (); } - /* 3. aligned */ + /* 3. aligned on 16-bytes */ for (i = 0; i < N; i++) { for (j = 0; j < N; j++) @@ -113,5 +113,8 @@ int main (void) /* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */ /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */ -/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" } } */ +/* Loops 1,2,4 are unaligned on targets that require 16-byte alignment. + Loops 1,4 are unaligned on targets that require 8-byte alignment (ia64). */ +/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" { xfail ia64-*-* } } } */ +/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target ia64-*-* } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/pr30771.c b/gcc/testsuite/gcc.dg/vect/pr30771.c index 9371f96d918..e9f4bd2abc7 100644 --- a/gcc/testsuite/gcc.dg/vect/pr30771.c +++ b/gcc/testsuite/gcc.dg/vect/pr30771.c @@ -14,5 +14,5 @@ main() 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" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-iv-4.c b/gcc/testsuite/gcc.dg/vect/vect-iv-4.c index c860f686058..8dd39b1aded 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-iv-4.c +++ b/gcc/testsuite/gcc.dg/vect/vect-iv-4.c @@ -40,5 +40,5 @@ int main (void) 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_trunc } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-iv-9.c b/gcc/testsuite/gcc.dg/vect/vect-iv-9.c index 12d4d35b753..5926bbdd31e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-iv-9.c +++ b/gcc/testsuite/gcc.dg/vect/vect-iv-9.c @@ -33,5 +33,6 @@ int main (void) 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" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16a.c index 334cc239d8b..2947db26e6c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16a.c @@ -30,7 +30,7 @@ foo1(int len) { int main (void) { unsigned int dot1; - int i; + unsigned short i; check_vect (); diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c index 9bb5cdf0fb6..bf499eb9f05 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c +++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c @@ -53,6 +53,6 @@ int main (void) 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_trunc } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c index c2cd0801a3a..e8579e47eed 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c +++ b/gcc/testsuite/gcc.dg/vect/vect-widen-mult-u16.c @@ -44,6 +44,6 @@ int main (void) /*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_trunc } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 702f09c38be..a8112782419 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1665,7 +1665,8 @@ proc check_effective_target_vect_widen_sum_hi_to_si { } { 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 } } @@ -1687,7 +1688,8 @@ proc check_effective_target_vect_widen_sum_qi_to_hi { } { 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 } }