]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: arm: Use check-function-bodies in epilog-1.c test
authorTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Thu, 7 Nov 2024 19:09:48 +0000 (20:09 +0100)
committerTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Fri, 8 Nov 2024 12:03:28 +0000 (13:03 +0100)
Update test case for armv8.1-m.main that supports conditional
arithmetic.

armv7-m:
        push    {r4, lr}
        ldr     r4, .L6
        ldr     r4, [r4]
        lsls    r4, r4, #29
        it      mi
        addmi   r2, r2, #1
        bl      bar
        movs    r0, #0
        pop     {r4, pc}

armv8.1-m.main:
        push    {r3, r4, r5, lr}
        ldr     r4, .L5
        ldr     r5, [r4]
        tst     r5, #4
        csinc   r2, r2, r2, eq
        bl      bar
        movs    r0, #0
        pop     {r3, r4, r5, pc}

gcc/testsuite/ChangeLog:

* gcc.target/arm/epilog-1.c: Use check-function-bodies.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
(cherry picked from commit ec86e87439b4a5cf73da6f318757f3561f9f278a)

gcc/testsuite/gcc.target/arm/epilog-1.c

index f97f1ebeaaf3e751d75baf9a6311621d8b78443d..a1516456460698f5030616e759bd12d721e736a3 100644 (file)
@@ -2,16 +2,34 @@
 /* { dg-do compile } */
 /* { dg-options "-mthumb -Os" } */
 /* { dg-require-effective-target arm_thumb2_ok } */
+/* { dg-final { check-function-bodies "**" "" } } */
 
 volatile int g_k;
 extern void bar(int, int, int, int);
 
+/*
+** foo:
+** ...
+** (
+
+Below block is for non-armv8.1-m.main
+**     lsls    r[0-9]+, r[0-9]+, #29
+**     it      mi
+**     addmi   r2, r2, #1
+
+** |
+
+Below block is for armv8.1-m.main
+**     tst     r[0-9]+, #4
+**     csinc   r2, r2, r2, eq
+
+** )
+**     bl      bar
+** ...
+*/
 int foo(int a, int b, int c, int d)
 {
   if (g_k & 4) c++;
   bar (a, b, c, d);
   return 0;
 }
-
-/* { dg-final { scan-assembler-times "lsls.*#29" 1 } } */
-/* { dg-final { scan-assembler-not "tst" } } */