+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.
}
/* 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 } } } } */
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
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-*-*]) }
}]
}