Blame sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.c

Packit 6c4009
/* signbit ifunc resolver, Linux/sparc64 version.
Packit 6c4009
   Copyright (C) 2017-2018 Free Software Foundation, Inc.
Packit 6c4009
   This file is part of the GNU C Library.
Packit 6c4009
Packit 6c4009
   The GNU C Library is free software; you can redistribute it and/or
Packit 6c4009
   modify it under the terms of the GNU Lesser General Public
Packit 6c4009
   License as published by the Free Software Foundation; either
Packit 6c4009
   version 2.1 of the License, or (at your option) any later version.
Packit 6c4009
Packit 6c4009
   The GNU C Library is distributed in the hope that it will be useful,
Packit 6c4009
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 6c4009
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 6c4009
   Lesser General Public License for more details.
Packit 6c4009
Packit 6c4009
   You should have received a copy of the GNU Lesser General Public
Packit 6c4009
   License along with the GNU C Library; if not, see
Packit 6c4009
   <http://www.gnu.org/licenses/>.  */
Packit 6c4009
Packit 6c4009
#define __signbit __redirect_signbit
Packit 6c4009
#include <math.h>
Packit 6c4009
#undef __signbit
Packit 6c4009
Packit 6c4009
#include <sparc-ifunc.h>
Packit 6c4009
Packit 6c4009
extern __typeof (__redirect_signbit) __signbit_vis3 attribute_hidden;
Packit 6c4009
extern __typeof (__redirect_signbit) __signbit_generic attribute_hidden;
Packit 6c4009
Packit 6c4009
sparc_libm_ifunc_redirected (__redirect_signbit, __signbit,
Packit 6c4009
			     hwcap & HWCAP_SPARC_VIS3
Packit 6c4009
			     ? __signbit_vis3
Packit 6c4009
			     : __signbit_generic);
Packit 6c4009
Packit 6c4009
/* On 64-bit the double version will also always work for
Packit 6c4009
   long-double-precision since in both cases the word with the
Packit 6c4009
   sign bit in it is passed always in register %f0.  */
Packit 6c4009
strong_alias (__signbit, __signbitl)
Packit 6c4009
sparc_ifunc_redirected_hidden_def (__redirect_signbit, __signbitl)