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

__memcmp_z10 and __memcmp_z196 differs between 31 and 64bit:
-31bit needs .machinemode "zarch_nohighgprs" and llgfr   %r4,%r4
-lr vs lgr and some other instructions:
But lgr and co can be also used on 31bit as this ifunc variant
is only called if we are on a zarch machine.

__memcmp_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__.

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

ChangeLog:

	* sysdeps/s390/s390-64/memcmp.S: Move to ...
	* sysdeps/s390/memcmp.S: ... here.
	Adjust to be usable for 31/64bit.
	* sysdeps/s390/s390-32/memcmp.S: Delete File.
	* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add memcmp.
	* sysdeps/s390/s390-32/multiarch/Makefile (sysdep_routines):
	Remove memcmp.
	* sysdeps/s390/s390-64/multiarch/Makefile: Likewise.
	* sysdeps/s390/s390-64/multiarch/memcmp-s390x.S: Move to ...
	* sysdeps/s390/multiarch/memcmp-s390x.S: ... here.
	Adjust to be usable for 31/64bit.
	* sysdeps/s390/s390-32/multiarch/memcmp-s390.S: Delete File.
	* sysdeps/s390/s390-64/multiarch/memcmp.c: Move to ...
	* sysdeps/s390/multiarch/memcmp.c: ... here.
	* sysdeps/s390/s390-32/multiarch/memcmp.c: Delete File.
2018-12-18 13:57:05 +01:00
..
bits
fpu S390: Regenerate ULPs. 2018-11-28 15:20:18 +01:00
multiarch S390: Unify 31/64bit memcmp. 2018-12-18 13:57:05 +01:00
nptl
s390-32 S390: Unify 31/64bit memcmp. 2018-12-18 13:57:05 +01:00
s390-64 S390: Unify 31/64bit memcmp. 2018-12-18 13:57:05 +01:00
abort-instr.h
asm-syntax.h
atomic-machine.h
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
dl-procinfo.c
dl-procinfo.h
dl-tls.h
ffs.c
fix-fp-int-convert-overflow.h
gccframe.h
gconv-modules
gmp-mparam.h
ifunc-memset.h S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
Implies
iso-8859-1_cp037_z900.c
jmpbuf-offsets.h
jmpbuf-unwind.h
ldsodefs.h
libc-tls.c
linkmap.h
longjmp.c
machine-gmon.h
Makefile S390: Implement bzero with memset. 2018-12-18 13:57:05 +01:00
memcmp.S S390: Unify 31/64bit memcmp. 2018-12-18 13:57:05 +01:00
mempcpy.S
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
preconfigure
sotruss-lib.c
stackinfo.h
string_private.h
tst-dl-runtime-mod.S
tst-dl-runtime-profile-audit.c
tst-dl-runtime-profile-noaudit.c
tst-dl-runtime-resolve-audit.c
tst-dl-runtime-resolve-noaudit.c
tst-dl-runtime.c
utf8-utf16-z9.c
utf8-utf32-z9.c
utf16-utf32-z9.c
Versions