Fixed wrong vector sincos/sincosf ABI to have it compatible with
commitee2196bb6766ca7e63a1ba22ebb7619a3266776a
authorAndrew Senkevich <andrew.senkevich@intel.com>
Fri, 1 Jul 2016 11:15:38 +0000 (1 14:15 +0300)
committerAndrew Senkevich <andrew.senkevich@intel.com>
Fri, 1 Jul 2016 11:15:38 +0000 (1 14:15 +0300)
treea99accc0d97a405f535249efd7657de270726850
parentfd1cf1dc3b2d90c2a61332363feb1043f6916564
Fixed wrong vector sincos/sincosf ABI to have it compatible with
current vector function declaration "#pragma omp declare simd notinbranch",
according to which vector sincos should have vector of pointers for second and
third parameters. It is fixed with implementation as wrapper to version
having second and third parameters as pointers.

    [BZ #20024]
    * sysdeps/x86/fpu/test-math-vector-sincos.h: New.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core_sse4.S: Fixed ABI
    of this implementation of vector function.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S:
    Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S: Likewise.
    * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sincos2_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sincos4_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sincos4_core_avx.S: Likewise.
    * sysdeps/x86_64/fpu/svml_d_sincos8_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sincosf16_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sincosf4_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sincosf8_core.S: Likewise.
    * sysdeps/x86_64/fpu/svml_s_sincosf8_core_avx.S: Likewise.
    * sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c: Use another wrapper
    for testing vector sincos with fixed ABI.
    * sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c: Likewise.
    * sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx.c: New test.
    * sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx2.c: Likewise.
    * sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx512.c: Likewise.
    * sysdeps/x86_64/fpu/test-double-libmvec-sincos.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx2.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx512.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-libmvec-sincosf.c: Likewise.
    * sysdeps/x86_64/fpu/Makefile: Added new tests.
33 files changed:
ChangeLog
sysdeps/x86/fpu/test-math-vector-sincos.h [new file with mode: 0644]
sysdeps/x86_64/fpu/Makefile
sysdeps/x86_64/fpu/multiarch/svml_d_sincos2_core_sse4.S
sysdeps/x86_64/fpu/multiarch/svml_d_sincos4_core_avx2.S
sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_sincosf4_core_sse4.S
sysdeps/x86_64/fpu/multiarch/svml_s_sincosf8_core_avx2.S
sysdeps/x86_64/fpu/svml_d_sincos2_core.S
sysdeps/x86_64/fpu/svml_d_sincos4_core.S
sysdeps/x86_64/fpu/svml_d_sincos4_core_avx.S
sysdeps/x86_64/fpu/svml_d_sincos8_core.S
sysdeps/x86_64/fpu/svml_s_sincosf16_core.S
sysdeps/x86_64/fpu/svml_s_sincosf4_core.S
sysdeps/x86_64/fpu/svml_s_sincosf8_core.S
sysdeps/x86_64/fpu/svml_s_sincosf8_core_avx.S
sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx2.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx512.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-double-libmvec-sincos.c [copied from sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c with 50% similarity]
sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c
sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c
sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c
sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c
sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx2.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx512.c [new file with mode: 0644]
sysdeps/x86_64/fpu/test-float-libmvec-sincosf.c [copied from sysdeps/x86_64/fpu/test-double-vlen4-avx2-wrappers.c with 50% similarity]
sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c
sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c
sysdeps/x86_64/fpu/test-float-vlen8-avx2-wrappers.c
sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c