[PATCH 00/14] S390: Optimize iconv modules.
Stefan Liebler
stli@linux.vnet.ibm.com
Tue Mar 8 12:33:00 GMT 2016
ping
On 03/01/2016 04:01 PM, Stefan Liebler wrote:
> Ping
>
> On 02/23/2016 10:21 AM, Stefan Liebler wrote:
>> Hi,
>>
>> this patch set introduces optimized iconv modules for S390/S390x.
>>
>> The first patches prepare for the latter optimizations.
>> A make warning is eliminated, the order in gconv-modules file is
>> changed for the s390 specific modules and a new configure check
>> is introduced.
>>
>> The next patches optimize the current s390 specific iconv modules
>> and generic or built-in ones. The optimizations are done e.g. with
>> vector instructions, if gcc, binutils can handle those.
>> At compile time, the relevant functions are build with/without the
>> vector instructions. On runtime, the appropiate function is choosen
>> with an ifunc resolver.
>>
>> The current s390-specific iconv-modules are used on 64bit only.
>> These modules are reworked to run on S390 31bit, too.
>>
>> The last patches fixes some errors. Unfortunately, some of the s390
>> convert instructions do not report errors on UTF-16 low surrogates,
>> thus those failing instructions has to be disabled. Perhaps those
>> instructions can be reenabled in future. Some common-code modules
>> have similar problems, which are fixed, too.
>>
>> The testsuite runs without new test failures. Tests were executed for
>> 31/64bit
>> with binutils that do/don't support the z13 vector instructions.
>>
>> Please review.
>> Ok to commit?
>>
>> Stefan Liebler (14):
>> S390: Get rid of make warning: overriding recipe for target
>> gconv-modules.
>> S390: Mention s390-specific gconv-modues before common ones.
>> S390: Configure check for vector support in gcc.
>> S390: Optimize 8bit-generic iconv modules.
>> S390: Optimize builtin iconv-modules.
>> S390: Optimize iso-8859-1 to ibm037 iconv-module.
>> S390: Optimize utf8-utf32 module.
>> S390: Optimize utf8-utf16 module.
>> S390: Optimize utf16-utf32 module.
>> S390: Use s390-64 specific ionv-modules on s390-32, too.
>> S390: Fix utf32 to utf8 handling of low surrogates (disable cu41).
>> S390: Fix utf32 to utf16 handling of low surrogates (disable cu42).
>> Fix ucs4le_internal_loop in error case.
>> Fix UTF-16 surrogate handling.
>>
>> config.h.in | 4 +
>> iconv/gconv_simple.c | 5 +-
>> iconvdata/Makefile | 15 +-
>> iconvdata/utf-16.c | 12 +
>> iconvdata/utf-32.c | 2 +-
>> sysdeps/s390/Makefile | 83 ++
>> sysdeps/s390/configure | 32 +
>> sysdeps/s390/configure.ac | 21 +
>> sysdeps/s390/iso-8859-1_cp037_z900.c | 262 ++++++
>> sysdeps/s390/multiarch/8bit-generic.c | 485 ++++++++++
>> sysdeps/s390/multiarch/Makefile | 4 +
>> sysdeps/s390/multiarch/gconv_simple.c | 1266
>> ++++++++++++++++++++++++++
>> sysdeps/s390/multiarch/iconv/skeleton.c | 21 +
>> sysdeps/s390/s390-64/Makefile | 81 --
>> sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c | 237 -----
>> sysdeps/s390/s390-64/utf16-utf32-z9.c | 337 -------
>> sysdeps/s390/s390-64/utf8-utf16-z9.c | 471 ----------
>> sysdeps/s390/s390-64/utf8-utf32-z9.c | 511 -----------
>> sysdeps/s390/utf16-utf32-z9.c | 605 ++++++++++++
>> sysdeps/s390/utf8-utf16-z9.c | 818 +++++++++++++++++
>> sysdeps/s390/utf8-utf32-z9.c | 862 ++++++++++++++++++
>> 21 files changed, 4493 insertions(+), 1641 deletions(-)
>> create mode 100644 sysdeps/s390/Makefile
>> create mode 100644 sysdeps/s390/iso-8859-1_cp037_z900.c
>> create mode 100644 sysdeps/s390/multiarch/8bit-generic.c
>> create mode 100644 sysdeps/s390/multiarch/gconv_simple.c
>> create mode 100644 sysdeps/s390/multiarch/iconv/skeleton.c
>> delete mode 100644 sysdeps/s390/s390-64/iso-8859-1_cp037_z900.c
>> delete mode 100644 sysdeps/s390/s390-64/utf16-utf32-z9.c
>> delete mode 100644 sysdeps/s390/s390-64/utf8-utf16-z9.c
>> delete mode 100644 sysdeps/s390/s390-64/utf8-utf32-z9.c
>> create mode 100644 sysdeps/s390/utf16-utf32-z9.c
>> create mode 100644 sysdeps/s390/utf8-utf16-z9.c
>> create mode 100644 sysdeps/s390/utf8-utf32-z9.c
>>
>
>
More information about the Libc-alpha
mailing list