Message ID | 20190515124006.25840-16-christophe.lyon@st.com |
---|---|
State | Superseded |
Headers | show |
Series | FDPIC ABI for ARM | expand |
On 5/15/19 1:39 PM, Christophe Lyon wrote: > In FDPIC mode, r9 is saved in addition to other registers, so update > the expected patterns accordingly. > Ok. Thanks, Kyrill > 2019-XX-XX Christophe Lyon <christophe.lyon@st.com> > Mickaël Guêné <mickael.guene@st.com> > > * gcc/testsuite/ > * gcc.target/arm/interrupt-1.c: Add scan-assembler pattern for > arm*-*-uclinuxfdpiceabi. > * gcc.target/arm/interrupt-2.c: Likewise. > * gcc.target/arm/pr70830.c: Likewise. > > Change-Id: Id946b79bacc32be585c31e60a355191f104cc29e > > diff --git a/gcc/testsuite/gcc.target/arm/interrupt-1.c > b/gcc/testsuite/gcc.target/arm/interrupt-1.c > index fe94877..493763d 100644 > --- a/gcc/testsuite/gcc.target/arm/interrupt-1.c > +++ b/gcc/testsuite/gcc.target/arm/interrupt-1.c > @@ -13,5 +13,7 @@ void foo () > bar (0); > } > > -/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, fp, ip, > lr}" } } */ > -/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, fp, > ip, pc}\\^" } } */ > +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, fp, ip, > lr}" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ > +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, fp, > ip, pc}\\^" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ > +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, r9, > fp, ip, lr}" { target arm*-*-uclinuxfdpiceabi } } } */ > +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, > r9, fp, ip, pc}\\^" { target arm*-*-uclinuxfdpiceabi } } } */ > diff --git a/gcc/testsuite/gcc.target/arm/interrupt-2.c > b/gcc/testsuite/gcc.target/arm/interrupt-2.c > index 289eca0..5be1f16 100644 > --- a/gcc/testsuite/gcc.target/arm/interrupt-2.c > +++ b/gcc/testsuite/gcc.target/arm/interrupt-2.c > @@ -15,5 +15,7 @@ void test() > foo = 0; > } > > -/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, ip, > lr}" } } */ > -/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, > ip, pc}\\^" } } */ > +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, ip, > lr}" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ > +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, > ip, pc}\\^" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ > +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, r6, > r9, ip, lr}" { target arm*-*-uclinuxfdpiceabi } } } */ > +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, > r6, r9, ip, pc}\\^" { target arm*-*-uclinuxfdpiceabi } } } */ > diff --git a/gcc/testsuite/gcc.target/arm/pr70830.c > b/gcc/testsuite/gcc.target/arm/pr70830.c > index cad903b..cd84c42 100644 > --- a/gcc/testsuite/gcc.target/arm/pr70830.c > +++ b/gcc/testsuite/gcc.target/arm/pr70830.c > @@ -11,4 +11,5 @@ void __attribute__ ((interrupt ("IRQ"))) > dm3730_IRQHandler(void) > { > prints("IRQ" ); > } > -/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, ip, > pc}\\^" } } */ > +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, ip, > pc}\\^" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ > +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r9, > ip, pc}\\^" { target arm*-*-uclinuxfdpiceabi } } } */ > -- > 2.6.3 >
diff --git a/gcc/testsuite/gcc.target/arm/interrupt-1.c b/gcc/testsuite/gcc.target/arm/interrupt-1.c index fe94877..493763d 100644 --- a/gcc/testsuite/gcc.target/arm/interrupt-1.c +++ b/gcc/testsuite/gcc.target/arm/interrupt-1.c @@ -13,5 +13,7 @@ void foo () bar (0); } -/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, fp, ip, lr}" } } */ -/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, fp, ip, pc}\\^" } } */ +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, fp, ip, lr}" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, fp, ip, pc}\\^" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, r9, fp, ip, lr}" { target arm*-*-uclinuxfdpiceabi } } } */ +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, r9, fp, ip, pc}\\^" { target arm*-*-uclinuxfdpiceabi } } } */ diff --git a/gcc/testsuite/gcc.target/arm/interrupt-2.c b/gcc/testsuite/gcc.target/arm/interrupt-2.c index 289eca0..5be1f16 100644 --- a/gcc/testsuite/gcc.target/arm/interrupt-2.c +++ b/gcc/testsuite/gcc.target/arm/interrupt-2.c @@ -15,5 +15,7 @@ void test() foo = 0; } -/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, ip, lr}" } } */ -/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, ip, pc}\\^" } } */ +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, ip, lr}" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, ip, pc}\\^" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ +/* { dg-final { scan-assembler "push\t{r0, r1, r2, r3, r4, r5, r6, r9, ip, lr}" { target arm*-*-uclinuxfdpiceabi } } } */ +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r5, r6, r9, ip, pc}\\^" { target arm*-*-uclinuxfdpiceabi } } } */ diff --git a/gcc/testsuite/gcc.target/arm/pr70830.c b/gcc/testsuite/gcc.target/arm/pr70830.c index cad903b..cd84c42 100644 --- a/gcc/testsuite/gcc.target/arm/pr70830.c +++ b/gcc/testsuite/gcc.target/arm/pr70830.c @@ -11,4 +11,5 @@ void __attribute__ ((interrupt ("IRQ"))) dm3730_IRQHandler(void) { prints("IRQ" ); } -/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, ip, pc}\\^" } } */ +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, ip, pc}\\^" { target { ! arm*-*-uclinuxfdpiceabi } } } } */ +/* { dg-final { scan-assembler "ldmfd\tsp!, {r0, r1, r2, r3, r4, r9, ip, pc}\\^" { target arm*-*-uclinuxfdpiceabi } } } */