[ARM/FDPIC,v5,15/21,ARM,testsuite] FDPIC: Adjust scan-assembler patterns.

Message ID 20190515124006.25840-16-christophe.lyon@st.com
State Superseded
Headers show
Series
  • FDPIC ABI for ARM
Related show

Commit Message

Christophe Lyon May 15, 2019, 12:39 p.m.
In FDPIC mode, r9 is saved in addition to other registers, so update
the expected patterns accordingly.

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

-- 
2.6.3

Comments

Kyrill Tkachov July 19, 2019, 8:52 a.m. | #1
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

>

Patch

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 } } } */