mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-02 01:40:07 +00:00
3fc9ccc20b
Implement vectorized exp2/exp2f containing SSE, AVX, AVX2 and AVX512 versions for libmvec as per vector ABI. It also contains accuracy and ABI tests for vector exp2/exp2f with regenerated ulps. Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
64 lines
3.6 KiB
C
64 lines
3.6 KiB
C
! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*-
|
|
! Copyright (C) 2019-2021 Free Software Foundation, Inc.
|
|
! This file is part of the GNU C Library.
|
|
!
|
|
! The GNU C Library is free software; you can redistribute it and/or
|
|
! modify it under the terms of the GNU Lesser General Public
|
|
! License as published by the Free Software Foundation; either
|
|
! version 2.1 of the License, or (at your option) any later version.
|
|
!
|
|
! The GNU C Library is distributed in the hope that it will be useful,
|
|
! but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
! Lesser General Public License for more details.
|
|
!
|
|
! You should have received a copy of the GNU Lesser General Public
|
|
! License along with the GNU C Library; if not, see
|
|
! <https://www.gnu.org/licenses/>.
|
|
|
|
!GCC$ builtin (cos) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (cosf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (sin) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (sinf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (sincos) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (log) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (logf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (exp) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64')
|
|
!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64')
|
|
|
|
!GCC$ builtin (cos) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (cosf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (sin) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (sinf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (sincos) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (sincosf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (log) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (logf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (exp) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (expf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (pow) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (powf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (acos) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (atan) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (asin) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32')
|
|
!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32')
|