]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: arm: Add pattern for armv8-m.base to cmse-15.c test
authorTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Tue, 7 Jan 2025 20:04:17 +0000 (21:04 +0100)
committerTorbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Fri, 10 Jan 2025 18:32:42 +0000 (19:32 +0100)
Since armv8-m.base uses thumb1 that does not suport sibcall/tailcall,
a pattern is needed that uses PUSH/BL/POP sequence instead of a single
B instruction to reuse an already existing function in the compile unit.

gcc/testsuite/ChangeLog:

* gcc.target/arm/cmse/cmse-15.c: Added pattern for armv8-m.base.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
gcc/testsuite/gcc.target/arm/cmse/cmse-15.c

index 5188f1d697f1778d5feae8f78fd786c40294e90e..0e35830c35ead199678f193fd4e220808e8340f9 100644 (file)
@@ -65,6 +65,10 @@ int nonsecure1 (ns_foo_t ** ns_foo_p)
 **     bl      __gnu_cmse_nonsecure_call
 ** |
 **     b       nonsecure0
+** |
+**     push    {r4, lr}
+**     bl      nonsecure0
+**     pop     {r4, pc}
 ** )
 **     ...
 */
@@ -129,6 +133,10 @@ int secure1 (s_bar_t ** s_bar_p)
 **     blx     r[0-3]
 ** |
 **     b       secure0
+** |
+**     push    {r4, lr}
+**     bl      secure0
+**     pop     {r4, pc}
 ** )
 **     ...
 */
@@ -146,6 +154,10 @@ int secure2 (s_bar_ptr s_bar_p)
 **     blx     r[0-3]
 ** |
 **     b       secure1
+** |
+**     push    {r4, lr}
+**     bl      secure1
+**     pop     {r4, pc}
 ** )
 **     ...
 */