aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-08-14 09:38:15 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-08-14 09:38:15 +0000
commitf78fac4b774ff66847379434fadb5cf04b5d9db1 (patch)
treee5448ec665879a39c631c153269de25cf4e92e7d
parent42b4e87d317377d6dcbb25ee2523da4a0c42478a (diff)
downloadgcc-f78fac4b774ff66847379434fadb5cf04b5d9db1.zip
gcc-f78fac4b774ff66847379434fadb5cf04b5d9db1.tar.gz
gcc-f78fac4b774ff66847379434fadb5cf04b5d9db1.tar.bz2
re PR testsuite/91419 (gcc.dg/tree-ssa/pr91091-2.c, ssa-fre-61.c, ssa-fre-61.c with r273232)
2019-08-14 Richard Biener <rguenther@suse.de> PR testsuite/91419 * lib/target-supports.exp (natural_alignment_32): Amend target list based on BIGGEST_ALIGNMENT. (natural_alignment_64): Targets not natural_alignment_32 cannot be natural_alignment_64. * gcc.dg/tree-ssa/pr91091-2.c: XFAIL for !natural_alignment_32. * gcc.dg/tree-ssa/ssa-fre-77.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-61.c: Require natural_alignment_32. From-SVN: r274444
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c4
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-61.c2
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-77.c2
-rw-r--r--gcc/testsuite/lib/target-supports.exp16
5 files changed, 28 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5f4332b..1b42e8d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2019-08-14 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/91419
+ * lib/target-supports.exp (natural_alignment_32): Amend target
+ list based on BIGGEST_ALIGNMENT.
+ (natural_alignment_64): Targets not natural_alignment_32 cannot
+ be natural_alignment_64.
+ * gcc.dg/tree-ssa/pr91091-2.c: XFAIL for !natural_alignment_32.
+ * gcc.dg/tree-ssa/ssa-fre-77.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-61.c: Require natural_alignment_32.
+
2019-08-14 Richard Sandiford <richard.sandiford@arm.com>
* gcc.target/aarch64/sve/vcond_21.c: New test.
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c
index b578de7..ecc50d3 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c
@@ -11,5 +11,5 @@ void swap(struct s* p, struct t* q)
}
/* The second statement is redundant. */
-/* { dg-final { scan-tree-dump-times "x = " 1 "fre1" } } */
-/* { dg-final { scan-tree-dump-times " = \[^;\]*x;" 1 "fre1" } } */
+/* { dg-final { scan-tree-dump-times "x = " 1 "fre1" { xfail { ! natural_alignment_32 } } } } */
+/* { dg-final { scan-tree-dump-times " = \[^;\]*x;" 1 "fre1" { xfail { ! natural_alignment_32 } } } } */
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-61.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-61.c
index a4d9a71..3a0e94d 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-61.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-61.c
@@ -1,4 +1,4 @@
-/* { dg-do link } */
+/* { dg-do link { target natural_alignment_32 } } */
/* { dg-options "-O -fdump-tree-fre1-details" } */
void link_error (void);
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-77.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-77.c
index 115f277..c2d9239 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-77.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-77.c
@@ -10,4 +10,4 @@ int foo (int *p, int *q)
return *p;
}
-/* { dg-final { scan-tree-dump "return 1;" "fre1" } } */
+/* { dg-final { scan-tree-dump "return 1;" "fre1" { xfail { ! natural_alignment_32 } } } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 3c50b89..a33822f 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -6294,9 +6294,18 @@ proc check_effective_target_vect_aligned_arrays { } {
proc check_effective_target_natural_alignment_32 { } {
# FIXME: 32bit powerpc: guaranteed only if MASK_ALIGN_NATURAL/POWER.
+ # FIXME: m68k has -malign-int
return [check_cached_effective_target_indexed natural_alignment_32 {
if { ([istarget *-*-darwin*] && [is-effective-target lp64])
- || [istarget avr-*-*] } {
+ || [istarget avr-*-*]
+ || [istarget m68k-*-linux*]
+ || [istarget pru-*-*]
+ || [istarget stormy16-*-*]
+ || [istarget rl78-*-*]
+ || [istarget pdp11-*-*]
+ || [istarget msp430-*-*]
+ || [istarget m32c-*-*]
+ || [istarget cris-*-*] } {
return 0
} else {
return 1
@@ -6311,8 +6320,9 @@ proc check_effective_target_natural_alignment_32 { } {
proc check_effective_target_natural_alignment_64 { } {
return [check_cached_effective_target_indexed natural_alignment_64 {
- expr { ([is-effective-target lp64] && ![istarget *-*-darwin*])
- || [istarget spu-*-*] }
+ expr { [is-effective-target natural_alignment_32]
+ && (([is-effective-target lp64] && ![istarget *-*-darwin*])
+ || [istarget spu-*-*]) }
}]
}