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.
This commit is contained in:
Stefan Liebler 2016-05-25 17:18:04 +02:00
parent 4690dab084
commit 3b704e26b3
3 changed files with 1275 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2016-05-25 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/s390/multiarch/gconv_simple.c: New File.
* sysdeps/s390/multiarch/Makefile (sysdep_routines): Add gconv_simple.
2016-05-25 Stefan Liebler <stli@linux.vnet.ibm.com>
* sysdeps/s390/multiarch/8bit-generic.c: New File.

View File

@ -53,3 +53,7 @@ $(move-if-change) $(@:stmp=T) $(@:stmp=h)
touch $@
endef
endif
ifeq ($(subdir),iconv)
sysdep_routines += gconv_simple
endif

File diff suppressed because it is too large Load Diff