glibc/sysdeps/s390
Stefan Liebler df3eb8de31 S390: Unify 31/64bit memcpy.
The implementation of memcpy/mempcpy for s390-32 (31bit)
and s390-64 (64bit) is nearly the same.
This patch unifies it for maintability reasons.

__mem[p]cpy_z10 and __mem[p]cpy_z196 differs between 31 and 64bit:
-31bit needs .machinemode "zarch_nohighgprs" and llgfr   %r4,%r4
-lr vs lgr; lgr can be also used on 31bit as this ifunc variant
is only called if we are on a zarch machine.

__mem[p]cpy_default differs between 31 and 64bit:
-Some 31bit vs 64bit instructions (e.g. ltr vs ltgr.
Solved with 31/64 specific instruction macros).
-The address of mvc instruction is setup in different ways
(larl vs bras). Solved with #if defined __s390x__.

__memcpy_mvcle differs between 31 and 64bit:
-lr vs lgr; ahi vs aghi;
Solved with 31/64bit specific instruction macros.

Otherwise 31/64bit implementation has the same structure of the code.

ChangeLog:

	* sysdeps/s390/s390-64/memcpy.S: Move to ...
	* sysdeps/s390/memcpy.S: ... here.
	Adjust to be usable for 31/64bit.
	* sysdeps/s390/s390-32/memcpy.S: Delete File.
	* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memcpy.
	* sysdeps/s390/s390-32/multiarch/Makefile: Delete file.
	* sysdeps/s390/s390-64/multiarch/Makefile: Likewise.
	* sysdeps/s390/s390-64/multiarch/memcpy-s390x.S: Move to ...
	* sysdeps/s390/multiarch/memcpy-s390x.S: ... here.
	Adjust to be usable for 31/64bit.
	* sysdeps/s390/s390-32/multiarch/memcpy-s390.S: Delete File.
	* sysdeps/s390/s390-64/multiarch/memcpy.c: Move to ...
	* sysdeps/s390/multiarch/memcpy.c: ... here.
	* sysdeps/s390/s390-32/multiarch/memcpy.c: Delete File.
2018-12-18 13:57:06 +01:00
..
bits Unify and simplify bits/byteswap.h, bits/byteswap-16.h headers (bug 14508, bug 15512, bug 17082, bug 20530). 2018-02-06 21:55:08 +00:00
fpu S390: Regenerate ULPs. 2018-11-28 15:20:18 +01:00
multiarch S390: Unify 31/64bit memcpy. 2018-12-18 13:57:06 +01:00
nptl nptl: Remove __ASSUME_PRIVATE_FUTEX 2018-05-17 04:25:10 -07:00
s390-32 S390: Unify 31/64bit memcpy. 2018-12-18 13:57:06 +01:00
s390-64 S390: Unify 31/64bit memcpy. 2018-12-18 13:57:06 +01:00
abort-instr.h S390: Use __asm__ instead of asm. 2015-11-20 08:56:40 +01:00
asm-syntax.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
atomic-machine.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bzero.c S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
configure S390: Add configure check to detect z10 as mininum architecture level set. 2018-12-18 13:57:03 +01:00
configure.ac S390: Add configure check to detect z10 as mininum architecture level set. 2018-12-18 13:57:03 +01:00
dl-irel.h [BZ #20271] Add newlines in __libc_fatal calls. 2018-08-31 18:04:32 -07:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-tls.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ffs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fix-fp-int-convert-overflow.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gccframe.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gconv-modules Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
gmp-mparam.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ifunc-memcmp.h S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
ifunc-memset.h S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
Implies * math/divtc3.c: New file. 2006-02-01 03:02:06 +00:00
iso-8859-1_cp037_z900.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
jmpbuf-offsets.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
jmpbuf-unwind.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc-tls.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
linkmap.h S390: Use DT_JUMPREL in prelink undo code. 2016-07-06 15:22:35 +02:00
longjmp.c Revert "hurd: Avoid PLTs for longjmp & siglongjmp" 2018-04-05 09:38:58 +02:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
memcmp-z900.S S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
memcmp.c S390: Refactor memcmp ifunc handling. 2018-12-18 13:57:05 +01:00
memcpy.S S390: Unify 31/64bit memcpy. 2018-12-18 13:57:06 +01:00
mempcpy.S Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
memset-z900.S S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
memset.c S390: Refactor memset ifunc handling. 2018-12-18 13:57:04 +01:00
memusage.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
preconfigure Move base_machine and machine settings from configure.ac to sysdeps preconfigure fragments. 2014-06-25 17:52:56 +00:00
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
string_private.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-dl-runtime-mod.S S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-profile-audit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-profile-noaudit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-resolve-audit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime-resolve-noaudit.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
tst-dl-runtime.c S390: Test that lazy binding does not clobber R0 2018-08-10 09:07:43 +02:00
utf8-utf16-z9.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utf8-utf32-z9.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
utf16-utf32-z9.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions S/390: Revert the jmp_buf/ucontext_t ABI change. 2014-07-31 20:04:54 +02:00