From f78fac4b774ff66847379434fadb5cf04b5d9db1 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 14 Aug 2019 09:38:15 +0000 Subject: [PATCH] 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 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 --- gcc/testsuite/ChangeLog | 11 +++++++++++ gcc/testsuite/gcc.dg/tree-ssa/pr91091-2.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-61.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-77.c | 2 +- gcc/testsuite/lib/target-supports.exp | 16 +++++++++++++--- 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5f4332b8b7a..1b42e8d449a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2019-08-14 Richard Biener + + 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 * 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 b578de79cf1..ecc50d355a7 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 a4d9a7194bf..3a0e94d4115 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 115f277d3d8..c2d9239bc1c 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 3c50b892502..a33822f7631 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-*-*]) } }] } -- 2.30.2