From 0d0bcf1bdc1f9b036bbd38703ffb964a009e121f Mon Sep 17 00:00:00 2001 From: amylaar Date: Wed, 14 Aug 2013 18:39:59 +0000 Subject: [PATCH] PR testsuite/52641 * c-c++-common/simulate-thread/bitfields-2.c: Run test only for target { ! int16 }. * gcc.dg/tree-ssa/pr54245.c: Do slsr scan only for target { ! int16 }. * gcc.dg/tree-ssa/slsr-1.c: Adjust multiplicators to scan for for target { int16 }. Restrict existing tests to target { int32 } where appropriate. * gcc.dg/tree-ssa/slsr-2.c, gcc.dg/tree-ssa/slsr-27.c: Likewise. * gcc.dg/tree-ssa/slsr-28.c, gcc.dg/tree-ssa/slsr-29.c: Likewise. * gcc.dg/tree-ssa/slsr-3.c, gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise. * lib/target-supports.exp (check_effective_target_int32): New proc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201743 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 13 +++++++++++++ gcc/testsuite/c-c++-common/simulate-thread/bitfields-2.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr54245.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/slsr-1.c | 6 ++++-- gcc/testsuite/gcc.dg/tree-ssa/slsr-2.c | 6 ++++-- gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c | 3 ++- gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c | 3 ++- gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c | 3 ++- gcc/testsuite/gcc.dg/tree-ssa/slsr-3.c | 9 ++++++--- gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-23.c | 3 ++- gcc/testsuite/lib/target-supports.exp | 9 +++++++++ 11 files changed, 46 insertions(+), 13 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 60ab9ddf5ca..35bd4e86386 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -64,6 +64,19 @@ * c-c++-common/scal-to-vec1.c: Add !int16 and large_double conditions to tests that assume int/double are larger than short/float. + PR testsuite/52641 + * c-c++-common/simulate-thread/bitfields-2.c: Run test only for + target { ! int16 }. + * gcc.dg/tree-ssa/pr54245.c: Do slsr scan only for target { ! int16 }. + * gcc.dg/tree-ssa/slsr-1.c: Adjust multiplicators to scan for for + target { int16 }. Restrict existing tests to target { int32 } + where appropriate. + * gcc.dg/tree-ssa/slsr-2.c, gcc.dg/tree-ssa/slsr-27.c: Likewise. + * gcc.dg/tree-ssa/slsr-28.c, gcc.dg/tree-ssa/slsr-29.c: Likewise. + * gcc.dg/tree-ssa/slsr-3.c, gcc.dg/tree-ssa/ssa-ccp-23.c: Likewise. + * lib/target-supports.exp (check_effective_target_int32): New proc. + + 2013-08-14 Janis Johnson * gcc.target/arm/pr19599.c: Skip for -mthumb. diff --git a/gcc/testsuite/c-c++-common/simulate-thread/bitfields-2.c b/gcc/testsuite/c-c++-common/simulate-thread/bitfields-2.c index 392f779bad5..0b29ffb68d4 100644 --- a/gcc/testsuite/c-c++-common/simulate-thread/bitfields-2.c +++ b/gcc/testsuite/c-c++-common/simulate-thread/bitfields-2.c @@ -1,4 +1,4 @@ -/* { dg-do link } */ +/* { dg-do link { target { ! int16 } } } */ /* { dg-options "--param allow-store-data-races=0" } */ /* { dg-final { simulate-thread } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr54245.c b/gcc/testsuite/gcc.dg/tree-ssa/pr54245.c index 0e11d06ed85..daca0423a1d 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr54245.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr54245.c @@ -45,5 +45,5 @@ int main(void) /* For now, disable inserting an initializer when the multiplication will take place in a smaller type than originally. This test may be deleted in future when this case is handled more precisely. */ -/* { dg-final { scan-tree-dump-times "Inserting initializer" 0 "slsr" } } */ +/* { dg-final { scan-tree-dump-times "Inserting initializer" 0 "slsr" { target { ! int16 } } } } */ /* { dg-final { cleanup-tree-dump "slsr" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-1.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-1.c index 38da1791512..e8c0ff02133 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-1.c @@ -14,7 +14,9 @@ f (int *p, unsigned int n) foo (*(p + 48 + n * 4)); } -/* { dg-final { scan-tree-dump-times "\\+ 128|\\, 128>" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "\\+ 128|\\, 128>" 1 "optimized" { target { int32plus } } } } */ /* { dg-final { scan-tree-dump-times "\\+ 64|\\, 64>" 1 "optimized" } } */ -/* { dg-final { scan-tree-dump-times "\\+ 192|\\, 192>" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "\\+ 32|\\, 32>" 1 "optimized" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 192|\\, 192>" 1 "optimized" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 96|\\, 96>" 1 "optimized" { target { int16 } } } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-2.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-2.c index c6bb3e030e9..56697ff7f88 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-2.c @@ -11,6 +11,8 @@ f (int *p, int n) foo (*(p + 16 + n * 4)); } -/* { dg-final { scan-tree-dump-times "\\+ 144|\\, 144>" 1 "optimized" } } */ -/* { dg-final { scan-tree-dump-times "\\+ 96|\\, 96>" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "\\+ 144|\\, 144>" 1 "optimized" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 72|\\, 72>" 1 "optimized" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 96|\\, 96>" 1 "optimized" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 48|\\, 48>" 1 "optimized" { target { int16 } } } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c index eb5734ae543..c6642627d1f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-27.c @@ -16,7 +16,8 @@ f (struct x *p, unsigned int n) foo (p->a[n], p->c[n], p->b[n]); } -/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom2" { target { int16 } } } } */ /* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+;" 1 "dom2" } } */ /* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 3 "dom2" } } */ /* { dg-final { cleanup-tree-dump "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c index 7e7c7516e6a..c4dbf54db86 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-28.c @@ -20,7 +20,8 @@ f (struct x *p, unsigned int n) foo (p->b[n], p->a[n], p->c[n]); } -/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom2" { target { int16 } } } } */ /* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+" 1 "dom2" } } */ /* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 9 "dom2" } } */ /* { dg-final { cleanup-tree-dump "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c index 2a8fe0e6d6c..c8e7a5e137b 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-29.c @@ -22,7 +22,8 @@ f (struct x *p, unsigned int n) } } -/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4;" 1 "dom2" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2;" 1 "dom2" { target { int16 } } } } */ /* { dg-final { scan-tree-dump-times "p_\\d\+\\(D\\) \\+ \[^\r\n\]*_\\d\+" 1 "dom2" } } */ /* { dg-final { scan-tree-dump-times "MEM\\\[\\(struct x \\*\\)\[^\r\n\]*_\\d\+" 9 "dom2" } } */ /* { dg-final { cleanup-tree-dump "dom2" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/slsr-3.c b/gcc/testsuite/gcc.dg/tree-ssa/slsr-3.c index 32edf2b77b3..89d1d2e73fd 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/slsr-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/slsr-3.c @@ -15,8 +15,11 @@ foo (int a[], int b[], int i) return i; } -/* { dg-final { scan-tree-dump-times "\\* 4" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "\\* 4" 1 "optimized" { target { int32 } } } } */ +/* { dg-final { scan-tree-dump-times "\\* 2" 1 "optimized" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 2|\\, 2>" 5 "optimized" { target { int16 } } } } */ /* { dg-final { scan-tree-dump-times "\\+ 4|\\, 4>" 2 "optimized" } } */ -/* { dg-final { scan-tree-dump-times "\\+ 8|\\, 8>" 1 "optimized" } } */ -/* { dg-final { scan-tree-dump-times "\\+ 12|\\, 12>" 1 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "\\+ 8|\\, 8>" 1 "optimized" { target { int32plus } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 6|\\, 6>" 1 "optimized" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump-times "\\+ 12|\\, 12>" 1 "optimized" { target { int32 } } } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-23.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-23.c index fb4af2d484d..8b95b0c3438 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-23.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-23.c @@ -15,5 +15,6 @@ int foo (void) return *x; } -/* { dg-final { scan-tree-dump "MEM\\\[\\\(int \\\*\\\)&a \\\+ 4B\\\]" "ccp1" } } */ +/* { dg-final { scan-tree-dump "MEM\\\[\\\(int \\\*\\\)&a \\\+ 2B\\\]" "ccp1" { target { int16 } } } } */ +/* { dg-final { scan-tree-dump "MEM\\\[\\\(int \\\*\\\)&a \\\+ 4B\\\]" "ccp1" { target { int32 } } } } */ /* { dg-final { cleanup-tree-dump "ccp1" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 0fb135c5298..bcf060f7fac 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1723,6 +1723,15 @@ proc check_effective_target_x32 { } { }] } +# Return 1 if we're generating 32-bit integers using default +# options, 0 otherwise. + +proc check_effective_target_int32 { } { + return [check_no_compiler_messages int32 object { + int dummy[sizeof (int) == 4 ? 1 : -1]; + }] +} + # Return 1 if we're generating 32-bit or larger integers using default # options, 0 otherwise. -- 2.11.4.GIT