hjl / source-git / glibc

Forked from source-git/glibc 3 years ago
Clone

Blame sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c

Packit 6c4009
/* Multiple versions of llround.
Packit 6c4009
   Copyright (C) 2013-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 lround __hidden_lround
Packit 6c4009
#define __lround __hidden___lround
Packit 6c4009
Packit 6c4009
#include <math.h>
Packit 6c4009
#include <math_ldbl_opt.h>
Packit 6c4009
#include <shlib-compat.h>
Packit 6c4009
#include "init-arch.h"
Packit 6c4009
#include <libm-alias-double.h>
Packit 6c4009
Packit 6c4009
extern __typeof (__llround) __llround_ppc64 attribute_hidden;
Packit 6c4009
extern __typeof (__llround) __llround_power5plus attribute_hidden;
Packit 6c4009
extern __typeof (__llround) __llround_power6x attribute_hidden;
Packit 6c4009
extern __typeof (__llround) __llround_power8 attribute_hidden;
Packit 6c4009
Packit 6c4009
libc_ifunc (__llround,
Packit 6c4009
	    (hwcap2 & PPC_FEATURE2_ARCH_2_07)
Packit 6c4009
	    ? __llround_power8 :
Packit 6c4009
	      (hwcap & PPC_FEATURE_POWER6_EXT)
Packit 6c4009
	      ? __llround_power6x :
Packit 6c4009
		(hwcap & PPC_FEATURE_POWER5_PLUS)
Packit 6c4009
		? __llround_power5plus
Packit 6c4009
            : __llround_ppc64);
Packit 6c4009
Packit 6c4009
libm_alias_double (__llround, llround)
Packit 6c4009
Packit 6c4009
/* long has the same width as long long on PPC64.  */
Packit 6c4009
#undef lround
Packit 6c4009
#undef __lround
Packit 6c4009
strong_alias (__llround, __lround)
Packit 6c4009
libm_alias_double (__lround, lround)