On 4/15/2021 11:44 AM, Stefan Schulze Frielinghaus via Gcc-patches wrote:
On s390* the only missing part for the mentioned testcases was a load of a double floating-point zero via a move (in particular for quite old machines) which was added in commit 46c47420a5fefd4d9d02b0db347235dd74e20fb2. Common code implementation is sufficient in order to clear volatile GPRs, FPRs, and VRs. Access registers a0 and a1 are nonvolatile and not cleared. Therefore, target hook TARGET_ZERO_CALL_USED_REGS is not implemented for s390*. Added a target specific test in order to ensure that all call clobbered GPRs, FPRs, and VRs are zeroed and all call saved registers are kept. Ok for mainline? gcc/testsuite/ChangeLog: * c-c++-common/zero-scratch-regs-8.c: Enable on s390*. * c-c++-common/zero-scratch-regs-9.c: Likewise. * c-c++-common/zero-scratch-regs-10.c: Likewise. * c-c++-common/zero-scratch-regs-11.c: Likewise. * gcc.target/s390/zero-scratch-regs-1.c: New test.
OK jeff