This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gcc] [SH] Introduce treg_set_expr


Oleg Endo <oleg.endo@t-online.de> wrote:
> Kaz, could you please test the patch on your sh4-linux setup and report
> your findings?  Even though it's a bit late, I'd like to get this in for
> GCC 5, if it doesn't break too many things.

Looks wrong code problem for tls and atomic constructs.
Here is the result of compare_tests for unpatched/patched
sh4-unknown-linux-gnu compilers:

New tests that FAIL:

g++.dg/tls/static-1.C  -std=gnu++11 execution test
g++.dg/tls/static-1.C  -std=gnu++14 execution test
g++.dg/tls/static-1.C  -std=gnu++98 execution test
g++.dg/tls/thread_local-cse.C  -std=gnu++11 execution test
g++.dg/tls/thread_local-cse.C  -std=gnu++14 execution test
gcc.dg/atomic/stdatomic-op-1.c   -O1  execution test
gcc.dg/atomic/stdatomic-op-1.c   -O2  execution test
gcc.dg/atomic/stdatomic-op-1.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  execution test
gcc.dg/atomic/stdatomic-op-1.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  execution test
gcc.dg/atomic/stdatomic-op-1.c   -O3 -fomit-frame-pointer  execution test
gcc.dg/atomic/stdatomic-op-1.c   -O3 -g  execution test
gcc.dg/atomic/stdatomic-op-1.c   -Os  execution test
gcc.dg/tls/pr24428.c execution test
gcc.dg/torture/tls/run-le.c   -O1  -fPIC  execution test
gcc.dg/torture/tls/run-le.c   -O1  -fpic  execution test
gcc.dg/torture/tls/run-le.c   -O2  -fPIC  execution test
gcc.dg/torture/tls/run-le.c   -O2  -fpic  execution test
gcc.dg/torture/tls/run-le.c   -O3 -fomit-frame-pointer  -fPIC  execution test
gcc.dg/torture/tls/run-le.c   -O3 -fomit-frame-pointer  -fpic  execution test
gcc.dg/torture/tls/run-le.c   -O3 -g  -fPIC  execution test
gcc.dg/torture/tls/run-le.c   -O3 -g  -fpic  execution test
gcc.dg/torture/tls/run-le.c   -Os  -fPIC  execution test
gcc.dg/torture/tls/run-le.c   -Os  -fpic  execution test
gcc.dg/torture/tls/thr-init-1.c   -O1  execution test
gcc.dg/torture/tls/thr-init-1.c   -O2  execution test
gcc.dg/torture/tls/thr-init-1.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  execution test
gcc.dg/torture/tls/thr-init-1.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  execution test
gcc.dg/torture/tls/thr-init-1.c   -O3 -fomit-frame-pointer  execution test
gcc.dg/torture/tls/thr-init-1.c   -O3 -g  execution test
gcc.dg/torture/tls/thr-init-1.c   -Os  execution test
gcc.dg/torture/tls/thr-init-2.c   -O1  execution test
gcc.dg/torture/tls/thr-init-2.c   -O2  execution test
gcc.dg/torture/tls/thr-init-2.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  execution test
gcc.dg/torture/tls/thr-init-2.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  execution test
gcc.dg/torture/tls/thr-init-2.c   -O3 -fomit-frame-pointer  execution test
gcc.dg/torture/tls/thr-init-2.c   -O3 -g  execution test
gcc.dg/torture/tls/thr-init-2.c   -Os  execution test
gcc.dg/torture/tls/tls-reload-1.c   -O1  execution test
gcc.dg/torture/tls/tls-test.c   -O1  execution test
gcc.dg/torture/tls/tls-test.c   -O2  execution test
gcc.dg/torture/tls/tls-test.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none  execution test
gcc.dg/torture/tls/tls-test.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  execution test
gcc.dg/torture/tls/tls-test.c   -O3 -fomit-frame-pointer  execution test
gcc.dg/torture/tls/tls-test.c   -O3 -g  execution test
gcc.dg/torture/tls/tls-test.c   -Os  execution test
gcc.target/sh/pr51244-4.c scan-assembler-times not 1
libgomp.c/copyin-1.c execution test
libgomp.c/copyin-2.c execution test
libgomp.fortran/allocatable11.f90   -O1  execution test
libgomp.fortran/allocatable11.f90   -O2  execution test
libgomp.fortran/allocatable11.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/allocatable11.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/allocatable11.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/allocatable11.f90   -O3 -g  execution test
libgomp.fortran/allocatable11.f90   -Os  execution test
libgomp.fortran/allocatable2.f90   -O1  execution test
libgomp.fortran/allocatable2.f90   -O2  execution test
libgomp.fortran/allocatable2.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/allocatable2.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/allocatable2.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/allocatable2.f90   -O3 -g  execution test
libgomp.fortran/allocatable2.f90   -Os  execution test
libgomp.fortran/allocatable8.f90   -O1  execution test
libgomp.fortran/allocatable8.f90   -O2  execution test
libgomp.fortran/allocatable8.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/allocatable8.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/allocatable8.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/allocatable8.f90   -O3 -g  execution test
libgomp.fortran/allocatable8.f90   -Os  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -O1  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -O2  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -O3 -g  execution test
libgomp.fortran/appendix-a/a.22.7.f90   -Os  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -O1  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -O2  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -O3 -g  execution test
libgomp.fortran/appendix-a/a.22.8.f90   -Os  execution test
libgomp.fortran/crayptr2.f90   -O2  execution test
libgomp.fortran/crayptr2.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/crayptr2.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/crayptr2.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/crayptr2.f90   -O3 -g  execution test
libgomp.fortran/crayptr2.f90   -Os  execution test
libgomp.fortran/omp_parse3.f90   -O1  execution test
libgomp.fortran/omp_parse3.f90   -O2  execution test
libgomp.fortran/omp_parse3.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/omp_parse3.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/omp_parse3.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/omp_parse3.f90   -O3 -g  execution test
libgomp.fortran/pointer2.f90   -O1  execution test
libgomp.fortran/pointer2.f90   -O2  execution test
libgomp.fortran/pointer2.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/pointer2.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/pointer2.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/pointer2.f90   -O3 -g  execution test
libgomp.fortran/pointer2.f90   -Os  execution test
libgomp.fortran/pr25162.f   -O1  execution test
libgomp.fortran/pr25162.f   -O2  execution test
libgomp.fortran/pr25162.f   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/pr25162.f   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/pr25162.f   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/pr25162.f   -O3 -g  execution test
libgomp.fortran/pr25162.f   -Os  execution test
libgomp.fortran/threadprivate1.f90   -O1  execution test
libgomp.fortran/threadprivate1.f90   -O2  execution test
libgomp.fortran/threadprivate1.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/threadprivate1.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/threadprivate1.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/threadprivate1.f90   -O3 -g  execution test
libgomp.fortran/threadprivate1.f90   -Os  execution test
libgomp.fortran/threadprivate2.f90   -O1  execution test
libgomp.fortran/threadprivate2.f90   -O2  execution test
libgomp.fortran/threadprivate2.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/threadprivate2.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/threadprivate2.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/threadprivate2.f90   -O3 -g  execution test
libgomp.fortran/threadprivate2.f90   -Os  execution test
libgomp.fortran/threadprivate3.f90   -O1  execution test
libgomp.fortran/threadprivate3.f90   -O2  execution test
libgomp.fortran/threadprivate3.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/threadprivate3.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/threadprivate3.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/threadprivate3.f90   -O3 -g  execution test
libgomp.fortran/threadprivate3.f90   -Os  execution test
libgomp.fortran/threadprivate4.f90   -O1  execution test
libgomp.fortran/threadprivate4.f90   -O2  execution test
libgomp.fortran/threadprivate4.f90   -O3 -fomit-frame-pointer  execution test
libgomp.fortran/threadprivate4.f90   -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  execution test
libgomp.fortran/threadprivate4.f90   -O3 -fomit-frame-pointer -funroll-loops  execution test
libgomp.fortran/threadprivate4.f90   -O3 -g  execution test
libgomp.fortran/threadprivate4.f90   -Os  execution test
libgomp.fortran/udr14.f90   -O3 -g  (internal compiler error)
libgomp.fortran/udr14.f90   -O3 -g  (test for excess errors)
objc.dg/torture/tls/thr-init-2.m   -O1  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -O1  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -O2  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -O3 -fomit-frame-pointer  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -O3 -g  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init-3.m   -Os  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -O1  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -O2  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -O2 -flto -fno-use-linker-plugin -flto-partition=none  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -O3 -fomit-frame-pointer  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -O3 -g  -fgnu-runtime execution test
objc.dg/torture/tls/thr-init.m   -Os  -fgnu-runtime execution test

Old tests that passed, that have disappeared: (Eeek!)

gcc.target/sh/pr49263-1.c scan-assembler-not bclr
gcc.target/sh/pr49263-1.c scan-assembler-times extu 1
gcc.target/sh/pr49263-2.c scan-assembler-times -129 2
gcc.target/sh/pr49263-2.c scan-assembler-times extu 1

Regards,
	kaz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]