Hi Suwa-san,

On Mon, May 8, 2023 at 6:38 AM Takayuki 'January June' Suwa
<jjsuwa_sys3...@yahoo.co.jp> wrote:
>
> gcc/ChangeLog:
>
>         * config/xtensa/constraints.md (R, T, U):
>         Change define_constraint to define_memory_constraint.
>         * config/xtensa/xtensa.cc
>         (xtensa_lra_p, TARGET_LRA_P): Remove.
>         (xtensa_emit_move_sequence): Remove "if (reload_in_progress)"
>         clause as it can no longer be true.
>         (xtensa_output_integer_literal_parts): Consider 16-bit wide
>         constants.
>         (xtensa_legitimate_constant_p): Add short-circuit path for
>         integer load instructions.
>         * config/xtensa/xtensa.md (movsf): Use can_create_pseudo_p()
>         rather reload_in_progress and reload_completed.
>         * config/xtensa/xtensa.opt (mlra): Remove.
> ---
>  gcc/config/xtensa/constraints.md | 26 ++++++++------------------
>  gcc/config/xtensa/xtensa.cc      | 26 +++++---------------------
>  gcc/config/xtensa/xtensa.md      |  2 +-
>  gcc/config/xtensa/xtensa.opt     |  4 ----
>  4 files changed, 14 insertions(+), 44 deletions(-)

That's impressive.
This version introduces a few execution failures in the testsuite on
little endian targets and a bunch more (but not all, some execution
tests still pass) on big endian.
I'm traveling this week and likely won't be able to take a deep look
into it until 5/15.

New LE failures:

+FAIL: gcc.c-torture/execute/pr56866.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.dg/torture/pr45764.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.dg/torture/pr45764.c   -O3 -g  execution test

+FAIL: gfortran.dg/c-interop/section-2.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.dg/c-interop/section-2p.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.dg/c-interop/section-3.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.dg/c-interop/section-3p.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.dg/bind-c-contiguous-3.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.dg/bind-c-contiguous-3.f90   -O3 -g  execution test
+FAIL: gfortran.dg/check_bits_2.f90   -O1  output pattern test
+FAIL: gfortran.dg/coarray_ptr_comp_1.f08   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.dg/coarray_ptr_comp_1.f08   -O3 -g  execution test
+FAIL: gfortran.dg/loc_2.f90   -O2  execution test
+FAIL: gfortran.dg/loc_2.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  execution test
+FAIL: gfortran.dg/loc_2.f90   -O3 -g  execution test
+FAIL: gfortran.dg/loc_2.f90   -Os  execution test
+FAIL: gfortran.dg/sizeof_6.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gfortran.fortran-torture/execute/forall_7.f90 execution,  -O2
-fbounds-check

New BE failures:

+FAIL: gcc.c-torture/execute/builtins/memset-chk.c execution,  -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
-finline-functions
+FAIL: gcc.c-torture/execute/builtins/memset-chk.c execution,  -O3 -g
+FAIL: gcc.c-torture/execute/20000412-3.c   -O2  execution test
+FAIL: gcc.c-torture/execute/20000412-3.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/20000412-3.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/20020201-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/20020201-1.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/20020201-1.c   -Os  execution test
+FAIL: gcc.c-torture/execute/20020201-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/20030224-2.c   -O0  execution test
+FAIL: gcc.c-torture/execute/20040629-1.c   -O0  execution test
+FAIL: gcc.c-torture/execute/20040629-1.c   -O1  execution test
+FAIL: gcc.c-torture/execute/20040705-1.c   -O0  execution test
+FAIL: gcc.c-torture/execute/20040705-1.c   -O1  execution test
+FAIL: gcc.c-torture/execute/20040705-2.c   -O0  execution test
+FAIL: gcc.c-torture/execute/20040705-2.c   -O1  execution test
+FAIL: gcc.c-torture/execute/930603-3.c   -O2  execution test
+FAIL: gcc.c-torture/execute/930603-3.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/930603-3.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/931004-10.c   -O2  execution test
+FAIL: gcc.c-torture/execute/931004-10.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.c-torture/execute/931004-10.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/931004-10.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/931004-10.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/931004-7.c   -O2  execution test
+FAIL: gcc.c-torture/execute/931004-7.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/931004-7.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/931004-8.c   -O2  execution test
+FAIL: gcc.c-torture/execute/931004-8.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.c-torture/execute/931004-8.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/931004-8.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/931004-8.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/931004-9.c   -O2  execution test
+FAIL: gcc.c-torture/execute/931004-9.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/931004-9.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/950322-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/950322-1.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/950322-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/bf-pack-1.c   -O0  execution test
+FAIL: gcc.c-torture/execute/bf-pack-1.c   -O1  execution test
+FAIL: gcc.c-torture/execute/bf-pack-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/bf-pack-1.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/bf-pack-1.c   -Os  execution test
+FAIL: gcc.c-torture/execute/bf-pack-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -O0  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -O1  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -O2  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.c-torture/execute/pr56866.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -Os  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/pr56866.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -O0  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -O1  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -O2  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.c-torture/execute/pr82210.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -Os  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/pr82210.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/strct-stdarg-1.c   -O2  execution test
+FAIL: gcc.c-torture/execute/strct-stdarg-1.c   -O3
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
-finline-functions  execution test
+FAIL: gcc.c-torture/execute/strct-stdarg-1.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/strct-stdarg-1.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/strct-stdarg-1.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.c-torture/execute/va-arg-22.c   -O2  execution test
+FAIL: gcc.c-torture/execute/va-arg-22.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.c-torture/execute/va-arg-22.c   -O3 -g  execution test
+FAIL: gcc.c-torture/execute/va-arg-22.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.c-torture/execute/va-arg-22.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: tmpdir-gcc.dg-struct-layout-1/t001
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t002
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t003
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t004
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t005
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t006
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t007
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t008
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t009
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t010
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t011
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t012
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t013
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t014
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t015
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t016
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t017
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t018
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t019
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t020
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t021
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t022
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t023
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t024
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t025
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t026
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t027
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: tmpdir-gcc.dg-struct-layout-1/t028
c_compat_x_tst.o-c_compat_y_tst.o execute
+FAIL: gcc.dg/pr10392-1.c execution test
+FAIL: gcc.dg/strcmp-1.c execution test
+FAIL: gcc.dg/strlenopt-21.c execution test
+FAIL: gcc.dg/strlenopt-84.c execution test
+FAIL: gcc.dg/strncmp-1.c execution test
+FAIL: c-c++-common/torture/builtin-arith-overflow-16.c   -O0  execution test
+FAIL: c-c++-common/torture/builtin-arith-overflow-5.c   -O0  execution test
+FAIL: c-c++-common/torture/builtin-arith-overflow-p-16.c   -O0  execution test
+FAIL: c-c++-common/torture/builtin-arith-overflow-p-5.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -O1  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -O2  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -Os  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/fp-int-convert-double.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -O1  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -O2  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -Os  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -O1  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -O2  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -Os  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -O1  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -O2  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -Os  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float32x.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -O1  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -O2  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -Os  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/fp-int-convert-float64.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -O0  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -O1  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -O2  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -Os  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -O2 -flto
-fno-use-linker-plugin -flto-partition=none  execution test
+FAIL: gcc.dg/torture/fp-int-convert-long-double.c   -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/pr100499-1.c   -O1  execution test
+FAIL: gcc.dg/torture/pr100499-1.c   -O2  execution test
+FAIL: gcc.dg/torture/pr100499-1.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/pr100499-1.c   -Os  execution test
+FAIL: gcc.dg/torture/pr100499-1.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  execution test
+FAIL: gcc.dg/torture/pr100499-1.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/pr45764.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.dg/torture/pr45764.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/pr61346.c   -O2  execution test
+FAIL: gcc.dg/torture/pr61346.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.dg/torture/pr61346.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/pr61346.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  execution test
+FAIL: gcc.dg/torture/pr61346.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/pr70542.c   -O0  execution test
+FAIL: gcc.dg/torture/pr70542.c   -O1  execution test
+FAIL: gcc.dg/torture/pr70542.c   -O2  execution test
+FAIL: gcc.dg/torture/pr70542.c   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution
test
+FAIL: gcc.dg/torture/pr70542.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/pr70542.c   -Os  execution test
+FAIL: gcc.dg/torture/pr70542.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  execution test
+FAIL: gcc.dg/torture/pr70542.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
+FAIL: gcc.dg/torture/pr77436.c   -O0  execution test
+FAIL: gcc.dg/torture/pr97812.c   -O0  execution test
+FAIL: gcc.dg/torture/pr97812.c   -O1  execution test
+FAIL: gcc.dg/torture/pr97812.c   -O2  execution test
+FAIL: gcc.dg/torture/pr97812.c   -O3 -g  execution test
+FAIL: gcc.dg/torture/pr97812.c   -Os  execution test
+FAIL: gcc.dg/torture/pr97812.c   -O2 -flto -fno-use-linker-plugin
-flto-partition=none  execution test
+FAIL: gcc.dg/torture/pr97812.c   -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects  execution test
+FAIL: gcc.dg/tree-ssa/pr84969.c execution test

and some more in the gfortran testsuite.

-- 
Thanks.
-- Max

Reply via email to