[Bug math/20024] [x86_64] vectorized sincos trashes the stack

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Fri Jul 1 11:32:00 GMT 2016


https://sourceware.org/bugzilla/show_bug.cgi?id=20024

--- Comment #9 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  ee2196bb6766ca7e63a1ba22ebb7619a3266776a (commit)
      from  fd1cf1dc3b2d90c2a61332363feb1043f6916564 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ee2196bb6766ca7e63a1ba22ebb7619a3266776a

commit ee2196bb6766ca7e63a1ba22ebb7619a3266776a
Author: Andrew Senkevich <andrew.senkevich@intel.com>
Date:   Fri Jul 1 14:15:38 2016 +0300

    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.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   39 +++
 sysdeps/x86/fpu/test-math-vector-sincos.h          |   98 ++++++
 sysdeps/x86_64/fpu/Makefile                        |   48 +++-
 .../fpu/multiarch/svml_d_sincos2_core_sse4.S       |   56 ++++-
 .../fpu/multiarch/svml_d_sincos4_core_avx2.S       |   98 ++++++-
 .../fpu/multiarch/svml_d_sincos8_core_avx512.S     |  180 ++++++++++-
 .../fpu/multiarch/svml_s_sincosf16_core_avx512.S   |  310 ++++++++++++++++++-
 .../fpu/multiarch/svml_s_sincosf4_core_sse4.S      |   80 +++++-
 .../fpu/multiarch/svml_s_sincosf8_core_avx2.S      |  152 +++++++++-
 sysdeps/x86_64/fpu/svml_d_sincos2_core.S           |   83 +++++-
 sysdeps/x86_64/fpu/svml_d_sincos4_core.S           |  125 +++++++-
 sysdeps/x86_64/fpu/svml_d_sincos4_core_avx.S       |  120 +++++++-
 sysdeps/x86_64/fpu/svml_d_sincos8_core.S           |  201 ++++++++++++-
 sysdeps/x86_64/fpu/svml_s_sincosf16_core.S         |  335 +++++++++++++++++++-
 sysdeps/x86_64/fpu/svml_s_sincosf4_core.S          |  126 +++++++-
 sysdeps/x86_64/fpu/svml_s_sincosf8_core.S          |  173 ++++++++++-
 sysdeps/x86_64/fpu/svml_s_sincosf8_core_avx.S      |  179 ++++++++++-
 .../x86_64/fpu/test-double-libmvec-sincos-avx.c    |    1 +
 .../x86_64/fpu/test-double-libmvec-sincos-avx2.c   |    1 +
 .../x86_64/fpu/test-double-libmvec-sincos-avx512.c |    1 +
 sysdeps/x86_64/fpu/test-double-libmvec-sincos.c    |   69 ++++
 sysdeps/x86_64/fpu/test-double-vlen2-wrappers.c    |    6 +-
 .../x86_64/fpu/test-double-vlen4-avx2-wrappers.c   |   10 +-
 sysdeps/x86_64/fpu/test-double-vlen4-wrappers.c    |   10 +-
 sysdeps/x86_64/fpu/test-double-vlen8-wrappers.c    |   10 +-
 .../x86_64/fpu/test-float-libmvec-sincosf-avx.c    |    1 +
 .../x86_64/fpu/test-float-libmvec-sincosf-avx2.c   |    1 +
 .../x86_64/fpu/test-float-libmvec-sincosf-avx512.c |    1 +
 sysdeps/x86_64/fpu/test-float-libmvec-sincosf.c    |   69 ++++
 sysdeps/x86_64/fpu/test-float-vlen16-wrappers.c    |   10 +-
 sysdeps/x86_64/fpu/test-float-vlen4-wrappers.c     |   10 +-
 .../x86_64/fpu/test-float-vlen8-avx2-wrappers.c    |   13 +-
 sysdeps/x86_64/fpu/test-float-vlen8-wrappers.c     |   10 +-
 33 files changed, 2587 insertions(+), 39 deletions(-)
 create mode 100644 sysdeps/x86/fpu/test-math-vector-sincos.h
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx2.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sincos-avx512.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-sincos.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx2.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sincosf-avx512.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-sincosf.c

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list