===================================================================
@@ -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 } } } } */
===================================================================
@@ -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);
===================================================================
@@ -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 } } } } */
===================================================================
@@ -6294,9 +6294,18 @@ proc check_effective_target_vect_aligned
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_alig
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-*-*]) }
}]
}