Hi Suwa-san,

On Fri, May 8, 2026 at 2:08 PM Takayuki 'January June' Suwa
<[email protected]> wrote:
>
> No functional changes.
>
> gcc/ChangeLog:
>
>         * config/xtensa/xtensa.cc
>         (xtensa_can_eliminate_callee_saved_reg_p):
>         Change the arguments that return values from being passed by pointer
>         to C++ reference.
>         (xtensa_expand_prologue):
>         Adjust the call to xtensa_can_eliminate_callee_saved_reg_p() to
>         match the above changes.  And also replace some of the individual
>         coding for RTX rewriting and subsequent DF rescanning with functions
>         that are already officially provided.
> ---
>   gcc/config/xtensa/xtensa.cc | 38 +++++++++++++------------------------
>   1 file changed, 13 insertions(+), 25 deletions(-)

This change introduces a bunch of new regressions:

+FAIL: gcc.c-torture/execute/20050121-1.c   -O1  execution test
+FAIL: gcc.c-torture/execute/20050121-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/20050121-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/20050121-1.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/20050121-1.c   -Os  execution test
+FAIL: gcc.c-torture/execute/20070614-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/20070614-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/20070614-1.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.c-torture/execute/20070614-1.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/20070614-1.c   -Os  execution test
+FAIL: gcc.c-torture/execute/921113-1.c   -Os  execution test
+FAIL: gcc.c-torture/execute/complex-5.c   -O1  execution test
+FAIL: gcc.c-torture/execute/complex-5.c   -O2  execution test
+FAIL: gcc.c-torture/execute/complex-5.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/complex-5.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/complex-5.c   -Os  execution test
+FAIL: gcc.c-torture/execute/complex-6.c   -O1  execution test
+FAIL: gcc.c-torture/execute/complex-6.c   -O2  execution test
+FAIL: gcc.c-torture/execute/complex-6.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/complex-6.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/complex-6.c   -Os  execution test
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-8f.c   -O1  execution test
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-8f.c   -O2  execution test
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-8f.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-8f.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-8f.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/ieee/fp-cmp-8f.c   -Os  execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -O1  execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
-finline-functions  execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -O3 -g
execution test
+FAIL: gcc.c-torture/execute/ieee/mul-subnormal-single-1.c   -Os  execution test
+FAIL: gcc.dg/20040219-1.c execution test
+FAIL: gcc.dg/cdce2.c execution test
+FAIL: gcc.dg/trampoline-1.c execution test
+FAIL: gcc.dg/sso/q13.c   -Wno-scalar-storage-order -Og -g  execution test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -O1  execution test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -O2  execution test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/builtin-complex-1.c   -Os  execution test
+FAIL: gcc.dg/torture/pr67609.c   -O2  execution test
+FAIL: gcc.dg/torture/pr67609.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  execution test
+FAIL: gcc.dg/torture/pr67609.c   -O3 -g  execution test
...

I see that code generated with this change for the call0 ABI
clobbers callee-saved registers.

-- 
Thanks.
-- Max

Reply via email to