The implicit -mlong-calls used in our arm-vxworks configurations changes the register allocation patterns in the arm/fp16-aapcs-2.c test: r3 ends up used in the long-call sequence, and we end up using ip as a temporary, which doesn't match the expected mov patterns.
This patch adds an explicit -mno-long-calls for the generated code to match the expectation. Regstrapped on x86_64-linux-gnu, also tested on arm-vxworks7r2. Ok to install? for gcc/testsuite/ChangeLog * gcc.target/arm/fp16-aapcs-2.c: Use -mno-long-calls. --- gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c b/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c index 51a76fc069353..c34387f57828d 100644 --- a/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c +++ b/gcc/testsuite/gcc.target/arm/fp16-aapcs-2.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target arm_fp16_ok } */ -/* { dg-options "-mfloat-abi=softfp -O2" } */ +/* { dg-options "-mfloat-abi=softfp -O2 -mno-long-calls" } */ /* { dg-add-options arm_fp16_ieee } */ /* { dg-skip-if "incompatible float-abi" { arm*-*-* } { "-mfloat-abi=hard" } } */ -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Vim, Vi, Voltei pro Emacs -- GNUlius Caesar