On 9/4/19 2:53 PM, Richard Earnshaw (lists) wrote: > Index: gcc/testsuite/gcc.target/arm/unaligned-argument-2.c > =================================================================== > --- gcc/testsuite/gcc.target/arm/unaligned-argument-2.c (Revision 0) > +++ gcc/testsuite/gcc.target/arm/unaligned-argument-2.c (Arbeitskopie) > @@ -0,0 +1,19 @@ > +/* { dg-do compile } */ > +/* { dg-require-effective-target arm_arm_ok } */ > +/* { dg-require-effective-target arm_ldrd_strd_ok } */ > +/* { dg-options "-marm -mno-unaligned-access -O3" } */ > + > +struct s { > + int a, b; > +} __attribute__((aligned(8))); > + > +struct s f0; > + > +void f(int a, int b, int c, int d, int e, struct s f) > +{ > + f0 = f; > +} > + > +/* { dg-final { scan-assembler-times "ldrd" 0 } } */ > +/* { dg-final { scan-assembler-times "strd" 0 } } */ > +/* { dg-final { scan-assembler-times "stm" 1 } } */ > > I don't think this test is right. While we can't use an LDRD to load the > argument off the stack, there's nothing wrong with using an STRD to then > store the value to f0 (as that is 8-byte aligned). So the second and third > scan-assembler tests are meaningless. > > R. > > (sorry, just noticed this).
So, agreed, that is really likely to change. I would just remove those, as attached. Is that OK for trunk? Thanks Bernd.
2019-09-06 Bernd Edlinger <bernd.edlin...@hotmail.de> * gcc.target/arm/unaligned-argument-2.c: Remove bogus test cases. Index: gcc/testsuite/gcc.target/arm/unaligned-argument-2.c =================================================================== --- gcc/testsuite/gcc.target/arm/unaligned-argument-2.c (revision 275409) +++ gcc/testsuite/gcc.target/arm/unaligned-argument-2.c (working copy) @@ -15,5 +15,3 @@ void f(int a, int b, int c, int d, int e, struct s } /* { dg-final { scan-assembler-times "ldrd" 0 } } */ -/* { dg-final { scan-assembler-times "strd" 0 } } */ -/* { dg-final { scan-assembler-times "stm" 1 } } */