about summary refs log tree commit diff
path: root/sysdeps/s390/multiarch/Makefile
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2016-05-25 17:18:04 +0200
committerStefan Liebler <stli@linux.vnet.ibm.com>2016-05-25 17:18:04 +0200
commit3b704e26b33e35d99de920f8462d8e438f89be39 (patch)
tree41f0ab4e1ad0b24a8f19a31d00670f019ebc5641 /sysdeps/s390/multiarch/Makefile
parent4690dab084f854bf0013b5eaabcf90c2d5b692ff (diff)
downloadglibc-3b704e26b33e35d99de920f8462d8e438f89be39.tar.gz
glibc-3b704e26b33e35d99de920f8462d8e438f89be39.tar.xz
glibc-3b704e26b33e35d99de920f8462d8e438f89be39.zip
S390: Optimize builtin iconv-modules.
This patch introduces a s390 specific gconv_simple.c file which provides
optimized versions for z13 with vector instructions, which will be chosen at
runtime via ifunc.
The optimized conversions can convert between internal and ascii, ucs4, ucs4le,
ucs2, ucs2le.
If the build-environment lacks vector support, then iconv/gconv_simple.c
is used wihtout any change. Otherwise iconvdata/gconv_simple.c is used to create
conversion loop routines without vector instructions as fallback, if vector
instructions aren't available at runtime.

ChangeLog:

	* sysdeps/s390/multiarch/gconv_simple.c: New File.
	* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add gconv_simple.
Diffstat (limited to 'sysdeps/s390/multiarch/Makefile')
-rw-r--r--sysdeps/s390/multiarch/Makefile4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/s390/multiarch/Makefile b/sysdeps/s390/multiarch/Makefile
index 6073bbb80b..c893ebc565 100644
--- a/sysdeps/s390/multiarch/Makefile
+++ b/sysdeps/s390/multiarch/Makefile
@@ -53,3 +53,7 @@ $(move-if-change) $(@:stmp=T) $(@:stmp=h)
 touch $@
 endef
 endif
+
+ifeq ($(subdir),iconv)
+sysdep_routines += gconv_simple
+endif