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
