diff options
author | Stefan Liebler <stli@linux.ibm.com> | 2018-12-18 13:57:05 +0100 |
---|---|---|
committer | Stefan Liebler <stli@linux.ibm.com> | 2018-12-18 13:57:05 +0100 |
commit | 6c6b8c747096d74b900e2711b9b0d463677f6d31 (patch) | |
tree | 12b215164f3bca49dca049c76f221b7b5c19778a /math/fegetmode.c | |
parent | 07be392807ac78330da90f01408aa7e042a97a88 (diff) | |
download | glibc-6c6b8c747096d74b900e2711b9b0d463677f6d31.tar glibc-6c6b8c747096d74b900e2711b9b0d463677f6d31.tar.gz glibc-6c6b8c747096d74b900e2711b9b0d463677f6d31.tar.bz2 glibc-6c6b8c747096d74b900e2711b9b0d463677f6d31.zip |
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.
Diffstat (limited to 'math/fegetmode.c')
0 files changed, 0 insertions, 0 deletions