Commit f78fac4b by Richard Biener Committed by Richard Biener

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
parent 42b4e87d
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> 2019-08-14 Richard Sandiford <richard.sandiford@arm.com>
* gcc.target/aarch64/sve/vcond_21.c: New test. * gcc.target/aarch64/sve/vcond_21.c: New test.
......
...@@ -11,5 +11,5 @@ void swap(struct s* p, struct t* q) ...@@ -11,5 +11,5 @@ void swap(struct s* p, struct t* q)
} }
/* The second statement is redundant. */ /* The second statement is redundant. */
/* { 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" } } */ /* { dg-final { scan-tree-dump-times " = \[^;\]*x;" 1 "fre1" { xfail { ! natural_alignment_32 } } } } */
/* { dg-do link } */ /* { dg-do link { target natural_alignment_32 } } */
/* { dg-options "-O -fdump-tree-fre1-details" } */ /* { dg-options "-O -fdump-tree-fre1-details" } */
void link_error (void); void link_error (void);
......
...@@ -10,4 +10,4 @@ int foo (int *p, int *q) ...@@ -10,4 +10,4 @@ int foo (int *p, int *q)
return *p; return *p;
} }
/* { dg-final { scan-tree-dump "return 1;" "fre1" } } */ /* { dg-final { scan-tree-dump "return 1;" "fre1" { xfail { ! natural_alignment_32 } } } } */
...@@ -6294,9 +6294,18 @@ proc check_effective_target_vect_aligned_arrays { } { ...@@ -6294,9 +6294,18 @@ proc check_effective_target_vect_aligned_arrays { } {
proc check_effective_target_natural_alignment_32 { } { proc check_effective_target_natural_alignment_32 { } {
# FIXME: 32bit powerpc: guaranteed only if MASK_ALIGN_NATURAL/POWER. # FIXME: 32bit powerpc: guaranteed only if MASK_ALIGN_NATURAL/POWER.
# FIXME: m68k has -malign-int
return [check_cached_effective_target_indexed natural_alignment_32 { return [check_cached_effective_target_indexed natural_alignment_32 {
if { ([istarget *-*-darwin*] && [is-effective-target lp64]) 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 return 0
} else { } else {
return 1 return 1
...@@ -6311,8 +6320,9 @@ proc check_effective_target_natural_alignment_32 { } { ...@@ -6311,8 +6320,9 @@ proc check_effective_target_natural_alignment_32 { } {
proc check_effective_target_natural_alignment_64 { } { proc check_effective_target_natural_alignment_64 { } {
return [check_cached_effective_target_indexed natural_alignment_64 { return [check_cached_effective_target_indexed natural_alignment_64 {
expr { ([is-effective-target lp64] && ![istarget *-*-darwin*]) expr { [is-effective-target natural_alignment_32]
|| [istarget spu-*-*] } && (([is-effective-target lp64] && ![istarget *-*-darwin*])
|| [istarget spu-*-*]) }
}] }]
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment