(The backport I've only just posted is not enough for the tests to pass;
there's another problem)

r14-10824 is a backport of r15-4549, that rewrote and extended into
check-function-bodies the save/restore expectations introduced in
r15-2160.  Alas, r15-2160 mentions an insn_propagation patch that
enables those specific save/restore insns to be generated, presumably
r15-1945, and this change is not present in gcc-14, so we get
different save/restore insns, and the test fails, even after
backporting r15-1035, that allows for single-character function names
in check-function-bodies.

Drop the save/restore checks that don't belong in gcc-14.

Tested with gcc-14 on arm-vxworks7r2.  Ok to install in gcc-14?


for  gcc/testsuite/ChangeLog

        * gcc.target/arm/fp16-aapcs-1.c: Drop save/restore checks.
        * gcc.target/arm/fp16-aapcs-2.c: Likewise.
        * gcc.target/arm/fp16-aapcs-3.c: Likewise.
        * gcc.target/arm/fp16-aapcs-4.c: Likewise.
---
 gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c |    7 ++-----
 gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c |    8 --------
 gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c |    7 ++-----
 gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c |    8 --------
 4 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c 
b/gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c
index b18d7cda65c8d..450c52fcd5c6c 100644
--- a/gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c
+++ b/gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c
@@ -29,10 +29,8 @@ Below block is for non-armv8.1
 ** ...
 **     vmov\.f32       s0, \2
 ** )
-**     vstr\.32        s2, \[sp, #4\]  @ int
+** ...
 **     bl      swap
-**     vldr\.32        s2, \[sp, #4\]  @ int
-**     vmov\.f32       s0, s2
 
 ** |
 
@@ -50,9 +48,8 @@ Below block is for armv8.1
 ** ...
 **     vmov    s0, \4  @ __fp16
 ** )
-**     vstr\.32        s2, \[sp, #4\]  @ int
+** ...
 **     bl      swap
-**     vldr\.16        s0, \[sp, #4\]
 
 ** )
 ** ...
diff --git a/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c 
b/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c
index 48510e895368d..c15f29dd3e44b 100644
--- a/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c
+++ b/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c
@@ -28,14 +28,6 @@ swap (__fp16, __fp16);
 ** )
 ** ...
 */
-/*
-** F: { target arm_little_endian }
-** ...
-**     str     r2, \[sp, #4\]
-**     bl      swap
-**     ldrh    r0, \[sp, #4\]  @ __fp16
-** ...
-*/
 __fp16
 F (__fp16 a, __fp16 b, __fp16 c)
 {
diff --git a/gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c 
b/gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c
index 7238ef3a02e03..1102dc7344919 100644
--- a/gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c
+++ b/gcc/testsuite/gcc.target/arm/fp16-aapcs-3.c
@@ -29,10 +29,8 @@ Below block is for non-armv8.1
 ** ...
 **     vmov\.f32       s0, \2
 ** )
-**     vstr\.32        s2, \[sp, #4\]  @ int
+** ...
 **     bl      swap
-**     vldr\.32        s2, \[sp, #4\]  @ int
-**     vmov\.f32       s0, s2
 
 ** |
 
@@ -50,9 +48,8 @@ Below block is for armv8.1
 ** ...
 **     vmov    s0, \4
 ** )
-**     vstr\.32        s2, \[sp, #4\]  @ int
+** ...
 **     bl      swap
-**     vldr\.16        s0, \[sp, #4\]
 
 ** )
 ** ...
diff --git a/gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c 
b/gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c
index 13f08d8afa32d..00a44d15129a8 100644
--- a/gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c
+++ b/gcc/testsuite/gcc.target/arm/fp16-aapcs-4.c
@@ -28,14 +28,6 @@ swap (__fp16, __fp16);
 ** )
 ** ...
 */
-/*
-** F: { target arm_little_endian }
-** ...
-**     str     r2, \[sp, #4\]
-**     bl      swap
-**     ldrh    r0, \[sp, #4\]  @ __fp16
-** ...
-*/
 __fp16
 F (__fp16 a, __fp16 b, __fp16 c)
 {

-- 
Alexandre Oliva, happy hacker            https://blog.lx.oliva.nom.br/
Free Software Activist     FSFLA co-founder     GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity.
Excluding neuro-others for not behaving ""normal"" is *not* inclusive!

Reply via email to