From d4a957d6dabbd5035eb6539c9930e7b30f1d224f Mon Sep 17 00:00:00 2001 From: Kwok Cheung Yeung Date: Fri, 2 Dec 2022 20:00:11 +0000 Subject: [PATCH] amdgcn: Add vectorized math routines This implements a set of vectorized math routines to be used by the compiler auto-vectorizer. Versions for vectors with 2 lanes up to 64 lanes (in powers of 2) are provided. These routines are based on the scalar versions of the math routines in libm/common, libm/math and libm/mathfp. They make extensive use of the GCC C vector extensions and GCN-specific builtins in GCC. --- newlib/Makefile.in | 1865 +++++++++++++++++- newlib/configure | 14 + newlib/configure.host | 1 + newlib/libm/Makefile.inc | 3 + newlib/libm/acinclude.m4 | 2 +- newlib/libm/machine/amdgcn/Makefile.inc | 91 + newlib/libm/machine/amdgcn/amdgcn_veclib.h | 321 +++ newlib/libm/machine/amdgcn/amdgcnmach.h | 242 +++ newlib/libm/machine/amdgcn/v64_mathcnst.c | 52 + newlib/libm/machine/amdgcn/v64_reent.c | 24 + newlib/libm/machine/amdgcn/v64df_acos.c | 42 + newlib/libm/machine/amdgcn/v64df_acosh.c | 81 + newlib/libm/machine/amdgcn/v64df_asin.c | 41 + newlib/libm/machine/amdgcn/v64df_asine.c | 135 ++ newlib/libm/machine/amdgcn/v64df_asinh.c | 81 + newlib/libm/machine/amdgcn/v64df_atan.c | 43 + newlib/libm/machine/amdgcn/v64df_atan2.c | 41 + newlib/libm/machine/amdgcn/v64df_atangent.c | 161 ++ newlib/libm/machine/amdgcn/v64df_atanh.c | 75 + newlib/libm/machine/amdgcn/v64df_copysign.c | 43 + newlib/libm/machine/amdgcn/v64df_cos.c | 41 + newlib/libm/machine/amdgcn/v64df_cosh.c | 41 + newlib/libm/machine/amdgcn/v64df_erf.c | 185 ++ newlib/libm/machine/amdgcn/v64df_exp.c | 103 + newlib/libm/machine/amdgcn/v64df_exp2.c | 32 + newlib/libm/machine/amdgcn/v64df_finite.c | 38 + newlib/libm/machine/amdgcn/v64df_fmod.c | 199 ++ newlib/libm/machine/amdgcn/v64df_gamma.c | 38 + newlib/libm/machine/amdgcn/v64df_hypot.c | 127 ++ newlib/libm/machine/amdgcn/v64df_ilogb.c | 59 + newlib/libm/machine/amdgcn/v64df_isnan.c | 41 + newlib/libm/machine/amdgcn/v64df_ispos.c | 47 + newlib/libm/machine/amdgcn/v64df_lgamma.c | 44 + newlib/libm/machine/amdgcn/v64df_lgamma_r.c | 300 +++ newlib/libm/machine/amdgcn/v64df_log.c | 111 ++ newlib/libm/machine/amdgcn/v64df_log10.c | 50 + newlib/libm/machine/amdgcn/v64df_log2.c | 26 + newlib/libm/machine/amdgcn/v64df_modf.c | 80 + newlib/libm/machine/amdgcn/v64df_numtest.c | 60 + newlib/libm/machine/amdgcn/v64df_pow.c | 336 ++++ newlib/libm/machine/amdgcn/v64df_remainder.c | 82 + newlib/libm/machine/amdgcn/v64df_rint.c | 83 + newlib/libm/machine/amdgcn/v64df_scalb.c | 64 + newlib/libm/machine/amdgcn/v64df_scalbn.c | 72 + newlib/libm/machine/amdgcn/v64df_signif.c | 39 + newlib/libm/machine/amdgcn/v64df_sin.c | 41 + newlib/libm/machine/amdgcn/v64df_sine.c | 126 ++ newlib/libm/machine/amdgcn/v64df_sineh.c | 130 ++ newlib/libm/machine/amdgcn/v64df_sinh.c | 41 + newlib/libm/machine/amdgcn/v64df_sqrt.c | 104 + newlib/libm/machine/amdgcn/v64df_tan.c | 156 ++ newlib/libm/machine/amdgcn/v64df_tanh.c | 92 + newlib/libm/machine/amdgcn/v64df_tgamma.c | 42 + newlib/libm/machine/amdgcn/v64sf_acos.c | 41 + newlib/libm/machine/amdgcn/v64sf_acosh.c | 80 + newlib/libm/machine/amdgcn/v64sf_asin.c | 41 + newlib/libm/machine/amdgcn/v64sf_asine.c | 127 ++ newlib/libm/machine/amdgcn/v64sf_asinh.c | 82 + newlib/libm/machine/amdgcn/v64sf_atan.c | 42 + newlib/libm/machine/amdgcn/v64sf_atan2.c | 41 + newlib/libm/machine/amdgcn/v64sf_atangent.c | 152 ++ newlib/libm/machine/amdgcn/v64sf_atanh.c | 75 + newlib/libm/machine/amdgcn/v64sf_copysign.c | 43 + newlib/libm/machine/amdgcn/v64sf_cos.c | 41 + newlib/libm/machine/amdgcn/v64sf_cosh.c | 41 + newlib/libm/machine/amdgcn/v64sf_erf.c | 186 ++ newlib/libm/machine/amdgcn/v64sf_exp.c | 102 + newlib/libm/machine/amdgcn/v64sf_exp2.c | 32 + newlib/libm/machine/amdgcn/v64sf_finite.c | 37 + newlib/libm/machine/amdgcn/v64sf_fmod.c | 147 ++ newlib/libm/machine/amdgcn/v64sf_gamma.c | 38 + newlib/libm/machine/amdgcn/v64sf_hypot.c | 118 ++ newlib/libm/machine/amdgcn/v64sf_ilogb.c | 56 + newlib/libm/machine/amdgcn/v64sf_isnan.c | 37 + newlib/libm/machine/amdgcn/v64sf_ispos.c | 40 + newlib/libm/machine/amdgcn/v64sf_lgamma.c | 44 + newlib/libm/machine/amdgcn/v64sf_lgamma_r.c | 300 +++ newlib/libm/machine/amdgcn/v64sf_log.c | 111 ++ newlib/libm/machine/amdgcn/v64sf_log10.c | 50 + newlib/libm/machine/amdgcn/v64sf_log2.c | 26 + newlib/libm/machine/amdgcn/v64sf_modf.c | 69 + newlib/libm/machine/amdgcn/v64sf_numtest.c | 59 + newlib/libm/machine/amdgcn/v64sf_pow.c | 306 +++ newlib/libm/machine/amdgcn/v64sf_remainder.c | 85 + newlib/libm/machine/amdgcn/v64sf_rint.c | 76 + newlib/libm/machine/amdgcn/v64sf_scalb.c | 73 + newlib/libm/machine/amdgcn/v64sf_scalbn.c | 92 + newlib/libm/machine/amdgcn/v64sf_signif.c | 38 + newlib/libm/machine/amdgcn/v64sf_sin.c | 41 + newlib/libm/machine/amdgcn/v64sf_sine.c | 122 ++ newlib/libm/machine/amdgcn/v64sf_sineh.c | 127 ++ newlib/libm/machine/amdgcn/v64sf_sinh.c | 41 + newlib/libm/machine/amdgcn/v64sf_sqrt.c | 103 + newlib/libm/machine/amdgcn/v64sf_tan.c | 152 ++ newlib/libm/machine/amdgcn/v64sf_tanh.c | 92 + newlib/libm/machine/amdgcn/v64sf_tgamma.c | 42 + 96 files changed, 9990 insertions(+), 46 deletions(-) create mode 100644 newlib/libm/machine/amdgcn/Makefile.inc create mode 100644 newlib/libm/machine/amdgcn/amdgcn_veclib.h create mode 100644 newlib/libm/machine/amdgcn/amdgcnmach.h create mode 100644 newlib/libm/machine/amdgcn/v64_mathcnst.c create mode 100644 newlib/libm/machine/amdgcn/v64_reent.c create mode 100644 newlib/libm/machine/amdgcn/v64df_acos.c create mode 100644 newlib/libm/machine/amdgcn/v64df_acosh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_asin.c create mode 100644 newlib/libm/machine/amdgcn/v64df_asine.c create mode 100644 newlib/libm/machine/amdgcn/v64df_asinh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_atan.c create mode 100644 newlib/libm/machine/amdgcn/v64df_atan2.c create mode 100644 newlib/libm/machine/amdgcn/v64df_atangent.c create mode 100644 newlib/libm/machine/amdgcn/v64df_atanh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_copysign.c create mode 100644 newlib/libm/machine/amdgcn/v64df_cos.c create mode 100644 newlib/libm/machine/amdgcn/v64df_cosh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_erf.c create mode 100644 newlib/libm/machine/amdgcn/v64df_exp.c create mode 100644 newlib/libm/machine/amdgcn/v64df_exp2.c create mode 100644 newlib/libm/machine/amdgcn/v64df_finite.c create mode 100644 newlib/libm/machine/amdgcn/v64df_fmod.c create mode 100644 newlib/libm/machine/amdgcn/v64df_gamma.c create mode 100644 newlib/libm/machine/amdgcn/v64df_hypot.c create mode 100644 newlib/libm/machine/amdgcn/v64df_ilogb.c create mode 100644 newlib/libm/machine/amdgcn/v64df_isnan.c create mode 100644 newlib/libm/machine/amdgcn/v64df_ispos.c create mode 100644 newlib/libm/machine/amdgcn/v64df_lgamma.c create mode 100644 newlib/libm/machine/amdgcn/v64df_lgamma_r.c create mode 100644 newlib/libm/machine/amdgcn/v64df_log.c create mode 100644 newlib/libm/machine/amdgcn/v64df_log10.c create mode 100644 newlib/libm/machine/amdgcn/v64df_log2.c create mode 100644 newlib/libm/machine/amdgcn/v64df_modf.c create mode 100644 newlib/libm/machine/amdgcn/v64df_numtest.c create mode 100644 newlib/libm/machine/amdgcn/v64df_pow.c create mode 100644 newlib/libm/machine/amdgcn/v64df_remainder.c create mode 100644 newlib/libm/machine/amdgcn/v64df_rint.c create mode 100644 newlib/libm/machine/amdgcn/v64df_scalb.c create mode 100644 newlib/libm/machine/amdgcn/v64df_scalbn.c create mode 100644 newlib/libm/machine/amdgcn/v64df_signif.c create mode 100644 newlib/libm/machine/amdgcn/v64df_sin.c create mode 100644 newlib/libm/machine/amdgcn/v64df_sine.c create mode 100644 newlib/libm/machine/amdgcn/v64df_sineh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_sinh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_sqrt.c create mode 100644 newlib/libm/machine/amdgcn/v64df_tan.c create mode 100644 newlib/libm/machine/amdgcn/v64df_tanh.c create mode 100644 newlib/libm/machine/amdgcn/v64df_tgamma.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_acos.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_acosh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_asin.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_asine.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_asinh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_atan.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_atan2.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_atangent.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_atanh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_copysign.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_cos.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_cosh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_erf.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_exp.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_exp2.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_finite.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_fmod.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_gamma.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_hypot.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_ilogb.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_isnan.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_ispos.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_lgamma.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_lgamma_r.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_log.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_log10.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_log2.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_modf.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_numtest.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_pow.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_remainder.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_rint.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_scalb.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_scalbn.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_signif.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_sin.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_sine.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_sineh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_sinh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_sqrt.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_tan.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_tanh.c create mode 100644 newlib/libm/machine/amdgcn/v64sf_tgamma.c diff --git a/newlib/Makefile.in b/newlib/Makefile.in index cb7b69327..e81c3d3da 100644 --- a/newlib/Makefile.in +++ b/newlib/Makefile.in @@ -910,18 +910,19 @@ check_PROGRAMS = @NEWLIB_HW_FP_FALSE@am__append_136 = libm/math/math.tex @HAVE_LONG_DOUBLE_TRUE@am__append_137 = $(libm_common_lsrc) @HAVE_LIBM_MACHINE_AARCH64_TRUE@am__append_138 = $(libm_machine_aarch64_src) -@HAVE_LIBM_MACHINE_ARM_TRUE@am__append_139 = $(libm_machine_arm_src) -@HAVE_LIBM_MACHINE_I386_TRUE@am__append_140 = $(libm_machine_i386_src) -@HAVE_LIBM_MACHINE_MIPS_TRUE@am__append_141 = $(libm_machine_mips_src) -@HAS_NDS32_FPU_SP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_142 = libm/machine/nds32/wf_sqrt.S -@HAS_NDS32_FPU_DP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_143 = libm/machine/nds32/w_sqrt.S -@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_144 = $(libm_machine_nds32_src) -@HAVE_LIBM_MACHINE_POWERPC_TRUE@am__append_145 = $(libm_machine_powerpc_src) -@HAVE_LIBM_MACHINE_PRU_TRUE@am__append_146 = $(libm_machine_pru_src) -@HAVE_LIBM_MACHINE_SPARC_TRUE@am__append_147 = $(libm_machine_sparc_src) -@HAVE_LIBM_MACHINE_SPU_TRUE@am__append_148 = $(libm_machine_spu_src) -@HAVE_LIBM_MACHINE_RISCV_TRUE@am__append_149 = $(libm_machine_riscv_src) -@HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_150 = $(libm_machine_x86_64_src) +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@am__append_139 = $(libm_machine_amdgcn_src) +@HAVE_LIBM_MACHINE_ARM_TRUE@am__append_140 = $(libm_machine_arm_src) +@HAVE_LIBM_MACHINE_I386_TRUE@am__append_141 = $(libm_machine_i386_src) +@HAVE_LIBM_MACHINE_MIPS_TRUE@am__append_142 = $(libm_machine_mips_src) +@HAS_NDS32_FPU_SP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_143 = libm/machine/nds32/wf_sqrt.S +@HAS_NDS32_FPU_DP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_144 = libm/machine/nds32/w_sqrt.S +@HAVE_LIBM_MACHINE_NDS32_TRUE@am__append_145 = $(libm_machine_nds32_src) +@HAVE_LIBM_MACHINE_POWERPC_TRUE@am__append_146 = $(libm_machine_powerpc_src) +@HAVE_LIBM_MACHINE_PRU_TRUE@am__append_147 = $(libm_machine_pru_src) +@HAVE_LIBM_MACHINE_SPARC_TRUE@am__append_148 = $(libm_machine_sparc_src) +@HAVE_LIBM_MACHINE_SPU_TRUE@am__append_149 = $(libm_machine_spu_src) +@HAVE_LIBM_MACHINE_RISCV_TRUE@am__append_150 = $(libm_machine_riscv_src) +@HAVE_LIBM_MACHINE_X86_64_TRUE@am__append_151 = $(libm_machine_x86_64_src) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ @@ -3092,7 +3093,96 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_AARCH64_TRUE@ libm/machine/aarch64/libm_a-fetestexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_AARCH64_TRUE@ libm/machine/aarch64/libm_a-feupdateenv.$(OBJEXT) @HAVE_LIBM_MACHINE_AARCH64_TRUE@am__objects_157 = $(am__objects_156) -@HAVE_LIBM_MACHINE_ARM_TRUE@am__objects_158 = libm/machine/arm/libm_a-e_sqrt.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@am__objects_158 = libm/machine/amdgcn/libm_a-v64_mathcnst.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64_reent.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_acos.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_acosh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_asin.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_asine.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_asinh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_atan.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_atan2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_atangent.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_atanh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_copysign.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_cos.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_cosh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_erf.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_exp.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_exp2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_finite.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_fmod.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_gamma.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_hypot.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_ilogb.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_isnan.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_ispos.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_lgamma.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_lgamma_r.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_log.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_log10.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_log2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_modf.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_numtest.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_pow.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_remainder.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_rint.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_scalb.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_scalbn.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_signif.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_sin.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_sine.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_sineh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_sinh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_sqrt.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_tan.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_tanh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64df_tgamma.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_acos.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_acosh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_asin.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_asine.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_asinh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_atan.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_atan2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_atangent.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_atanh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_copysign.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_cos.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_cosh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_erf.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_exp.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_exp2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_finite.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_fmod.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_gamma.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_hypot.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_ilogb.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_isnan.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_ispos.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_lgamma.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_lgamma_r.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_log.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_log10.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_log2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_modf.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_numtest.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_pow.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_remainder.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_rint.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_scalb.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_scalbn.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_signif.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_sin.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_sine.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_sineh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_sinh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_sqrt.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_tan.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_tanh.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@ libm/machine/amdgcn/libm_a-v64sf_tgamma.$(OBJEXT) +@HAVE_LIBM_MACHINE_AMDGCN_TRUE@am__objects_159 = $(am__objects_158) +@HAVE_LIBM_MACHINE_ARM_TRUE@am__objects_160 = libm/machine/arm/libm_a-e_sqrt.$(OBJEXT) \ @HAVE_LIBM_MACHINE_ARM_TRUE@ libm/machine/arm/libm_a-ef_sqrt.$(OBJEXT) \ @HAVE_LIBM_MACHINE_ARM_TRUE@ libm/machine/arm/libm_a-s_ceil.$(OBJEXT) \ @HAVE_LIBM_MACHINE_ARM_TRUE@ libm/machine/arm/libm_a-s_floor.$(OBJEXT) \ @@ -3123,8 +3213,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_ARM_TRUE@ libm/machine/arm/libm_a-feupdateenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_ARM_TRUE@ libm/machine/arm/libm_a-feenableexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_ARM_TRUE@ libm/machine/arm/libm_a-fedisableexcept.$(OBJEXT) -@HAVE_LIBM_MACHINE_ARM_TRUE@am__objects_159 = $(am__objects_158) -@HAVE_LIBM_MACHINE_I386_TRUE@am__objects_160 = libm/machine/i386/libm_a-f_atan2.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_ARM_TRUE@am__objects_161 = $(am__objects_160) +@HAVE_LIBM_MACHINE_I386_TRUE@am__objects_162 = libm/machine/i386/libm_a-f_atan2.$(OBJEXT) \ @HAVE_LIBM_MACHINE_I386_TRUE@ libm/machine/i386/libm_a-f_atan2f.$(OBJEXT) \ @HAVE_LIBM_MACHINE_I386_TRUE@ libm/machine/i386/libm_a-f_exp.$(OBJEXT) \ @HAVE_LIBM_MACHINE_I386_TRUE@ libm/machine/i386/libm_a-f_expf.$(OBJEXT) \ @@ -3161,8 +3251,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_I386_TRUE@ libm/machine/i386/libm_a-fesetround.$(OBJEXT) \ @HAVE_LIBM_MACHINE_I386_TRUE@ libm/machine/i386/libm_a-fetestexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_I386_TRUE@ libm/machine/i386/libm_a-feupdateenv.$(OBJEXT) -@HAVE_LIBM_MACHINE_I386_TRUE@am__objects_161 = $(am__objects_160) -@HAVE_LIBM_MACHINE_MIPS_TRUE@am__objects_162 = libm/machine/mips/libm_a-feclearexcept.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_I386_TRUE@am__objects_163 = $(am__objects_162) +@HAVE_LIBM_MACHINE_MIPS_TRUE@am__objects_164 = libm/machine/mips/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_MIPS_TRUE@ libm/machine/mips/libm_a-fegetenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_MIPS_TRUE@ libm/machine/mips/libm_a-fegetexceptflag.$(OBJEXT) \ @HAVE_LIBM_MACHINE_MIPS_TRUE@ libm/machine/mips/libm_a-fegetround.$(OBJEXT) \ @@ -3174,13 +3264,13 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_MIPS_TRUE@ libm/machine/mips/libm_a-fetestexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_MIPS_TRUE@ libm/machine/mips/libm_a-feupdateenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_MIPS_TRUE@ libm/machine/mips/libm_a-fenv.$(OBJEXT) -@HAVE_LIBM_MACHINE_MIPS_TRUE@am__objects_163 = $(am__objects_162) -@HAS_NDS32_FPU_SP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_164 = libm/machine/nds32/libm_a-wf_sqrt.$(OBJEXT) -@HAS_NDS32_FPU_DP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_165 = libm/machine/nds32/libm_a-w_sqrt.$(OBJEXT) -@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_166 = $(am__objects_164) \ -@HAVE_LIBM_MACHINE_NDS32_TRUE@ $(am__objects_165) -@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_167 = $(am__objects_166) -@HAVE_LIBM_MACHINE_POWERPC_TRUE@am__objects_168 = libm/machine/powerpc/libm_a-feclearexcept.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_MIPS_TRUE@am__objects_165 = $(am__objects_164) +@HAS_NDS32_FPU_SP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_166 = libm/machine/nds32/libm_a-wf_sqrt.$(OBJEXT) +@HAS_NDS32_FPU_DP_TRUE@@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_167 = libm/machine/nds32/libm_a-w_sqrt.$(OBJEXT) +@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_168 = $(am__objects_166) \ +@HAVE_LIBM_MACHINE_NDS32_TRUE@ $(am__objects_167) +@HAVE_LIBM_MACHINE_NDS32_TRUE@am__objects_169 = $(am__objects_168) +@HAVE_LIBM_MACHINE_POWERPC_TRUE@am__objects_170 = libm/machine/powerpc/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_POWERPC_TRUE@ libm/machine/powerpc/libm_a-fegetenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_POWERPC_TRUE@ libm/machine/powerpc/libm_a-fegetexceptflag.$(OBJEXT) \ @HAVE_LIBM_MACHINE_POWERPC_TRUE@ libm/machine/powerpc/libm_a-fegetround.$(OBJEXT) \ @@ -3192,8 +3282,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_POWERPC_TRUE@ libm/machine/powerpc/libm_a-fesetround.$(OBJEXT) \ @HAVE_LIBM_MACHINE_POWERPC_TRUE@ libm/machine/powerpc/libm_a-fetestexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_POWERPC_TRUE@ libm/machine/powerpc/libm_a-feupdateenv.$(OBJEXT) -@HAVE_LIBM_MACHINE_POWERPC_TRUE@am__objects_169 = $(am__objects_168) -@HAVE_LIBM_MACHINE_PRU_TRUE@am__objects_170 = libm/machine/pru/libm_a-fpclassify.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_POWERPC_TRUE@am__objects_171 = $(am__objects_170) +@HAVE_LIBM_MACHINE_PRU_TRUE@am__objects_172 = libm/machine/pru/libm_a-fpclassify.$(OBJEXT) \ @HAVE_LIBM_MACHINE_PRU_TRUE@ libm/machine/pru/libm_a-fpclassifyf.$(OBJEXT) \ @HAVE_LIBM_MACHINE_PRU_TRUE@ libm/machine/pru/libm_a-isfinite.$(OBJEXT) \ @HAVE_LIBM_MACHINE_PRU_TRUE@ libm/machine/pru/libm_a-isfinitef.$(OBJEXT) \ @@ -3203,8 +3293,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_PRU_TRUE@ libm/machine/pru/libm_a-isnanf.$(OBJEXT) \ @HAVE_LIBM_MACHINE_PRU_TRUE@ libm/machine/pru/libm_a-isnormal.$(OBJEXT) \ @HAVE_LIBM_MACHINE_PRU_TRUE@ libm/machine/pru/libm_a-isnormalf.$(OBJEXT) -@HAVE_LIBM_MACHINE_PRU_TRUE@am__objects_171 = $(am__objects_170) -@HAVE_LIBM_MACHINE_SPARC_TRUE@am__objects_172 = libm/machine/sparc/libm_a-feclearexcept.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_PRU_TRUE@am__objects_173 = $(am__objects_172) +@HAVE_LIBM_MACHINE_SPARC_TRUE@am__objects_174 = libm/machine/sparc/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPARC_TRUE@ libm/machine/sparc/libm_a-fegetenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPARC_TRUE@ libm/machine/sparc/libm_a-fegetexceptflag.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPARC_TRUE@ libm/machine/sparc/libm_a-fegetround.$(OBJEXT) \ @@ -3216,8 +3306,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPARC_TRUE@ libm/machine/sparc/libm_a-fetestexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPARC_TRUE@ libm/machine/sparc/libm_a-feupdateenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPARC_TRUE@ libm/machine/sparc/libm_a-fenv.$(OBJEXT) -@HAVE_LIBM_MACHINE_SPARC_TRUE@am__objects_173 = $(am__objects_172) -@HAVE_LIBM_MACHINE_SPU_TRUE@am__objects_174 = libm/machine/spu/libm_a-feclearexcept.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_SPARC_TRUE@am__objects_175 = $(am__objects_174) +@HAVE_LIBM_MACHINE_SPU_TRUE@am__objects_176 = libm/machine/spu/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPU_TRUE@ libm/machine/spu/libm_a-fe_dfl_env.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPU_TRUE@ libm/machine/spu/libm_a-fegetenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPU_TRUE@ libm/machine/spu/libm_a-fegetexceptflag.$(OBJEXT) \ @@ -3342,8 +3432,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPU_TRUE@ libm/machine/spu/libm_a-w_sinh.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPU_TRUE@ libm/machine/spu/libm_a-w_sqrt.$(OBJEXT) \ @HAVE_LIBM_MACHINE_SPU_TRUE@ libm/machine/spu/libm_a-w_tgamma.$(OBJEXT) -@HAVE_LIBM_MACHINE_SPU_TRUE@am__objects_175 = $(am__objects_174) -@HAVE_LIBM_MACHINE_RISCV_TRUE@am__objects_176 = libm/machine/riscv/libm_a-feclearexcept.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_SPU_TRUE@am__objects_177 = $(am__objects_176) +@HAVE_LIBM_MACHINE_RISCV_TRUE@am__objects_178 = libm/machine/riscv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_RISCV_TRUE@ libm/machine/riscv/libm_a-fe_dfl_env.$(OBJEXT) \ @HAVE_LIBM_MACHINE_RISCV_TRUE@ libm/machine/riscv/libm_a-fegetenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_RISCV_TRUE@ libm/machine/riscv/libm_a-fegetexceptflag.$(OBJEXT) \ @@ -3383,8 +3473,8 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_RISCV_TRUE@ libm/machine/riscv/libm_a-sf_llrint.$(OBJEXT) \ @HAVE_LIBM_MACHINE_RISCV_TRUE@ libm/machine/riscv/libm_a-s_llround.$(OBJEXT) \ @HAVE_LIBM_MACHINE_RISCV_TRUE@ libm/machine/riscv/libm_a-sf_llround.$(OBJEXT) -@HAVE_LIBM_MACHINE_RISCV_TRUE@am__objects_177 = $(am__objects_176) -@HAVE_LIBM_MACHINE_X86_64_TRUE@am__objects_178 = libm/machine/x86_64/libm_a-feclearexcept.$(OBJEXT) \ +@HAVE_LIBM_MACHINE_RISCV_TRUE@am__objects_179 = $(am__objects_178) +@HAVE_LIBM_MACHINE_X86_64_TRUE@am__objects_180 = libm/machine/x86_64/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_X86_64_TRUE@ libm/machine/x86_64/libm_a-fegetenv.$(OBJEXT) \ @HAVE_LIBM_MACHINE_X86_64_TRUE@ libm/machine/x86_64/libm_a-fegetexceptflag.$(OBJEXT) \ @HAVE_LIBM_MACHINE_X86_64_TRUE@ libm/machine/x86_64/libm_a-fegetround.$(OBJEXT) \ @@ -3396,14 +3486,15 @@ am__objects_155 = libm/fenv/libm_a-feclearexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_X86_64_TRUE@ libm/machine/x86_64/libm_a-fesetround.$(OBJEXT) \ @HAVE_LIBM_MACHINE_X86_64_TRUE@ libm/machine/x86_64/libm_a-fetestexcept.$(OBJEXT) \ @HAVE_LIBM_MACHINE_X86_64_TRUE@ libm/machine/x86_64/libm_a-feupdateenv.$(OBJEXT) -@HAVE_LIBM_MACHINE_X86_64_TRUE@am__objects_179 = $(am__objects_178) +@HAVE_LIBM_MACHINE_X86_64_TRUE@am__objects_181 = $(am__objects_180) am_libm_a_OBJECTS = $(am__objects_143) $(am__objects_147) \ $(am__objects_148) $(am__objects_149) $(am__objects_151) \ $(am__objects_152) $(am__objects_153) $(am__objects_154) \ $(am__objects_155) $(am__objects_157) $(am__objects_159) \ - $(am__objects_161) $(am__objects_163) $(am__objects_167) \ + $(am__objects_161) $(am__objects_163) $(am__objects_165) \ $(am__objects_169) $(am__objects_171) $(am__objects_173) \ - $(am__objects_175) $(am__objects_177) $(am__objects_179) + $(am__objects_175) $(am__objects_177) $(am__objects_179) \ + $(am__objects_181) libm_a_OBJECTS = $(am_libm_a_OBJECTS) am_libm_test_test_OBJECTS = libm/test/test.$(OBJEXT) \ libm/test/string.$(OBJEXT) libm/test/convert.$(OBJEXT) \ @@ -3953,9 +4044,10 @@ libm_a_SOURCES = $(am__append_131) $(am__append_134) \ $(libm_common_src) $(libm_common_fsrc) $(am__append_137) \ $(libm_complex_src) $(libm_complex_fsrc) $(libm_complex_lsrc) \ $(libm_fenv_src) $(am__append_138) $(am__append_139) \ - $(am__append_140) $(am__append_141) $(am__append_144) \ + $(am__append_140) $(am__append_141) $(am__append_142) \ $(am__append_145) $(am__append_146) $(am__append_147) \ - $(am__append_148) $(am__append_149) $(am__append_150) + $(am__append_148) $(am__append_149) $(am__append_150) \ + $(am__append_151) libm_a_CFLAGS = $(AM_CFLAGS) $(libm_a_CFLAGS_$(subst /,_,$(@D))) $(libm_a_CFLAGS_$(subst /,_,$(@D)_$( libm/machine/amdgcn/$(am__dirstamp) +libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libm/machine/amdgcn/$(DEPDIR) + @: > libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64_mathcnst.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64_reent.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_acos.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_acosh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_asin.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_asine.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_asinh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_atan.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_atan2.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_atangent.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_atanh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_copysign.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_cos.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_cosh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_erf.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_exp.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_exp2.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_finite.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_fmod.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_gamma.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_hypot.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_ilogb.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_isnan.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_ispos.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_lgamma.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_lgamma_r.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_log.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_log10.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_log2.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_modf.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_numtest.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_pow.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_remainder.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_rint.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_scalb.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_scalbn.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_signif.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_sin.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_sine.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_sineh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_sinh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_sqrt.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_tan.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_tanh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64df_tgamma.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_acos.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_acosh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_asin.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_asine.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_asinh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_atan.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_atan2.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_atangent.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_atanh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_copysign.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_cos.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_cosh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_erf.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_exp.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_exp2.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_finite.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_fmod.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_gamma.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_hypot.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_ilogb.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_isnan.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_ispos.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_lgamma.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_lgamma_r.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_log.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_log10.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_log2.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_modf.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_numtest.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_pow.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_remainder.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_rint.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_scalb.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_scalbn.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_signif.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_sin.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_sine.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_sineh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_sinh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_sqrt.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_tan.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_tanh.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) +libm/machine/amdgcn/libm_a-v64sf_tgamma.$(OBJEXT): \ + libm/machine/amdgcn/$(am__dirstamp) \ + libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) libm/machine/arm/$(am__dirstamp): @$(MKDIR_P) libm/machine/arm @: > libm/machine/arm/$(am__dirstamp) @@ -11625,6 +12077,7 @@ mostlyclean-compile: -rm -f libm/complex/*.$(OBJEXT) -rm -f libm/fenv/*.$(OBJEXT) -rm -f libm/machine/aarch64/*.$(OBJEXT) + -rm -f libm/machine/amdgcn/*.$(OBJEXT) -rm -f libm/machine/arm/*.$(OBJEXT) -rm -f libm/machine/i386/*.$(OBJEXT) -rm -f libm/machine/mips/*.$(OBJEXT) @@ -13402,6 +13855,94 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@libm/machine/aarch64/$(DEPDIR)/libm_a-sf_rint.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libm/machine/aarch64/$(DEPDIR)/libm_a-sf_round.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libm/machine/aarch64/$(DEPDIR)/libm_a-sf_trunc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libm/machine/arm/$(DEPDIR)/libm_a-e_sqrt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libm/machine/arm/$(DEPDIR)/libm_a-ef_sqrt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@libm/machine/arm/$(DEPDIR)/libm_a-fe_dfl_env.Po@am__quote@ @@ -42062,6 +42603,1238 @@ libm/machine/aarch64/libm_a-feupdateenv.obj: libm/machine/aarch64/feupdateenv.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/aarch64/libm_a-feupdateenv.obj `if test -f 'libm/machine/aarch64/feupdateenv.c'; then $(CYGPATH_W) 'libm/machine/aarch64/feupdateenv.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/aarch64/feupdateenv.c'; fi` +libm/machine/amdgcn/libm_a-v64_mathcnst.o: libm/machine/amdgcn/v64_mathcnst.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64_mathcnst.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Tpo -c -o libm/machine/amdgcn/libm_a-v64_mathcnst.o `test -f 'libm/machine/amdgcn/v64_mathcnst.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64_mathcnst.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64_mathcnst.c' object='libm/machine/amdgcn/libm_a-v64_mathcnst.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64_mathcnst.o `test -f 'libm/machine/amdgcn/v64_mathcnst.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64_mathcnst.c + +libm/machine/amdgcn/libm_a-v64_mathcnst.obj: libm/machine/amdgcn/v64_mathcnst.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64_mathcnst.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Tpo -c -o libm/machine/amdgcn/libm_a-v64_mathcnst.obj `if test -f 'libm/machine/amdgcn/v64_mathcnst.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64_mathcnst.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64_mathcnst.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_mathcnst.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64_mathcnst.c' object='libm/machine/amdgcn/libm_a-v64_mathcnst.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64_mathcnst.obj `if test -f 'libm/machine/amdgcn/v64_mathcnst.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64_mathcnst.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64_mathcnst.c'; fi` + +libm/machine/amdgcn/libm_a-v64_reent.o: libm/machine/amdgcn/v64_reent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64_reent.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Tpo -c -o libm/machine/amdgcn/libm_a-v64_reent.o `test -f 'libm/machine/amdgcn/v64_reent.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64_reent.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64_reent.c' object='libm/machine/amdgcn/libm_a-v64_reent.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64_reent.o `test -f 'libm/machine/amdgcn/v64_reent.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64_reent.c + +libm/machine/amdgcn/libm_a-v64_reent.obj: libm/machine/amdgcn/v64_reent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64_reent.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Tpo -c -o libm/machine/amdgcn/libm_a-v64_reent.obj `if test -f 'libm/machine/amdgcn/v64_reent.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64_reent.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64_reent.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64_reent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64_reent.c' object='libm/machine/amdgcn/libm_a-v64_reent.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64_reent.obj `if test -f 'libm/machine/amdgcn/v64_reent.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64_reent.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64_reent.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_acos.o: libm/machine/amdgcn/v64df_acos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_acos.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_acos.o `test -f 'libm/machine/amdgcn/v64df_acos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_acos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_acos.c' object='libm/machine/amdgcn/libm_a-v64df_acos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_acos.o `test -f 'libm/machine/amdgcn/v64df_acos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_acos.c + +libm/machine/amdgcn/libm_a-v64df_acos.obj: libm/machine/amdgcn/v64df_acos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_acos.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_acos.obj `if test -f 'libm/machine/amdgcn/v64df_acos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_acos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_acos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_acos.c' object='libm/machine/amdgcn/libm_a-v64df_acos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_acos.obj `if test -f 'libm/machine/amdgcn/v64df_acos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_acos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_acos.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_acosh.o: libm/machine/amdgcn/v64df_acosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_acosh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_acosh.o `test -f 'libm/machine/amdgcn/v64df_acosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_acosh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_acosh.c' object='libm/machine/amdgcn/libm_a-v64df_acosh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_acosh.o `test -f 'libm/machine/amdgcn/v64df_acosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_acosh.c + +libm/machine/amdgcn/libm_a-v64df_acosh.obj: libm/machine/amdgcn/v64df_acosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_acosh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_acosh.obj `if test -f 'libm/machine/amdgcn/v64df_acosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_acosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_acosh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_acosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_acosh.c' object='libm/machine/amdgcn/libm_a-v64df_acosh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_acosh.obj `if test -f 'libm/machine/amdgcn/v64df_acosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_acosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_acosh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_asin.o: libm/machine/amdgcn/v64df_asin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_asin.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_asin.o `test -f 'libm/machine/amdgcn/v64df_asin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_asin.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_asin.c' object='libm/machine/amdgcn/libm_a-v64df_asin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_asin.o `test -f 'libm/machine/amdgcn/v64df_asin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_asin.c + +libm/machine/amdgcn/libm_a-v64df_asin.obj: libm/machine/amdgcn/v64df_asin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_asin.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_asin.obj `if test -f 'libm/machine/amdgcn/v64df_asin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_asin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_asin.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_asin.c' object='libm/machine/amdgcn/libm_a-v64df_asin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_asin.obj `if test -f 'libm/machine/amdgcn/v64df_asin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_asin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_asin.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_asine.o: libm/machine/amdgcn/v64df_asine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_asine.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_asine.o `test -f 'libm/machine/amdgcn/v64df_asine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_asine.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_asine.c' object='libm/machine/amdgcn/libm_a-v64df_asine.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_asine.o `test -f 'libm/machine/amdgcn/v64df_asine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_asine.c + +libm/machine/amdgcn/libm_a-v64df_asine.obj: libm/machine/amdgcn/v64df_asine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_asine.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_asine.obj `if test -f 'libm/machine/amdgcn/v64df_asine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_asine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_asine.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_asine.c' object='libm/machine/amdgcn/libm_a-v64df_asine.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_asine.obj `if test -f 'libm/machine/amdgcn/v64df_asine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_asine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_asine.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_asinh.o: libm/machine/amdgcn/v64df_asinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_asinh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_asinh.o `test -f 'libm/machine/amdgcn/v64df_asinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_asinh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_asinh.c' object='libm/machine/amdgcn/libm_a-v64df_asinh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_asinh.o `test -f 'libm/machine/amdgcn/v64df_asinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_asinh.c + +libm/machine/amdgcn/libm_a-v64df_asinh.obj: libm/machine/amdgcn/v64df_asinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_asinh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_asinh.obj `if test -f 'libm/machine/amdgcn/v64df_asinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_asinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_asinh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_asinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_asinh.c' object='libm/machine/amdgcn/libm_a-v64df_asinh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_asinh.obj `if test -f 'libm/machine/amdgcn/v64df_asinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_asinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_asinh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_atan.o: libm/machine/amdgcn/v64df_atan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atan.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atan.o `test -f 'libm/machine/amdgcn/v64df_atan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atan.c' object='libm/machine/amdgcn/libm_a-v64df_atan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atan.o `test -f 'libm/machine/amdgcn/v64df_atan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atan.c + +libm/machine/amdgcn/libm_a-v64df_atan.obj: libm/machine/amdgcn/v64df_atan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atan.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atan.obj `if test -f 'libm/machine/amdgcn/v64df_atan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atan.c' object='libm/machine/amdgcn/libm_a-v64df_atan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atan.obj `if test -f 'libm/machine/amdgcn/v64df_atan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atan.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_atan2.o: libm/machine/amdgcn/v64df_atan2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atan2.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atan2.o `test -f 'libm/machine/amdgcn/v64df_atan2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atan2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atan2.c' object='libm/machine/amdgcn/libm_a-v64df_atan2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atan2.o `test -f 'libm/machine/amdgcn/v64df_atan2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atan2.c + +libm/machine/amdgcn/libm_a-v64df_atan2.obj: libm/machine/amdgcn/v64df_atan2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atan2.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atan2.obj `if test -f 'libm/machine/amdgcn/v64df_atan2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atan2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atan2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atan2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atan2.c' object='libm/machine/amdgcn/libm_a-v64df_atan2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atan2.obj `if test -f 'libm/machine/amdgcn/v64df_atan2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atan2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atan2.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_atangent.o: libm/machine/amdgcn/v64df_atangent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atangent.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atangent.o `test -f 'libm/machine/amdgcn/v64df_atangent.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atangent.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atangent.c' object='libm/machine/amdgcn/libm_a-v64df_atangent.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atangent.o `test -f 'libm/machine/amdgcn/v64df_atangent.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atangent.c + +libm/machine/amdgcn/libm_a-v64df_atangent.obj: libm/machine/amdgcn/v64df_atangent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atangent.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atangent.obj `if test -f 'libm/machine/amdgcn/v64df_atangent.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atangent.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atangent.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atangent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atangent.c' object='libm/machine/amdgcn/libm_a-v64df_atangent.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atangent.obj `if test -f 'libm/machine/amdgcn/v64df_atangent.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atangent.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atangent.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_atanh.o: libm/machine/amdgcn/v64df_atanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atanh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atanh.o `test -f 'libm/machine/amdgcn/v64df_atanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atanh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atanh.c' object='libm/machine/amdgcn/libm_a-v64df_atanh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atanh.o `test -f 'libm/machine/amdgcn/v64df_atanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_atanh.c + +libm/machine/amdgcn/libm_a-v64df_atanh.obj: libm/machine/amdgcn/v64df_atanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_atanh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_atanh.obj `if test -f 'libm/machine/amdgcn/v64df_atanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atanh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_atanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_atanh.c' object='libm/machine/amdgcn/libm_a-v64df_atanh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_atanh.obj `if test -f 'libm/machine/amdgcn/v64df_atanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_atanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_atanh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_copysign.o: libm/machine/amdgcn/v64df_copysign.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_copysign.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_copysign.o `test -f 'libm/machine/amdgcn/v64df_copysign.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_copysign.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_copysign.c' object='libm/machine/amdgcn/libm_a-v64df_copysign.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_copysign.o `test -f 'libm/machine/amdgcn/v64df_copysign.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_copysign.c + +libm/machine/amdgcn/libm_a-v64df_copysign.obj: libm/machine/amdgcn/v64df_copysign.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_copysign.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_copysign.obj `if test -f 'libm/machine/amdgcn/v64df_copysign.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_copysign.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_copysign.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_copysign.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_copysign.c' object='libm/machine/amdgcn/libm_a-v64df_copysign.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_copysign.obj `if test -f 'libm/machine/amdgcn/v64df_copysign.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_copysign.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_copysign.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_cos.o: libm/machine/amdgcn/v64df_cos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_cos.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_cos.o `test -f 'libm/machine/amdgcn/v64df_cos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_cos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_cos.c' object='libm/machine/amdgcn/libm_a-v64df_cos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_cos.o `test -f 'libm/machine/amdgcn/v64df_cos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_cos.c + +libm/machine/amdgcn/libm_a-v64df_cos.obj: libm/machine/amdgcn/v64df_cos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_cos.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_cos.obj `if test -f 'libm/machine/amdgcn/v64df_cos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_cos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_cos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_cos.c' object='libm/machine/amdgcn/libm_a-v64df_cos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_cos.obj `if test -f 'libm/machine/amdgcn/v64df_cos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_cos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_cos.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_cosh.o: libm/machine/amdgcn/v64df_cosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_cosh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_cosh.o `test -f 'libm/machine/amdgcn/v64df_cosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_cosh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_cosh.c' object='libm/machine/amdgcn/libm_a-v64df_cosh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_cosh.o `test -f 'libm/machine/amdgcn/v64df_cosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_cosh.c + +libm/machine/amdgcn/libm_a-v64df_cosh.obj: libm/machine/amdgcn/v64df_cosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_cosh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_cosh.obj `if test -f 'libm/machine/amdgcn/v64df_cosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_cosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_cosh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_cosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_cosh.c' object='libm/machine/amdgcn/libm_a-v64df_cosh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_cosh.obj `if test -f 'libm/machine/amdgcn/v64df_cosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_cosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_cosh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_erf.o: libm/machine/amdgcn/v64df_erf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_erf.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_erf.o `test -f 'libm/machine/amdgcn/v64df_erf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_erf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_erf.c' object='libm/machine/amdgcn/libm_a-v64df_erf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_erf.o `test -f 'libm/machine/amdgcn/v64df_erf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_erf.c + +libm/machine/amdgcn/libm_a-v64df_erf.obj: libm/machine/amdgcn/v64df_erf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_erf.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_erf.obj `if test -f 'libm/machine/amdgcn/v64df_erf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_erf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_erf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_erf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_erf.c' object='libm/machine/amdgcn/libm_a-v64df_erf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_erf.obj `if test -f 'libm/machine/amdgcn/v64df_erf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_erf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_erf.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_exp.o: libm/machine/amdgcn/v64df_exp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_exp.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_exp.o `test -f 'libm/machine/amdgcn/v64df_exp.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_exp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_exp.c' object='libm/machine/amdgcn/libm_a-v64df_exp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_exp.o `test -f 'libm/machine/amdgcn/v64df_exp.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_exp.c + +libm/machine/amdgcn/libm_a-v64df_exp.obj: libm/machine/amdgcn/v64df_exp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_exp.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_exp.obj `if test -f 'libm/machine/amdgcn/v64df_exp.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_exp.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_exp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_exp.c' object='libm/machine/amdgcn/libm_a-v64df_exp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_exp.obj `if test -f 'libm/machine/amdgcn/v64df_exp.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_exp.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_exp.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_exp2.o: libm/machine/amdgcn/v64df_exp2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_exp2.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_exp2.o `test -f 'libm/machine/amdgcn/v64df_exp2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_exp2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_exp2.c' object='libm/machine/amdgcn/libm_a-v64df_exp2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_exp2.o `test -f 'libm/machine/amdgcn/v64df_exp2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_exp2.c + +libm/machine/amdgcn/libm_a-v64df_exp2.obj: libm/machine/amdgcn/v64df_exp2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_exp2.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_exp2.obj `if test -f 'libm/machine/amdgcn/v64df_exp2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_exp2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_exp2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_exp2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_exp2.c' object='libm/machine/amdgcn/libm_a-v64df_exp2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_exp2.obj `if test -f 'libm/machine/amdgcn/v64df_exp2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_exp2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_exp2.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_finite.o: libm/machine/amdgcn/v64df_finite.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_finite.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_finite.o `test -f 'libm/machine/amdgcn/v64df_finite.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_finite.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_finite.c' object='libm/machine/amdgcn/libm_a-v64df_finite.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_finite.o `test -f 'libm/machine/amdgcn/v64df_finite.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_finite.c + +libm/machine/amdgcn/libm_a-v64df_finite.obj: libm/machine/amdgcn/v64df_finite.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_finite.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_finite.obj `if test -f 'libm/machine/amdgcn/v64df_finite.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_finite.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_finite.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_finite.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_finite.c' object='libm/machine/amdgcn/libm_a-v64df_finite.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_finite.obj `if test -f 'libm/machine/amdgcn/v64df_finite.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_finite.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_finite.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_fmod.o: libm/machine/amdgcn/v64df_fmod.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_fmod.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_fmod.o `test -f 'libm/machine/amdgcn/v64df_fmod.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_fmod.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_fmod.c' object='libm/machine/amdgcn/libm_a-v64df_fmod.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_fmod.o `test -f 'libm/machine/amdgcn/v64df_fmod.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_fmod.c + +libm/machine/amdgcn/libm_a-v64df_fmod.obj: libm/machine/amdgcn/v64df_fmod.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_fmod.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_fmod.obj `if test -f 'libm/machine/amdgcn/v64df_fmod.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_fmod.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_fmod.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_fmod.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_fmod.c' object='libm/machine/amdgcn/libm_a-v64df_fmod.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_fmod.obj `if test -f 'libm/machine/amdgcn/v64df_fmod.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_fmod.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_fmod.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_gamma.o: libm/machine/amdgcn/v64df_gamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_gamma.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_gamma.o `test -f 'libm/machine/amdgcn/v64df_gamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_gamma.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_gamma.c' object='libm/machine/amdgcn/libm_a-v64df_gamma.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_gamma.o `test -f 'libm/machine/amdgcn/v64df_gamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_gamma.c + +libm/machine/amdgcn/libm_a-v64df_gamma.obj: libm/machine/amdgcn/v64df_gamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_gamma.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_gamma.obj `if test -f 'libm/machine/amdgcn/v64df_gamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_gamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_gamma.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_gamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_gamma.c' object='libm/machine/amdgcn/libm_a-v64df_gamma.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_gamma.obj `if test -f 'libm/machine/amdgcn/v64df_gamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_gamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_gamma.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_hypot.o: libm/machine/amdgcn/v64df_hypot.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_hypot.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_hypot.o `test -f 'libm/machine/amdgcn/v64df_hypot.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_hypot.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_hypot.c' object='libm/machine/amdgcn/libm_a-v64df_hypot.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_hypot.o `test -f 'libm/machine/amdgcn/v64df_hypot.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_hypot.c + +libm/machine/amdgcn/libm_a-v64df_hypot.obj: libm/machine/amdgcn/v64df_hypot.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_hypot.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_hypot.obj `if test -f 'libm/machine/amdgcn/v64df_hypot.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_hypot.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_hypot.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_hypot.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_hypot.c' object='libm/machine/amdgcn/libm_a-v64df_hypot.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_hypot.obj `if test -f 'libm/machine/amdgcn/v64df_hypot.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_hypot.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_hypot.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_ilogb.o: libm/machine/amdgcn/v64df_ilogb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_ilogb.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_ilogb.o `test -f 'libm/machine/amdgcn/v64df_ilogb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_ilogb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_ilogb.c' object='libm/machine/amdgcn/libm_a-v64df_ilogb.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_ilogb.o `test -f 'libm/machine/amdgcn/v64df_ilogb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_ilogb.c + +libm/machine/amdgcn/libm_a-v64df_ilogb.obj: libm/machine/amdgcn/v64df_ilogb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_ilogb.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_ilogb.obj `if test -f 'libm/machine/amdgcn/v64df_ilogb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_ilogb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_ilogb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ilogb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_ilogb.c' object='libm/machine/amdgcn/libm_a-v64df_ilogb.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_ilogb.obj `if test -f 'libm/machine/amdgcn/v64df_ilogb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_ilogb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_ilogb.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_isnan.o: libm/machine/amdgcn/v64df_isnan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_isnan.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_isnan.o `test -f 'libm/machine/amdgcn/v64df_isnan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_isnan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_isnan.c' object='libm/machine/amdgcn/libm_a-v64df_isnan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_isnan.o `test -f 'libm/machine/amdgcn/v64df_isnan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_isnan.c + +libm/machine/amdgcn/libm_a-v64df_isnan.obj: libm/machine/amdgcn/v64df_isnan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_isnan.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_isnan.obj `if test -f 'libm/machine/amdgcn/v64df_isnan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_isnan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_isnan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_isnan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_isnan.c' object='libm/machine/amdgcn/libm_a-v64df_isnan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_isnan.obj `if test -f 'libm/machine/amdgcn/v64df_isnan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_isnan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_isnan.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_ispos.o: libm/machine/amdgcn/v64df_ispos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_ispos.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_ispos.o `test -f 'libm/machine/amdgcn/v64df_ispos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_ispos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_ispos.c' object='libm/machine/amdgcn/libm_a-v64df_ispos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_ispos.o `test -f 'libm/machine/amdgcn/v64df_ispos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_ispos.c + +libm/machine/amdgcn/libm_a-v64df_ispos.obj: libm/machine/amdgcn/v64df_ispos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_ispos.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_ispos.obj `if test -f 'libm/machine/amdgcn/v64df_ispos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_ispos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_ispos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_ispos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_ispos.c' object='libm/machine/amdgcn/libm_a-v64df_ispos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_ispos.obj `if test -f 'libm/machine/amdgcn/v64df_ispos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_ispos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_ispos.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_lgamma.o: libm/machine/amdgcn/v64df_lgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_lgamma.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_lgamma.o `test -f 'libm/machine/amdgcn/v64df_lgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_lgamma.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_lgamma.c' object='libm/machine/amdgcn/libm_a-v64df_lgamma.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_lgamma.o `test -f 'libm/machine/amdgcn/v64df_lgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_lgamma.c + +libm/machine/amdgcn/libm_a-v64df_lgamma.obj: libm/machine/amdgcn/v64df_lgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_lgamma.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_lgamma.obj `if test -f 'libm/machine/amdgcn/v64df_lgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_lgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_lgamma.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_lgamma.c' object='libm/machine/amdgcn/libm_a-v64df_lgamma.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_lgamma.obj `if test -f 'libm/machine/amdgcn/v64df_lgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_lgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_lgamma.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_lgamma_r.o: libm/machine/amdgcn/v64df_lgamma_r.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_lgamma_r.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_lgamma_r.o `test -f 'libm/machine/amdgcn/v64df_lgamma_r.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_lgamma_r.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_lgamma_r.c' object='libm/machine/amdgcn/libm_a-v64df_lgamma_r.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_lgamma_r.o `test -f 'libm/machine/amdgcn/v64df_lgamma_r.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_lgamma_r.c + +libm/machine/amdgcn/libm_a-v64df_lgamma_r.obj: libm/machine/amdgcn/v64df_lgamma_r.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_lgamma_r.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_lgamma_r.obj `if test -f 'libm/machine/amdgcn/v64df_lgamma_r.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_lgamma_r.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_lgamma_r.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_lgamma_r.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_lgamma_r.c' object='libm/machine/amdgcn/libm_a-v64df_lgamma_r.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_lgamma_r.obj `if test -f 'libm/machine/amdgcn/v64df_lgamma_r.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_lgamma_r.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_lgamma_r.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_log.o: libm/machine/amdgcn/v64df_log.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_log.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_log.o `test -f 'libm/machine/amdgcn/v64df_log.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_log.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_log.c' object='libm/machine/amdgcn/libm_a-v64df_log.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_log.o `test -f 'libm/machine/amdgcn/v64df_log.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_log.c + +libm/machine/amdgcn/libm_a-v64df_log.obj: libm/machine/amdgcn/v64df_log.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_log.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_log.obj `if test -f 'libm/machine/amdgcn/v64df_log.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_log.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_log.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_log.c' object='libm/machine/amdgcn/libm_a-v64df_log.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_log.obj `if test -f 'libm/machine/amdgcn/v64df_log.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_log.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_log.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_log10.o: libm/machine/amdgcn/v64df_log10.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_log10.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_log10.o `test -f 'libm/machine/amdgcn/v64df_log10.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_log10.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_log10.c' object='libm/machine/amdgcn/libm_a-v64df_log10.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_log10.o `test -f 'libm/machine/amdgcn/v64df_log10.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_log10.c + +libm/machine/amdgcn/libm_a-v64df_log10.obj: libm/machine/amdgcn/v64df_log10.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_log10.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_log10.obj `if test -f 'libm/machine/amdgcn/v64df_log10.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_log10.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_log10.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log10.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_log10.c' object='libm/machine/amdgcn/libm_a-v64df_log10.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_log10.obj `if test -f 'libm/machine/amdgcn/v64df_log10.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_log10.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_log10.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_log2.o: libm/machine/amdgcn/v64df_log2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_log2.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_log2.o `test -f 'libm/machine/amdgcn/v64df_log2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_log2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_log2.c' object='libm/machine/amdgcn/libm_a-v64df_log2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_log2.o `test -f 'libm/machine/amdgcn/v64df_log2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_log2.c + +libm/machine/amdgcn/libm_a-v64df_log2.obj: libm/machine/amdgcn/v64df_log2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_log2.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_log2.obj `if test -f 'libm/machine/amdgcn/v64df_log2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_log2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_log2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_log2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_log2.c' object='libm/machine/amdgcn/libm_a-v64df_log2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_log2.obj `if test -f 'libm/machine/amdgcn/v64df_log2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_log2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_log2.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_modf.o: libm/machine/amdgcn/v64df_modf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_modf.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_modf.o `test -f 'libm/machine/amdgcn/v64df_modf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_modf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_modf.c' object='libm/machine/amdgcn/libm_a-v64df_modf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_modf.o `test -f 'libm/machine/amdgcn/v64df_modf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_modf.c + +libm/machine/amdgcn/libm_a-v64df_modf.obj: libm/machine/amdgcn/v64df_modf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_modf.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_modf.obj `if test -f 'libm/machine/amdgcn/v64df_modf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_modf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_modf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_modf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_modf.c' object='libm/machine/amdgcn/libm_a-v64df_modf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_modf.obj `if test -f 'libm/machine/amdgcn/v64df_modf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_modf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_modf.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_numtest.o: libm/machine/amdgcn/v64df_numtest.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_numtest.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_numtest.o `test -f 'libm/machine/amdgcn/v64df_numtest.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_numtest.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_numtest.c' object='libm/machine/amdgcn/libm_a-v64df_numtest.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_numtest.o `test -f 'libm/machine/amdgcn/v64df_numtest.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_numtest.c + +libm/machine/amdgcn/libm_a-v64df_numtest.obj: libm/machine/amdgcn/v64df_numtest.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_numtest.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_numtest.obj `if test -f 'libm/machine/amdgcn/v64df_numtest.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_numtest.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_numtest.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_numtest.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_numtest.c' object='libm/machine/amdgcn/libm_a-v64df_numtest.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_numtest.obj `if test -f 'libm/machine/amdgcn/v64df_numtest.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_numtest.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_numtest.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_pow.o: libm/machine/amdgcn/v64df_pow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_pow.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_pow.o `test -f 'libm/machine/amdgcn/v64df_pow.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_pow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_pow.c' object='libm/machine/amdgcn/libm_a-v64df_pow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_pow.o `test -f 'libm/machine/amdgcn/v64df_pow.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_pow.c + +libm/machine/amdgcn/libm_a-v64df_pow.obj: libm/machine/amdgcn/v64df_pow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_pow.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_pow.obj `if test -f 'libm/machine/amdgcn/v64df_pow.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_pow.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_pow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_pow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_pow.c' object='libm/machine/amdgcn/libm_a-v64df_pow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_pow.obj `if test -f 'libm/machine/amdgcn/v64df_pow.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_pow.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_pow.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_remainder.o: libm/machine/amdgcn/v64df_remainder.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_remainder.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_remainder.o `test -f 'libm/machine/amdgcn/v64df_remainder.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_remainder.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_remainder.c' object='libm/machine/amdgcn/libm_a-v64df_remainder.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_remainder.o `test -f 'libm/machine/amdgcn/v64df_remainder.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_remainder.c + +libm/machine/amdgcn/libm_a-v64df_remainder.obj: libm/machine/amdgcn/v64df_remainder.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_remainder.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_remainder.obj `if test -f 'libm/machine/amdgcn/v64df_remainder.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_remainder.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_remainder.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_remainder.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_remainder.c' object='libm/machine/amdgcn/libm_a-v64df_remainder.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_remainder.obj `if test -f 'libm/machine/amdgcn/v64df_remainder.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_remainder.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_remainder.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_rint.o: libm/machine/amdgcn/v64df_rint.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_rint.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_rint.o `test -f 'libm/machine/amdgcn/v64df_rint.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_rint.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_rint.c' object='libm/machine/amdgcn/libm_a-v64df_rint.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_rint.o `test -f 'libm/machine/amdgcn/v64df_rint.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_rint.c + +libm/machine/amdgcn/libm_a-v64df_rint.obj: libm/machine/amdgcn/v64df_rint.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_rint.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_rint.obj `if test -f 'libm/machine/amdgcn/v64df_rint.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_rint.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_rint.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_rint.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_rint.c' object='libm/machine/amdgcn/libm_a-v64df_rint.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_rint.obj `if test -f 'libm/machine/amdgcn/v64df_rint.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_rint.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_rint.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_scalb.o: libm/machine/amdgcn/v64df_scalb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_scalb.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_scalb.o `test -f 'libm/machine/amdgcn/v64df_scalb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_scalb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_scalb.c' object='libm/machine/amdgcn/libm_a-v64df_scalb.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_scalb.o `test -f 'libm/machine/amdgcn/v64df_scalb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_scalb.c + +libm/machine/amdgcn/libm_a-v64df_scalb.obj: libm/machine/amdgcn/v64df_scalb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_scalb.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_scalb.obj `if test -f 'libm/machine/amdgcn/v64df_scalb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_scalb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_scalb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_scalb.c' object='libm/machine/amdgcn/libm_a-v64df_scalb.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_scalb.obj `if test -f 'libm/machine/amdgcn/v64df_scalb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_scalb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_scalb.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_scalbn.o: libm/machine/amdgcn/v64df_scalbn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_scalbn.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_scalbn.o `test -f 'libm/machine/amdgcn/v64df_scalbn.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_scalbn.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_scalbn.c' object='libm/machine/amdgcn/libm_a-v64df_scalbn.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_scalbn.o `test -f 'libm/machine/amdgcn/v64df_scalbn.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_scalbn.c + +libm/machine/amdgcn/libm_a-v64df_scalbn.obj: libm/machine/amdgcn/v64df_scalbn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_scalbn.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_scalbn.obj `if test -f 'libm/machine/amdgcn/v64df_scalbn.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_scalbn.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_scalbn.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_scalbn.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_scalbn.c' object='libm/machine/amdgcn/libm_a-v64df_scalbn.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_scalbn.obj `if test -f 'libm/machine/amdgcn/v64df_scalbn.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_scalbn.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_scalbn.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_signif.o: libm/machine/amdgcn/v64df_signif.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_signif.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_signif.o `test -f 'libm/machine/amdgcn/v64df_signif.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_signif.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_signif.c' object='libm/machine/amdgcn/libm_a-v64df_signif.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_signif.o `test -f 'libm/machine/amdgcn/v64df_signif.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_signif.c + +libm/machine/amdgcn/libm_a-v64df_signif.obj: libm/machine/amdgcn/v64df_signif.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_signif.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_signif.obj `if test -f 'libm/machine/amdgcn/v64df_signif.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_signif.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_signif.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_signif.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_signif.c' object='libm/machine/amdgcn/libm_a-v64df_signif.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_signif.obj `if test -f 'libm/machine/amdgcn/v64df_signif.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_signif.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_signif.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_sin.o: libm/machine/amdgcn/v64df_sin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sin.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sin.o `test -f 'libm/machine/amdgcn/v64df_sin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sin.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sin.c' object='libm/machine/amdgcn/libm_a-v64df_sin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sin.o `test -f 'libm/machine/amdgcn/v64df_sin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sin.c + +libm/machine/amdgcn/libm_a-v64df_sin.obj: libm/machine/amdgcn/v64df_sin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sin.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sin.obj `if test -f 'libm/machine/amdgcn/v64df_sin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sin.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sin.c' object='libm/machine/amdgcn/libm_a-v64df_sin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sin.obj `if test -f 'libm/machine/amdgcn/v64df_sin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sin.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_sine.o: libm/machine/amdgcn/v64df_sine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sine.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sine.o `test -f 'libm/machine/amdgcn/v64df_sine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sine.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sine.c' object='libm/machine/amdgcn/libm_a-v64df_sine.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sine.o `test -f 'libm/machine/amdgcn/v64df_sine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sine.c + +libm/machine/amdgcn/libm_a-v64df_sine.obj: libm/machine/amdgcn/v64df_sine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sine.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sine.obj `if test -f 'libm/machine/amdgcn/v64df_sine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sine.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sine.c' object='libm/machine/amdgcn/libm_a-v64df_sine.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sine.obj `if test -f 'libm/machine/amdgcn/v64df_sine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sine.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_sineh.o: libm/machine/amdgcn/v64df_sineh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sineh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sineh.o `test -f 'libm/machine/amdgcn/v64df_sineh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sineh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sineh.c' object='libm/machine/amdgcn/libm_a-v64df_sineh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sineh.o `test -f 'libm/machine/amdgcn/v64df_sineh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sineh.c + +libm/machine/amdgcn/libm_a-v64df_sineh.obj: libm/machine/amdgcn/v64df_sineh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sineh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sineh.obj `if test -f 'libm/machine/amdgcn/v64df_sineh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sineh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sineh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sineh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sineh.c' object='libm/machine/amdgcn/libm_a-v64df_sineh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sineh.obj `if test -f 'libm/machine/amdgcn/v64df_sineh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sineh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sineh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_sinh.o: libm/machine/amdgcn/v64df_sinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sinh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sinh.o `test -f 'libm/machine/amdgcn/v64df_sinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sinh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sinh.c' object='libm/machine/amdgcn/libm_a-v64df_sinh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sinh.o `test -f 'libm/machine/amdgcn/v64df_sinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sinh.c + +libm/machine/amdgcn/libm_a-v64df_sinh.obj: libm/machine/amdgcn/v64df_sinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sinh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sinh.obj `if test -f 'libm/machine/amdgcn/v64df_sinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sinh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sinh.c' object='libm/machine/amdgcn/libm_a-v64df_sinh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sinh.obj `if test -f 'libm/machine/amdgcn/v64df_sinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sinh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_sqrt.o: libm/machine/amdgcn/v64df_sqrt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sqrt.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sqrt.o `test -f 'libm/machine/amdgcn/v64df_sqrt.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sqrt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sqrt.c' object='libm/machine/amdgcn/libm_a-v64df_sqrt.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sqrt.o `test -f 'libm/machine/amdgcn/v64df_sqrt.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_sqrt.c + +libm/machine/amdgcn/libm_a-v64df_sqrt.obj: libm/machine/amdgcn/v64df_sqrt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_sqrt.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_sqrt.obj `if test -f 'libm/machine/amdgcn/v64df_sqrt.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sqrt.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sqrt.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_sqrt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_sqrt.c' object='libm/machine/amdgcn/libm_a-v64df_sqrt.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_sqrt.obj `if test -f 'libm/machine/amdgcn/v64df_sqrt.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_sqrt.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_sqrt.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_tan.o: libm/machine/amdgcn/v64df_tan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_tan.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_tan.o `test -f 'libm/machine/amdgcn/v64df_tan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_tan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_tan.c' object='libm/machine/amdgcn/libm_a-v64df_tan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_tan.o `test -f 'libm/machine/amdgcn/v64df_tan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_tan.c + +libm/machine/amdgcn/libm_a-v64df_tan.obj: libm/machine/amdgcn/v64df_tan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_tan.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_tan.obj `if test -f 'libm/machine/amdgcn/v64df_tan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_tan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_tan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_tan.c' object='libm/machine/amdgcn/libm_a-v64df_tan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_tan.obj `if test -f 'libm/machine/amdgcn/v64df_tan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_tan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_tan.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_tanh.o: libm/machine/amdgcn/v64df_tanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_tanh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_tanh.o `test -f 'libm/machine/amdgcn/v64df_tanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_tanh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_tanh.c' object='libm/machine/amdgcn/libm_a-v64df_tanh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_tanh.o `test -f 'libm/machine/amdgcn/v64df_tanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_tanh.c + +libm/machine/amdgcn/libm_a-v64df_tanh.obj: libm/machine/amdgcn/v64df_tanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_tanh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_tanh.obj `if test -f 'libm/machine/amdgcn/v64df_tanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_tanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_tanh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_tanh.c' object='libm/machine/amdgcn/libm_a-v64df_tanh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_tanh.obj `if test -f 'libm/machine/amdgcn/v64df_tanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_tanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_tanh.c'; fi` + +libm/machine/amdgcn/libm_a-v64df_tgamma.o: libm/machine/amdgcn/v64df_tgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_tgamma.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_tgamma.o `test -f 'libm/machine/amdgcn/v64df_tgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_tgamma.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_tgamma.c' object='libm/machine/amdgcn/libm_a-v64df_tgamma.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_tgamma.o `test -f 'libm/machine/amdgcn/v64df_tgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64df_tgamma.c + +libm/machine/amdgcn/libm_a-v64df_tgamma.obj: libm/machine/amdgcn/v64df_tgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64df_tgamma.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64df_tgamma.obj `if test -f 'libm/machine/amdgcn/v64df_tgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_tgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_tgamma.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64df_tgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64df_tgamma.c' object='libm/machine/amdgcn/libm_a-v64df_tgamma.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64df_tgamma.obj `if test -f 'libm/machine/amdgcn/v64df_tgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64df_tgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64df_tgamma.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_acos.o: libm/machine/amdgcn/v64sf_acos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_acos.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_acos.o `test -f 'libm/machine/amdgcn/v64sf_acos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_acos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_acos.c' object='libm/machine/amdgcn/libm_a-v64sf_acos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_acos.o `test -f 'libm/machine/amdgcn/v64sf_acos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_acos.c + +libm/machine/amdgcn/libm_a-v64sf_acos.obj: libm/machine/amdgcn/v64sf_acos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_acos.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_acos.obj `if test -f 'libm/machine/amdgcn/v64sf_acos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_acos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_acos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_acos.c' object='libm/machine/amdgcn/libm_a-v64sf_acos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_acos.obj `if test -f 'libm/machine/amdgcn/v64sf_acos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_acos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_acos.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_acosh.o: libm/machine/amdgcn/v64sf_acosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_acosh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_acosh.o `test -f 'libm/machine/amdgcn/v64sf_acosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_acosh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_acosh.c' object='libm/machine/amdgcn/libm_a-v64sf_acosh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_acosh.o `test -f 'libm/machine/amdgcn/v64sf_acosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_acosh.c + +libm/machine/amdgcn/libm_a-v64sf_acosh.obj: libm/machine/amdgcn/v64sf_acosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_acosh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_acosh.obj `if test -f 'libm/machine/amdgcn/v64sf_acosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_acosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_acosh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_acosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_acosh.c' object='libm/machine/amdgcn/libm_a-v64sf_acosh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_acosh.obj `if test -f 'libm/machine/amdgcn/v64sf_acosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_acosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_acosh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_asin.o: libm/machine/amdgcn/v64sf_asin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_asin.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_asin.o `test -f 'libm/machine/amdgcn/v64sf_asin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_asin.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_asin.c' object='libm/machine/amdgcn/libm_a-v64sf_asin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_asin.o `test -f 'libm/machine/amdgcn/v64sf_asin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_asin.c + +libm/machine/amdgcn/libm_a-v64sf_asin.obj: libm/machine/amdgcn/v64sf_asin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_asin.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_asin.obj `if test -f 'libm/machine/amdgcn/v64sf_asin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_asin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_asin.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_asin.c' object='libm/machine/amdgcn/libm_a-v64sf_asin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_asin.obj `if test -f 'libm/machine/amdgcn/v64sf_asin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_asin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_asin.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_asine.o: libm/machine/amdgcn/v64sf_asine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_asine.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_asine.o `test -f 'libm/machine/amdgcn/v64sf_asine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_asine.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_asine.c' object='libm/machine/amdgcn/libm_a-v64sf_asine.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_asine.o `test -f 'libm/machine/amdgcn/v64sf_asine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_asine.c + +libm/machine/amdgcn/libm_a-v64sf_asine.obj: libm/machine/amdgcn/v64sf_asine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_asine.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_asine.obj `if test -f 'libm/machine/amdgcn/v64sf_asine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_asine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_asine.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_asine.c' object='libm/machine/amdgcn/libm_a-v64sf_asine.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_asine.obj `if test -f 'libm/machine/amdgcn/v64sf_asine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_asine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_asine.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_asinh.o: libm/machine/amdgcn/v64sf_asinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_asinh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_asinh.o `test -f 'libm/machine/amdgcn/v64sf_asinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_asinh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_asinh.c' object='libm/machine/amdgcn/libm_a-v64sf_asinh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_asinh.o `test -f 'libm/machine/amdgcn/v64sf_asinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_asinh.c + +libm/machine/amdgcn/libm_a-v64sf_asinh.obj: libm/machine/amdgcn/v64sf_asinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_asinh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_asinh.obj `if test -f 'libm/machine/amdgcn/v64sf_asinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_asinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_asinh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_asinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_asinh.c' object='libm/machine/amdgcn/libm_a-v64sf_asinh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_asinh.obj `if test -f 'libm/machine/amdgcn/v64sf_asinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_asinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_asinh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_atan.o: libm/machine/amdgcn/v64sf_atan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atan.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atan.o `test -f 'libm/machine/amdgcn/v64sf_atan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atan.c' object='libm/machine/amdgcn/libm_a-v64sf_atan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atan.o `test -f 'libm/machine/amdgcn/v64sf_atan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atan.c + +libm/machine/amdgcn/libm_a-v64sf_atan.obj: libm/machine/amdgcn/v64sf_atan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atan.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atan.obj `if test -f 'libm/machine/amdgcn/v64sf_atan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atan.c' object='libm/machine/amdgcn/libm_a-v64sf_atan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atan.obj `if test -f 'libm/machine/amdgcn/v64sf_atan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atan.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_atan2.o: libm/machine/amdgcn/v64sf_atan2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atan2.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atan2.o `test -f 'libm/machine/amdgcn/v64sf_atan2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atan2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atan2.c' object='libm/machine/amdgcn/libm_a-v64sf_atan2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atan2.o `test -f 'libm/machine/amdgcn/v64sf_atan2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atan2.c + +libm/machine/amdgcn/libm_a-v64sf_atan2.obj: libm/machine/amdgcn/v64sf_atan2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atan2.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atan2.obj `if test -f 'libm/machine/amdgcn/v64sf_atan2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atan2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atan2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atan2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atan2.c' object='libm/machine/amdgcn/libm_a-v64sf_atan2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atan2.obj `if test -f 'libm/machine/amdgcn/v64sf_atan2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atan2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atan2.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_atangent.o: libm/machine/amdgcn/v64sf_atangent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atangent.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atangent.o `test -f 'libm/machine/amdgcn/v64sf_atangent.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atangent.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atangent.c' object='libm/machine/amdgcn/libm_a-v64sf_atangent.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atangent.o `test -f 'libm/machine/amdgcn/v64sf_atangent.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atangent.c + +libm/machine/amdgcn/libm_a-v64sf_atangent.obj: libm/machine/amdgcn/v64sf_atangent.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atangent.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atangent.obj `if test -f 'libm/machine/amdgcn/v64sf_atangent.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atangent.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atangent.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atangent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atangent.c' object='libm/machine/amdgcn/libm_a-v64sf_atangent.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atangent.obj `if test -f 'libm/machine/amdgcn/v64sf_atangent.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atangent.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atangent.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_atanh.o: libm/machine/amdgcn/v64sf_atanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atanh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atanh.o `test -f 'libm/machine/amdgcn/v64sf_atanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atanh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atanh.c' object='libm/machine/amdgcn/libm_a-v64sf_atanh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atanh.o `test -f 'libm/machine/amdgcn/v64sf_atanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_atanh.c + +libm/machine/amdgcn/libm_a-v64sf_atanh.obj: libm/machine/amdgcn/v64sf_atanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_atanh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_atanh.obj `if test -f 'libm/machine/amdgcn/v64sf_atanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atanh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_atanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_atanh.c' object='libm/machine/amdgcn/libm_a-v64sf_atanh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_atanh.obj `if test -f 'libm/machine/amdgcn/v64sf_atanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_atanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_atanh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_copysign.o: libm/machine/amdgcn/v64sf_copysign.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_copysign.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_copysign.o `test -f 'libm/machine/amdgcn/v64sf_copysign.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_copysign.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_copysign.c' object='libm/machine/amdgcn/libm_a-v64sf_copysign.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_copysign.o `test -f 'libm/machine/amdgcn/v64sf_copysign.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_copysign.c + +libm/machine/amdgcn/libm_a-v64sf_copysign.obj: libm/machine/amdgcn/v64sf_copysign.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_copysign.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_copysign.obj `if test -f 'libm/machine/amdgcn/v64sf_copysign.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_copysign.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_copysign.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_copysign.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_copysign.c' object='libm/machine/amdgcn/libm_a-v64sf_copysign.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_copysign.obj `if test -f 'libm/machine/amdgcn/v64sf_copysign.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_copysign.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_copysign.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_cos.o: libm/machine/amdgcn/v64sf_cos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_cos.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_cos.o `test -f 'libm/machine/amdgcn/v64sf_cos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_cos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_cos.c' object='libm/machine/amdgcn/libm_a-v64sf_cos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_cos.o `test -f 'libm/machine/amdgcn/v64sf_cos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_cos.c + +libm/machine/amdgcn/libm_a-v64sf_cos.obj: libm/machine/amdgcn/v64sf_cos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_cos.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_cos.obj `if test -f 'libm/machine/amdgcn/v64sf_cos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_cos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_cos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_cos.c' object='libm/machine/amdgcn/libm_a-v64sf_cos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_cos.obj `if test -f 'libm/machine/amdgcn/v64sf_cos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_cos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_cos.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_cosh.o: libm/machine/amdgcn/v64sf_cosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_cosh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_cosh.o `test -f 'libm/machine/amdgcn/v64sf_cosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_cosh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_cosh.c' object='libm/machine/amdgcn/libm_a-v64sf_cosh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_cosh.o `test -f 'libm/machine/amdgcn/v64sf_cosh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_cosh.c + +libm/machine/amdgcn/libm_a-v64sf_cosh.obj: libm/machine/amdgcn/v64sf_cosh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_cosh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_cosh.obj `if test -f 'libm/machine/amdgcn/v64sf_cosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_cosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_cosh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_cosh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_cosh.c' object='libm/machine/amdgcn/libm_a-v64sf_cosh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_cosh.obj `if test -f 'libm/machine/amdgcn/v64sf_cosh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_cosh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_cosh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_erf.o: libm/machine/amdgcn/v64sf_erf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_erf.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_erf.o `test -f 'libm/machine/amdgcn/v64sf_erf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_erf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_erf.c' object='libm/machine/amdgcn/libm_a-v64sf_erf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_erf.o `test -f 'libm/machine/amdgcn/v64sf_erf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_erf.c + +libm/machine/amdgcn/libm_a-v64sf_erf.obj: libm/machine/amdgcn/v64sf_erf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_erf.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_erf.obj `if test -f 'libm/machine/amdgcn/v64sf_erf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_erf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_erf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_erf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_erf.c' object='libm/machine/amdgcn/libm_a-v64sf_erf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_erf.obj `if test -f 'libm/machine/amdgcn/v64sf_erf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_erf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_erf.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_exp.o: libm/machine/amdgcn/v64sf_exp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_exp.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_exp.o `test -f 'libm/machine/amdgcn/v64sf_exp.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_exp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_exp.c' object='libm/machine/amdgcn/libm_a-v64sf_exp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_exp.o `test -f 'libm/machine/amdgcn/v64sf_exp.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_exp.c + +libm/machine/amdgcn/libm_a-v64sf_exp.obj: libm/machine/amdgcn/v64sf_exp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_exp.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_exp.obj `if test -f 'libm/machine/amdgcn/v64sf_exp.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_exp.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_exp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_exp.c' object='libm/machine/amdgcn/libm_a-v64sf_exp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_exp.obj `if test -f 'libm/machine/amdgcn/v64sf_exp.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_exp.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_exp.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_exp2.o: libm/machine/amdgcn/v64sf_exp2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_exp2.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_exp2.o `test -f 'libm/machine/amdgcn/v64sf_exp2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_exp2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_exp2.c' object='libm/machine/amdgcn/libm_a-v64sf_exp2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_exp2.o `test -f 'libm/machine/amdgcn/v64sf_exp2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_exp2.c + +libm/machine/amdgcn/libm_a-v64sf_exp2.obj: libm/machine/amdgcn/v64sf_exp2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_exp2.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_exp2.obj `if test -f 'libm/machine/amdgcn/v64sf_exp2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_exp2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_exp2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_exp2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_exp2.c' object='libm/machine/amdgcn/libm_a-v64sf_exp2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_exp2.obj `if test -f 'libm/machine/amdgcn/v64sf_exp2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_exp2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_exp2.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_finite.o: libm/machine/amdgcn/v64sf_finite.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_finite.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_finite.o `test -f 'libm/machine/amdgcn/v64sf_finite.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_finite.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_finite.c' object='libm/machine/amdgcn/libm_a-v64sf_finite.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_finite.o `test -f 'libm/machine/amdgcn/v64sf_finite.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_finite.c + +libm/machine/amdgcn/libm_a-v64sf_finite.obj: libm/machine/amdgcn/v64sf_finite.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_finite.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_finite.obj `if test -f 'libm/machine/amdgcn/v64sf_finite.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_finite.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_finite.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_finite.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_finite.c' object='libm/machine/amdgcn/libm_a-v64sf_finite.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_finite.obj `if test -f 'libm/machine/amdgcn/v64sf_finite.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_finite.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_finite.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_fmod.o: libm/machine/amdgcn/v64sf_fmod.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_fmod.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_fmod.o `test -f 'libm/machine/amdgcn/v64sf_fmod.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_fmod.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_fmod.c' object='libm/machine/amdgcn/libm_a-v64sf_fmod.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_fmod.o `test -f 'libm/machine/amdgcn/v64sf_fmod.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_fmod.c + +libm/machine/amdgcn/libm_a-v64sf_fmod.obj: libm/machine/amdgcn/v64sf_fmod.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_fmod.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_fmod.obj `if test -f 'libm/machine/amdgcn/v64sf_fmod.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_fmod.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_fmod.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_fmod.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_fmod.c' object='libm/machine/amdgcn/libm_a-v64sf_fmod.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_fmod.obj `if test -f 'libm/machine/amdgcn/v64sf_fmod.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_fmod.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_fmod.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_gamma.o: libm/machine/amdgcn/v64sf_gamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_gamma.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_gamma.o `test -f 'libm/machine/amdgcn/v64sf_gamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_gamma.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_gamma.c' object='libm/machine/amdgcn/libm_a-v64sf_gamma.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_gamma.o `test -f 'libm/machine/amdgcn/v64sf_gamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_gamma.c + +libm/machine/amdgcn/libm_a-v64sf_gamma.obj: libm/machine/amdgcn/v64sf_gamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_gamma.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_gamma.obj `if test -f 'libm/machine/amdgcn/v64sf_gamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_gamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_gamma.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_gamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_gamma.c' object='libm/machine/amdgcn/libm_a-v64sf_gamma.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_gamma.obj `if test -f 'libm/machine/amdgcn/v64sf_gamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_gamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_gamma.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_hypot.o: libm/machine/amdgcn/v64sf_hypot.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_hypot.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_hypot.o `test -f 'libm/machine/amdgcn/v64sf_hypot.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_hypot.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_hypot.c' object='libm/machine/amdgcn/libm_a-v64sf_hypot.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_hypot.o `test -f 'libm/machine/amdgcn/v64sf_hypot.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_hypot.c + +libm/machine/amdgcn/libm_a-v64sf_hypot.obj: libm/machine/amdgcn/v64sf_hypot.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_hypot.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_hypot.obj `if test -f 'libm/machine/amdgcn/v64sf_hypot.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_hypot.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_hypot.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_hypot.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_hypot.c' object='libm/machine/amdgcn/libm_a-v64sf_hypot.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_hypot.obj `if test -f 'libm/machine/amdgcn/v64sf_hypot.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_hypot.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_hypot.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_ilogb.o: libm/machine/amdgcn/v64sf_ilogb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_ilogb.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_ilogb.o `test -f 'libm/machine/amdgcn/v64sf_ilogb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_ilogb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_ilogb.c' object='libm/machine/amdgcn/libm_a-v64sf_ilogb.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_ilogb.o `test -f 'libm/machine/amdgcn/v64sf_ilogb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_ilogb.c + +libm/machine/amdgcn/libm_a-v64sf_ilogb.obj: libm/machine/amdgcn/v64sf_ilogb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_ilogb.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_ilogb.obj `if test -f 'libm/machine/amdgcn/v64sf_ilogb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_ilogb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_ilogb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ilogb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_ilogb.c' object='libm/machine/amdgcn/libm_a-v64sf_ilogb.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_ilogb.obj `if test -f 'libm/machine/amdgcn/v64sf_ilogb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_ilogb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_ilogb.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_isnan.o: libm/machine/amdgcn/v64sf_isnan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_isnan.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_isnan.o `test -f 'libm/machine/amdgcn/v64sf_isnan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_isnan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_isnan.c' object='libm/machine/amdgcn/libm_a-v64sf_isnan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_isnan.o `test -f 'libm/machine/amdgcn/v64sf_isnan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_isnan.c + +libm/machine/amdgcn/libm_a-v64sf_isnan.obj: libm/machine/amdgcn/v64sf_isnan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_isnan.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_isnan.obj `if test -f 'libm/machine/amdgcn/v64sf_isnan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_isnan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_isnan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_isnan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_isnan.c' object='libm/machine/amdgcn/libm_a-v64sf_isnan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_isnan.obj `if test -f 'libm/machine/amdgcn/v64sf_isnan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_isnan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_isnan.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_ispos.o: libm/machine/amdgcn/v64sf_ispos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_ispos.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_ispos.o `test -f 'libm/machine/amdgcn/v64sf_ispos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_ispos.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_ispos.c' object='libm/machine/amdgcn/libm_a-v64sf_ispos.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_ispos.o `test -f 'libm/machine/amdgcn/v64sf_ispos.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_ispos.c + +libm/machine/amdgcn/libm_a-v64sf_ispos.obj: libm/machine/amdgcn/v64sf_ispos.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_ispos.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_ispos.obj `if test -f 'libm/machine/amdgcn/v64sf_ispos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_ispos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_ispos.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_ispos.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_ispos.c' object='libm/machine/amdgcn/libm_a-v64sf_ispos.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_ispos.obj `if test -f 'libm/machine/amdgcn/v64sf_ispos.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_ispos.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_ispos.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_lgamma.o: libm/machine/amdgcn/v64sf_lgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_lgamma.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma.o `test -f 'libm/machine/amdgcn/v64sf_lgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_lgamma.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_lgamma.c' object='libm/machine/amdgcn/libm_a-v64sf_lgamma.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma.o `test -f 'libm/machine/amdgcn/v64sf_lgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_lgamma.c + +libm/machine/amdgcn/libm_a-v64sf_lgamma.obj: libm/machine/amdgcn/v64sf_lgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_lgamma.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma.obj `if test -f 'libm/machine/amdgcn/v64sf_lgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_lgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_lgamma.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_lgamma.c' object='libm/machine/amdgcn/libm_a-v64sf_lgamma.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma.obj `if test -f 'libm/machine/amdgcn/v64sf_lgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_lgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_lgamma.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_lgamma_r.o: libm/machine/amdgcn/v64sf_lgamma_r.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_lgamma_r.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma_r.o `test -f 'libm/machine/amdgcn/v64sf_lgamma_r.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_lgamma_r.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_lgamma_r.c' object='libm/machine/amdgcn/libm_a-v64sf_lgamma_r.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma_r.o `test -f 'libm/machine/amdgcn/v64sf_lgamma_r.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_lgamma_r.c + +libm/machine/amdgcn/libm_a-v64sf_lgamma_r.obj: libm/machine/amdgcn/v64sf_lgamma_r.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_lgamma_r.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma_r.obj `if test -f 'libm/machine/amdgcn/v64sf_lgamma_r.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_lgamma_r.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_lgamma_r.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_lgamma_r.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_lgamma_r.c' object='libm/machine/amdgcn/libm_a-v64sf_lgamma_r.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_lgamma_r.obj `if test -f 'libm/machine/amdgcn/v64sf_lgamma_r.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_lgamma_r.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_lgamma_r.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_log.o: libm/machine/amdgcn/v64sf_log.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_log.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_log.o `test -f 'libm/machine/amdgcn/v64sf_log.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_log.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_log.c' object='libm/machine/amdgcn/libm_a-v64sf_log.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_log.o `test -f 'libm/machine/amdgcn/v64sf_log.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_log.c + +libm/machine/amdgcn/libm_a-v64sf_log.obj: libm/machine/amdgcn/v64sf_log.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_log.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_log.obj `if test -f 'libm/machine/amdgcn/v64sf_log.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_log.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_log.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_log.c' object='libm/machine/amdgcn/libm_a-v64sf_log.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_log.obj `if test -f 'libm/machine/amdgcn/v64sf_log.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_log.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_log.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_log10.o: libm/machine/amdgcn/v64sf_log10.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_log10.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_log10.o `test -f 'libm/machine/amdgcn/v64sf_log10.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_log10.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_log10.c' object='libm/machine/amdgcn/libm_a-v64sf_log10.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_log10.o `test -f 'libm/machine/amdgcn/v64sf_log10.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_log10.c + +libm/machine/amdgcn/libm_a-v64sf_log10.obj: libm/machine/amdgcn/v64sf_log10.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_log10.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_log10.obj `if test -f 'libm/machine/amdgcn/v64sf_log10.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_log10.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_log10.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log10.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_log10.c' object='libm/machine/amdgcn/libm_a-v64sf_log10.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_log10.obj `if test -f 'libm/machine/amdgcn/v64sf_log10.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_log10.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_log10.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_log2.o: libm/machine/amdgcn/v64sf_log2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_log2.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_log2.o `test -f 'libm/machine/amdgcn/v64sf_log2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_log2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_log2.c' object='libm/machine/amdgcn/libm_a-v64sf_log2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_log2.o `test -f 'libm/machine/amdgcn/v64sf_log2.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_log2.c + +libm/machine/amdgcn/libm_a-v64sf_log2.obj: libm/machine/amdgcn/v64sf_log2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_log2.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_log2.obj `if test -f 'libm/machine/amdgcn/v64sf_log2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_log2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_log2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_log2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_log2.c' object='libm/machine/amdgcn/libm_a-v64sf_log2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_log2.obj `if test -f 'libm/machine/amdgcn/v64sf_log2.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_log2.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_log2.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_modf.o: libm/machine/amdgcn/v64sf_modf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_modf.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_modf.o `test -f 'libm/machine/amdgcn/v64sf_modf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_modf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_modf.c' object='libm/machine/amdgcn/libm_a-v64sf_modf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_modf.o `test -f 'libm/machine/amdgcn/v64sf_modf.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_modf.c + +libm/machine/amdgcn/libm_a-v64sf_modf.obj: libm/machine/amdgcn/v64sf_modf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_modf.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_modf.obj `if test -f 'libm/machine/amdgcn/v64sf_modf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_modf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_modf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_modf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_modf.c' object='libm/machine/amdgcn/libm_a-v64sf_modf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_modf.obj `if test -f 'libm/machine/amdgcn/v64sf_modf.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_modf.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_modf.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_numtest.o: libm/machine/amdgcn/v64sf_numtest.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_numtest.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_numtest.o `test -f 'libm/machine/amdgcn/v64sf_numtest.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_numtest.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_numtest.c' object='libm/machine/amdgcn/libm_a-v64sf_numtest.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_numtest.o `test -f 'libm/machine/amdgcn/v64sf_numtest.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_numtest.c + +libm/machine/amdgcn/libm_a-v64sf_numtest.obj: libm/machine/amdgcn/v64sf_numtest.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_numtest.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_numtest.obj `if test -f 'libm/machine/amdgcn/v64sf_numtest.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_numtest.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_numtest.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_numtest.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_numtest.c' object='libm/machine/amdgcn/libm_a-v64sf_numtest.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_numtest.obj `if test -f 'libm/machine/amdgcn/v64sf_numtest.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_numtest.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_numtest.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_pow.o: libm/machine/amdgcn/v64sf_pow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_pow.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_pow.o `test -f 'libm/machine/amdgcn/v64sf_pow.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_pow.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_pow.c' object='libm/machine/amdgcn/libm_a-v64sf_pow.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_pow.o `test -f 'libm/machine/amdgcn/v64sf_pow.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_pow.c + +libm/machine/amdgcn/libm_a-v64sf_pow.obj: libm/machine/amdgcn/v64sf_pow.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_pow.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_pow.obj `if test -f 'libm/machine/amdgcn/v64sf_pow.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_pow.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_pow.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_pow.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_pow.c' object='libm/machine/amdgcn/libm_a-v64sf_pow.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_pow.obj `if test -f 'libm/machine/amdgcn/v64sf_pow.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_pow.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_pow.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_remainder.o: libm/machine/amdgcn/v64sf_remainder.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_remainder.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_remainder.o `test -f 'libm/machine/amdgcn/v64sf_remainder.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_remainder.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_remainder.c' object='libm/machine/amdgcn/libm_a-v64sf_remainder.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_remainder.o `test -f 'libm/machine/amdgcn/v64sf_remainder.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_remainder.c + +libm/machine/amdgcn/libm_a-v64sf_remainder.obj: libm/machine/amdgcn/v64sf_remainder.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_remainder.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_remainder.obj `if test -f 'libm/machine/amdgcn/v64sf_remainder.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_remainder.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_remainder.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_remainder.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_remainder.c' object='libm/machine/amdgcn/libm_a-v64sf_remainder.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_remainder.obj `if test -f 'libm/machine/amdgcn/v64sf_remainder.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_remainder.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_remainder.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_rint.o: libm/machine/amdgcn/v64sf_rint.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_rint.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_rint.o `test -f 'libm/machine/amdgcn/v64sf_rint.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_rint.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_rint.c' object='libm/machine/amdgcn/libm_a-v64sf_rint.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_rint.o `test -f 'libm/machine/amdgcn/v64sf_rint.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_rint.c + +libm/machine/amdgcn/libm_a-v64sf_rint.obj: libm/machine/amdgcn/v64sf_rint.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_rint.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_rint.obj `if test -f 'libm/machine/amdgcn/v64sf_rint.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_rint.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_rint.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_rint.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_rint.c' object='libm/machine/amdgcn/libm_a-v64sf_rint.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_rint.obj `if test -f 'libm/machine/amdgcn/v64sf_rint.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_rint.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_rint.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_scalb.o: libm/machine/amdgcn/v64sf_scalb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_scalb.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_scalb.o `test -f 'libm/machine/amdgcn/v64sf_scalb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_scalb.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_scalb.c' object='libm/machine/amdgcn/libm_a-v64sf_scalb.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_scalb.o `test -f 'libm/machine/amdgcn/v64sf_scalb.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_scalb.c + +libm/machine/amdgcn/libm_a-v64sf_scalb.obj: libm/machine/amdgcn/v64sf_scalb.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_scalb.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_scalb.obj `if test -f 'libm/machine/amdgcn/v64sf_scalb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_scalb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_scalb.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalb.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_scalb.c' object='libm/machine/amdgcn/libm_a-v64sf_scalb.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_scalb.obj `if test -f 'libm/machine/amdgcn/v64sf_scalb.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_scalb.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_scalb.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_scalbn.o: libm/machine/amdgcn/v64sf_scalbn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_scalbn.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_scalbn.o `test -f 'libm/machine/amdgcn/v64sf_scalbn.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_scalbn.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_scalbn.c' object='libm/machine/amdgcn/libm_a-v64sf_scalbn.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_scalbn.o `test -f 'libm/machine/amdgcn/v64sf_scalbn.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_scalbn.c + +libm/machine/amdgcn/libm_a-v64sf_scalbn.obj: libm/machine/amdgcn/v64sf_scalbn.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_scalbn.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_scalbn.obj `if test -f 'libm/machine/amdgcn/v64sf_scalbn.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_scalbn.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_scalbn.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_scalbn.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_scalbn.c' object='libm/machine/amdgcn/libm_a-v64sf_scalbn.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_scalbn.obj `if test -f 'libm/machine/amdgcn/v64sf_scalbn.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_scalbn.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_scalbn.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_signif.o: libm/machine/amdgcn/v64sf_signif.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_signif.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_signif.o `test -f 'libm/machine/amdgcn/v64sf_signif.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_signif.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_signif.c' object='libm/machine/amdgcn/libm_a-v64sf_signif.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_signif.o `test -f 'libm/machine/amdgcn/v64sf_signif.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_signif.c + +libm/machine/amdgcn/libm_a-v64sf_signif.obj: libm/machine/amdgcn/v64sf_signif.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_signif.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_signif.obj `if test -f 'libm/machine/amdgcn/v64sf_signif.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_signif.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_signif.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_signif.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_signif.c' object='libm/machine/amdgcn/libm_a-v64sf_signif.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_signif.obj `if test -f 'libm/machine/amdgcn/v64sf_signif.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_signif.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_signif.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_sin.o: libm/machine/amdgcn/v64sf_sin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sin.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sin.o `test -f 'libm/machine/amdgcn/v64sf_sin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sin.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sin.c' object='libm/machine/amdgcn/libm_a-v64sf_sin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sin.o `test -f 'libm/machine/amdgcn/v64sf_sin.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sin.c + +libm/machine/amdgcn/libm_a-v64sf_sin.obj: libm/machine/amdgcn/v64sf_sin.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sin.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sin.obj `if test -f 'libm/machine/amdgcn/v64sf_sin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sin.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sin.c' object='libm/machine/amdgcn/libm_a-v64sf_sin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sin.obj `if test -f 'libm/machine/amdgcn/v64sf_sin.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sin.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sin.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_sine.o: libm/machine/amdgcn/v64sf_sine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sine.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sine.o `test -f 'libm/machine/amdgcn/v64sf_sine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sine.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sine.c' object='libm/machine/amdgcn/libm_a-v64sf_sine.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sine.o `test -f 'libm/machine/amdgcn/v64sf_sine.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sine.c + +libm/machine/amdgcn/libm_a-v64sf_sine.obj: libm/machine/amdgcn/v64sf_sine.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sine.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sine.obj `if test -f 'libm/machine/amdgcn/v64sf_sine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sine.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sine.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sine.c' object='libm/machine/amdgcn/libm_a-v64sf_sine.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sine.obj `if test -f 'libm/machine/amdgcn/v64sf_sine.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sine.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sine.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_sineh.o: libm/machine/amdgcn/v64sf_sineh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sineh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sineh.o `test -f 'libm/machine/amdgcn/v64sf_sineh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sineh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sineh.c' object='libm/machine/amdgcn/libm_a-v64sf_sineh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sineh.o `test -f 'libm/machine/amdgcn/v64sf_sineh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sineh.c + +libm/machine/amdgcn/libm_a-v64sf_sineh.obj: libm/machine/amdgcn/v64sf_sineh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sineh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sineh.obj `if test -f 'libm/machine/amdgcn/v64sf_sineh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sineh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sineh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sineh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sineh.c' object='libm/machine/amdgcn/libm_a-v64sf_sineh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sineh.obj `if test -f 'libm/machine/amdgcn/v64sf_sineh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sineh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sineh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_sinh.o: libm/machine/amdgcn/v64sf_sinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sinh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sinh.o `test -f 'libm/machine/amdgcn/v64sf_sinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sinh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sinh.c' object='libm/machine/amdgcn/libm_a-v64sf_sinh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sinh.o `test -f 'libm/machine/amdgcn/v64sf_sinh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sinh.c + +libm/machine/amdgcn/libm_a-v64sf_sinh.obj: libm/machine/amdgcn/v64sf_sinh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sinh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sinh.obj `if test -f 'libm/machine/amdgcn/v64sf_sinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sinh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sinh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sinh.c' object='libm/machine/amdgcn/libm_a-v64sf_sinh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sinh.obj `if test -f 'libm/machine/amdgcn/v64sf_sinh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sinh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sinh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_sqrt.o: libm/machine/amdgcn/v64sf_sqrt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sqrt.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sqrt.o `test -f 'libm/machine/amdgcn/v64sf_sqrt.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sqrt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sqrt.c' object='libm/machine/amdgcn/libm_a-v64sf_sqrt.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sqrt.o `test -f 'libm/machine/amdgcn/v64sf_sqrt.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_sqrt.c + +libm/machine/amdgcn/libm_a-v64sf_sqrt.obj: libm/machine/amdgcn/v64sf_sqrt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_sqrt.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_sqrt.obj `if test -f 'libm/machine/amdgcn/v64sf_sqrt.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sqrt.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sqrt.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_sqrt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_sqrt.c' object='libm/machine/amdgcn/libm_a-v64sf_sqrt.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_sqrt.obj `if test -f 'libm/machine/amdgcn/v64sf_sqrt.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_sqrt.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_sqrt.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_tan.o: libm/machine/amdgcn/v64sf_tan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_tan.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_tan.o `test -f 'libm/machine/amdgcn/v64sf_tan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_tan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_tan.c' object='libm/machine/amdgcn/libm_a-v64sf_tan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_tan.o `test -f 'libm/machine/amdgcn/v64sf_tan.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_tan.c + +libm/machine/amdgcn/libm_a-v64sf_tan.obj: libm/machine/amdgcn/v64sf_tan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_tan.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_tan.obj `if test -f 'libm/machine/amdgcn/v64sf_tan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_tan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_tan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_tan.c' object='libm/machine/amdgcn/libm_a-v64sf_tan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_tan.obj `if test -f 'libm/machine/amdgcn/v64sf_tan.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_tan.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_tan.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_tanh.o: libm/machine/amdgcn/v64sf_tanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_tanh.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_tanh.o `test -f 'libm/machine/amdgcn/v64sf_tanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_tanh.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_tanh.c' object='libm/machine/amdgcn/libm_a-v64sf_tanh.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_tanh.o `test -f 'libm/machine/amdgcn/v64sf_tanh.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_tanh.c + +libm/machine/amdgcn/libm_a-v64sf_tanh.obj: libm/machine/amdgcn/v64sf_tanh.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_tanh.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_tanh.obj `if test -f 'libm/machine/amdgcn/v64sf_tanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_tanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_tanh.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tanh.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_tanh.c' object='libm/machine/amdgcn/libm_a-v64sf_tanh.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_tanh.obj `if test -f 'libm/machine/amdgcn/v64sf_tanh.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_tanh.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_tanh.c'; fi` + +libm/machine/amdgcn/libm_a-v64sf_tgamma.o: libm/machine/amdgcn/v64sf_tgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_tgamma.o -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_tgamma.o `test -f 'libm/machine/amdgcn/v64sf_tgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_tgamma.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_tgamma.c' object='libm/machine/amdgcn/libm_a-v64sf_tgamma.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_tgamma.o `test -f 'libm/machine/amdgcn/v64sf_tgamma.c' || echo '$(srcdir)/'`libm/machine/amdgcn/v64sf_tgamma.c + +libm/machine/amdgcn/libm_a-v64sf_tgamma.obj: libm/machine/amdgcn/v64sf_tgamma.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/amdgcn/libm_a-v64sf_tgamma.obj -MD -MP -MF libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Tpo -c -o libm/machine/amdgcn/libm_a-v64sf_tgamma.obj `if test -f 'libm/machine/amdgcn/v64sf_tgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_tgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_tgamma.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Tpo libm/machine/amdgcn/$(DEPDIR)/libm_a-v64sf_tgamma.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libm/machine/amdgcn/v64sf_tgamma.c' object='libm/machine/amdgcn/libm_a-v64sf_tgamma.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -c -o libm/machine/amdgcn/libm_a-v64sf_tgamma.obj `if test -f 'libm/machine/amdgcn/v64sf_tgamma.c'; then $(CYGPATH_W) 'libm/machine/amdgcn/v64sf_tgamma.c'; else $(CYGPATH_W) '$(srcdir)/libm/machine/amdgcn/v64sf_tgamma.c'; fi` + libm/machine/arm/libm_a-e_sqrt.o: libm/machine/arm/e_sqrt.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libm_a_CPPFLAGS) $(CPPFLAGS) $(libm_a_CFLAGS) $(CFLAGS) -MT libm/machine/arm/libm_a-e_sqrt.o -MD -MP -MF libm/machine/arm/$(DEPDIR)/libm_a-e_sqrt.Tpo -c -o libm/machine/arm/libm_a-e_sqrt.o `test -f 'libm/machine/arm/e_sqrt.c' || echo '$(srcdir)/'`libm/machine/arm/e_sqrt.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libm/machine/arm/$(DEPDIR)/libm_a-e_sqrt.Tpo libm/machine/arm/$(DEPDIR)/libm_a-e_sqrt.Po @@ -46518,6 +48291,8 @@ distclean-generic: -rm -f libm/fenv/$(am__dirstamp) -rm -f libm/machine/aarch64/$(DEPDIR)/$(am__dirstamp) -rm -f libm/machine/aarch64/$(am__dirstamp) + -rm -f libm/machine/amdgcn/$(DEPDIR)/$(am__dirstamp) + -rm -f libm/machine/amdgcn/$(am__dirstamp) -rm -f libm/machine/arm/$(DEPDIR)/$(am__dirstamp) -rm -f libm/machine/arm/$(am__dirstamp) -rm -f libm/machine/i386/$(DEPDIR)/$(am__dirstamp) @@ -46555,7 +48330,7 @@ clean-am: clean-aminfo clean-checkPROGRAMS clean-generic clean-local \ distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf libc/argz/$(DEPDIR) libc/ctype/$(DEPDIR) libc/errno/$(DEPDIR) libc/iconv/ccs/$(DEPDIR) libc/iconv/ces/$(DEPDIR) libc/iconv/lib/$(DEPDIR) libc/locale/$(DEPDIR) libc/machine/aarch64/$(DEPDIR) libc/machine/amdgcn/$(DEPDIR) libc/machine/arc/$(DEPDIR) libc/machine/arm/$(DEPDIR) libc/machine/bfin/$(DEPDIR) libc/machine/cr16/$(DEPDIR) libc/machine/cris/$(DEPDIR) libc/machine/crx/$(DEPDIR) libc/machine/csky/$(DEPDIR) libc/machine/d10v/$(DEPDIR) libc/machine/d30v/$(DEPDIR) libc/machine/epiphany/$(DEPDIR) libc/machine/fr30/$(DEPDIR) libc/machine/frv/$(DEPDIR) libc/machine/ft32/$(DEPDIR) libc/machine/h8300/$(DEPDIR) libc/machine/h8500/$(DEPDIR) libc/machine/hppa/$(DEPDIR) libc/machine/i386/$(DEPDIR) libc/machine/i960/$(DEPDIR) libc/machine/iq2000/$(DEPDIR) libc/machine/lm32/$(DEPDIR) libc/machine/m32c/$(DEPDIR) libc/machine/m32r/$(DEPDIR) libc/machine/m68hc11/$(DEPDIR) libc/machine/m68k/$(DEPDIR) libc/machine/m88k/$(DEPDIR) libc/machine/mep/$(DEPDIR) libc/machine/microblaze/$(DEPDIR) libc/machine/mips/$(DEPDIR) libc/machine/mn10200/$(DEPDIR) libc/machine/mn10300/$(DEPDIR) libc/machine/moxie/$(DEPDIR) libc/machine/msp430/$(DEPDIR) libc/machine/mt/$(DEPDIR) libc/machine/nds32/$(DEPDIR) libc/machine/necv70/$(DEPDIR) libc/machine/nvptx/$(DEPDIR) libc/machine/or1k/$(DEPDIR) libc/machine/powerpc/$(DEPDIR) libc/machine/riscv/$(DEPDIR) libc/machine/rl78/$(DEPDIR) libc/machine/rx/$(DEPDIR) libc/machine/sh/$(DEPDIR) libc/machine/sparc/$(DEPDIR) libc/machine/spu/$(DEPDIR) libc/machine/tic4x/$(DEPDIR) libc/machine/tic6x/$(DEPDIR) libc/machine/tic80/$(DEPDIR) libc/machine/v850/$(DEPDIR) libc/machine/visium/$(DEPDIR) libc/machine/w65/$(DEPDIR) libc/machine/x86_64/$(DEPDIR) libc/machine/xc16x/$(DEPDIR) libc/machine/xstormy16/$(DEPDIR) libc/machine/z8k/$(DEPDIR) libc/misc/$(DEPDIR) libc/posix/$(DEPDIR) libc/reent/$(DEPDIR) libc/search/$(DEPDIR) libc/signal/$(DEPDIR) libc/ssp/$(DEPDIR) libc/stdio/$(DEPDIR) libc/stdio64/$(DEPDIR) libc/stdlib/$(DEPDIR) libc/string/$(DEPDIR) libc/sys/a29khif/$(DEPDIR) libc/sys/amdgcn/$(DEPDIR) libc/sys/arm/$(DEPDIR) libc/sys/d10v/$(DEPDIR) libc/sys/epiphany/$(DEPDIR) libc/sys/h8300hms/$(DEPDIR) libc/sys/h8500hms/$(DEPDIR) libc/sys/m88kbug/$(DEPDIR) libc/sys/mmixware/$(DEPDIR) libc/sys/netware/$(DEPDIR) libc/sys/or1k/$(DEPDIR) libc/sys/rdos/$(DEPDIR) libc/sys/rtems/$(DEPDIR) libc/sys/sh/$(DEPDIR) libc/sys/sysmec/$(DEPDIR) libc/sys/sysnec810/$(DEPDIR) libc/sys/sysnecv850/$(DEPDIR) libc/sys/sysvi386/$(DEPDIR) libc/sys/sysvnecv70/$(DEPDIR) libc/sys/tirtos/$(DEPDIR) libc/sys/w65/$(DEPDIR) libc/sys/z8ksim/$(DEPDIR) libc/syscalls/$(DEPDIR) libc/time/$(DEPDIR) libc/unix/$(DEPDIR) libc/xdr/$(DEPDIR) libm/common/$(DEPDIR) libm/complex/$(DEPDIR) libm/fenv/$(DEPDIR) libm/machine/aarch64/$(DEPDIR) libm/machine/arm/$(DEPDIR) libm/machine/i386/$(DEPDIR) libm/machine/mips/$(DEPDIR) libm/machine/nds32/$(DEPDIR) libm/machine/powerpc/$(DEPDIR) libm/machine/pru/$(DEPDIR) libm/machine/riscv/$(DEPDIR) libm/machine/sparc/$(DEPDIR) libm/machine/spu/$(DEPDIR) libm/machine/x86_64/$(DEPDIR) libm/math/$(DEPDIR) libm/mathfp/$(DEPDIR) libm/test/$(DEPDIR) + -rm -rf libc/argz/$(DEPDIR) libc/ctype/$(DEPDIR) libc/errno/$(DEPDIR) libc/iconv/ccs/$(DEPDIR) libc/iconv/ces/$(DEPDIR) libc/iconv/lib/$(DEPDIR) libc/locale/$(DEPDIR) libc/machine/aarch64/$(DEPDIR) libc/machine/amdgcn/$(DEPDIR) libc/machine/arc/$(DEPDIR) libc/machine/arm/$(DEPDIR) libc/machine/bfin/$(DEPDIR) libc/machine/cr16/$(DEPDIR) libc/machine/cris/$(DEPDIR) libc/machine/crx/$(DEPDIR) libc/machine/csky/$(DEPDIR) libc/machine/d10v/$(DEPDIR) libc/machine/d30v/$(DEPDIR) libc/machine/epiphany/$(DEPDIR) libc/machine/fr30/$(DEPDIR) libc/machine/frv/$(DEPDIR) libc/machine/ft32/$(DEPDIR) libc/machine/h8300/$(DEPDIR) libc/machine/h8500/$(DEPDIR) libc/machine/hppa/$(DEPDIR) libc/machine/i386/$(DEPDIR) libc/machine/i960/$(DEPDIR) libc/machine/iq2000/$(DEPDIR) libc/machine/lm32/$(DEPDIR) libc/machine/m32c/$(DEPDIR) libc/machine/m32r/$(DEPDIR) libc/machine/m68hc11/$(DEPDIR) libc/machine/m68k/$(DEPDIR) libc/machine/m88k/$(DEPDIR) libc/machine/mep/$(DEPDIR) libc/machine/microblaze/$(DEPDIR) libc/machine/mips/$(DEPDIR) libc/machine/mn10200/$(DEPDIR) libc/machine/mn10300/$(DEPDIR) libc/machine/moxie/$(DEPDIR) libc/machine/msp430/$(DEPDIR) libc/machine/mt/$(DEPDIR) libc/machine/nds32/$(DEPDIR) libc/machine/necv70/$(DEPDIR) libc/machine/nvptx/$(DEPDIR) libc/machine/or1k/$(DEPDIR) libc/machine/powerpc/$(DEPDIR) libc/machine/riscv/$(DEPDIR) libc/machine/rl78/$(DEPDIR) libc/machine/rx/$(DEPDIR) libc/machine/sh/$(DEPDIR) libc/machine/sparc/$(DEPDIR) libc/machine/spu/$(DEPDIR) libc/machine/tic4x/$(DEPDIR) libc/machine/tic6x/$(DEPDIR) libc/machine/tic80/$(DEPDIR) libc/machine/v850/$(DEPDIR) libc/machine/visium/$(DEPDIR) libc/machine/w65/$(DEPDIR) libc/machine/x86_64/$(DEPDIR) libc/machine/xc16x/$(DEPDIR) libc/machine/xstormy16/$(DEPDIR) libc/machine/z8k/$(DEPDIR) libc/misc/$(DEPDIR) libc/posix/$(DEPDIR) libc/reent/$(DEPDIR) libc/search/$(DEPDIR) libc/signal/$(DEPDIR) libc/ssp/$(DEPDIR) libc/stdio/$(DEPDIR) libc/stdio64/$(DEPDIR) libc/stdlib/$(DEPDIR) libc/string/$(DEPDIR) libc/sys/a29khif/$(DEPDIR) libc/sys/amdgcn/$(DEPDIR) libc/sys/arm/$(DEPDIR) libc/sys/d10v/$(DEPDIR) libc/sys/epiphany/$(DEPDIR) libc/sys/h8300hms/$(DEPDIR) libc/sys/h8500hms/$(DEPDIR) libc/sys/m88kbug/$(DEPDIR) libc/sys/mmixware/$(DEPDIR) libc/sys/netware/$(DEPDIR) libc/sys/or1k/$(DEPDIR) libc/sys/rdos/$(DEPDIR) libc/sys/rtems/$(DEPDIR) libc/sys/sh/$(DEPDIR) libc/sys/sysmec/$(DEPDIR) libc/sys/sysnec810/$(DEPDIR) libc/sys/sysnecv850/$(DEPDIR) libc/sys/sysvi386/$(DEPDIR) libc/sys/sysvnecv70/$(DEPDIR) libc/sys/tirtos/$(DEPDIR) libc/sys/w65/$(DEPDIR) libc/sys/z8ksim/$(DEPDIR) libc/syscalls/$(DEPDIR) libc/time/$(DEPDIR) libc/unix/$(DEPDIR) libc/xdr/$(DEPDIR) libm/common/$(DEPDIR) libm/complex/$(DEPDIR) libm/fenv/$(DEPDIR) libm/machine/aarch64/$(DEPDIR) libm/machine/amdgcn/$(DEPDIR) libm/machine/arm/$(DEPDIR) libm/machine/i386/$(DEPDIR) libm/machine/mips/$(DEPDIR) libm/machine/nds32/$(DEPDIR) libm/machine/powerpc/$(DEPDIR) libm/machine/pru/$(DEPDIR) libm/machine/riscv/$(DEPDIR) libm/machine/sparc/$(DEPDIR) libm/machine/spu/$(DEPDIR) libm/machine/x86_64/$(DEPDIR) libm/math/$(DEPDIR) libm/mathfp/$(DEPDIR) libm/test/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-DEJAGNU distclean-compile \ distclean-generic distclean-hdr distclean-local distclean-tags @@ -46693,7 +48468,7 @@ installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf libc/argz/$(DEPDIR) libc/ctype/$(DEPDIR) libc/errno/$(DEPDIR) libc/iconv/ccs/$(DEPDIR) libc/iconv/ces/$(DEPDIR) libc/iconv/lib/$(DEPDIR) libc/locale/$(DEPDIR) libc/machine/aarch64/$(DEPDIR) libc/machine/amdgcn/$(DEPDIR) libc/machine/arc/$(DEPDIR) libc/machine/arm/$(DEPDIR) libc/machine/bfin/$(DEPDIR) libc/machine/cr16/$(DEPDIR) libc/machine/cris/$(DEPDIR) libc/machine/crx/$(DEPDIR) libc/machine/csky/$(DEPDIR) libc/machine/d10v/$(DEPDIR) libc/machine/d30v/$(DEPDIR) libc/machine/epiphany/$(DEPDIR) libc/machine/fr30/$(DEPDIR) libc/machine/frv/$(DEPDIR) libc/machine/ft32/$(DEPDIR) libc/machine/h8300/$(DEPDIR) libc/machine/h8500/$(DEPDIR) libc/machine/hppa/$(DEPDIR) libc/machine/i386/$(DEPDIR) libc/machine/i960/$(DEPDIR) libc/machine/iq2000/$(DEPDIR) libc/machine/lm32/$(DEPDIR) libc/machine/m32c/$(DEPDIR) libc/machine/m32r/$(DEPDIR) libc/machine/m68hc11/$(DEPDIR) libc/machine/m68k/$(DEPDIR) libc/machine/m88k/$(DEPDIR) libc/machine/mep/$(DEPDIR) libc/machine/microblaze/$(DEPDIR) libc/machine/mips/$(DEPDIR) libc/machine/mn10200/$(DEPDIR) libc/machine/mn10300/$(DEPDIR) libc/machine/moxie/$(DEPDIR) libc/machine/msp430/$(DEPDIR) libc/machine/mt/$(DEPDIR) libc/machine/nds32/$(DEPDIR) libc/machine/necv70/$(DEPDIR) libc/machine/nvptx/$(DEPDIR) libc/machine/or1k/$(DEPDIR) libc/machine/powerpc/$(DEPDIR) libc/machine/riscv/$(DEPDIR) libc/machine/rl78/$(DEPDIR) libc/machine/rx/$(DEPDIR) libc/machine/sh/$(DEPDIR) libc/machine/sparc/$(DEPDIR) libc/machine/spu/$(DEPDIR) libc/machine/tic4x/$(DEPDIR) libc/machine/tic6x/$(DEPDIR) libc/machine/tic80/$(DEPDIR) libc/machine/v850/$(DEPDIR) libc/machine/visium/$(DEPDIR) libc/machine/w65/$(DEPDIR) libc/machine/x86_64/$(DEPDIR) libc/machine/xc16x/$(DEPDIR) libc/machine/xstormy16/$(DEPDIR) libc/machine/z8k/$(DEPDIR) libc/misc/$(DEPDIR) libc/posix/$(DEPDIR) libc/reent/$(DEPDIR) libc/search/$(DEPDIR) libc/signal/$(DEPDIR) libc/ssp/$(DEPDIR) libc/stdio/$(DEPDIR) libc/stdio64/$(DEPDIR) libc/stdlib/$(DEPDIR) libc/string/$(DEPDIR) libc/sys/a29khif/$(DEPDIR) libc/sys/amdgcn/$(DEPDIR) libc/sys/arm/$(DEPDIR) libc/sys/d10v/$(DEPDIR) libc/sys/epiphany/$(DEPDIR) libc/sys/h8300hms/$(DEPDIR) libc/sys/h8500hms/$(DEPDIR) libc/sys/m88kbug/$(DEPDIR) libc/sys/mmixware/$(DEPDIR) libc/sys/netware/$(DEPDIR) libc/sys/or1k/$(DEPDIR) libc/sys/rdos/$(DEPDIR) libc/sys/rtems/$(DEPDIR) libc/sys/sh/$(DEPDIR) libc/sys/sysmec/$(DEPDIR) libc/sys/sysnec810/$(DEPDIR) libc/sys/sysnecv850/$(DEPDIR) libc/sys/sysvi386/$(DEPDIR) libc/sys/sysvnecv70/$(DEPDIR) libc/sys/tirtos/$(DEPDIR) libc/sys/w65/$(DEPDIR) libc/sys/z8ksim/$(DEPDIR) libc/syscalls/$(DEPDIR) libc/time/$(DEPDIR) libc/unix/$(DEPDIR) libc/xdr/$(DEPDIR) libm/common/$(DEPDIR) libm/complex/$(DEPDIR) libm/fenv/$(DEPDIR) libm/machine/aarch64/$(DEPDIR) libm/machine/arm/$(DEPDIR) libm/machine/i386/$(DEPDIR) libm/machine/mips/$(DEPDIR) libm/machine/nds32/$(DEPDIR) libm/machine/powerpc/$(DEPDIR) libm/machine/pru/$(DEPDIR) libm/machine/riscv/$(DEPDIR) libm/machine/sparc/$(DEPDIR) libm/machine/spu/$(DEPDIR) libm/machine/x86_64/$(DEPDIR) libm/math/$(DEPDIR) libm/mathfp/$(DEPDIR) libm/test/$(DEPDIR) + -rm -rf libc/argz/$(DEPDIR) libc/ctype/$(DEPDIR) libc/errno/$(DEPDIR) libc/iconv/ccs/$(DEPDIR) libc/iconv/ces/$(DEPDIR) libc/iconv/lib/$(DEPDIR) libc/locale/$(DEPDIR) libc/machine/aarch64/$(DEPDIR) libc/machine/amdgcn/$(DEPDIR) libc/machine/arc/$(DEPDIR) libc/machine/arm/$(DEPDIR) libc/machine/bfin/$(DEPDIR) libc/machine/cr16/$(DEPDIR) libc/machine/cris/$(DEPDIR) libc/machine/crx/$(DEPDIR) libc/machine/csky/$(DEPDIR) libc/machine/d10v/$(DEPDIR) libc/machine/d30v/$(DEPDIR) libc/machine/epiphany/$(DEPDIR) libc/machine/fr30/$(DEPDIR) libc/machine/frv/$(DEPDIR) libc/machine/ft32/$(DEPDIR) libc/machine/h8300/$(DEPDIR) libc/machine/h8500/$(DEPDIR) libc/machine/hppa/$(DEPDIR) libc/machine/i386/$(DEPDIR) libc/machine/i960/$(DEPDIR) libc/machine/iq2000/$(DEPDIR) libc/machine/lm32/$(DEPDIR) libc/machine/m32c/$(DEPDIR) libc/machine/m32r/$(DEPDIR) libc/machine/m68hc11/$(DEPDIR) libc/machine/m68k/$(DEPDIR) libc/machine/m88k/$(DEPDIR) libc/machine/mep/$(DEPDIR) libc/machine/microblaze/$(DEPDIR) libc/machine/mips/$(DEPDIR) libc/machine/mn10200/$(DEPDIR) libc/machine/mn10300/$(DEPDIR) libc/machine/moxie/$(DEPDIR) libc/machine/msp430/$(DEPDIR) libc/machine/mt/$(DEPDIR) libc/machine/nds32/$(DEPDIR) libc/machine/necv70/$(DEPDIR) libc/machine/nvptx/$(DEPDIR) libc/machine/or1k/$(DEPDIR) libc/machine/powerpc/$(DEPDIR) libc/machine/riscv/$(DEPDIR) libc/machine/rl78/$(DEPDIR) libc/machine/rx/$(DEPDIR) libc/machine/sh/$(DEPDIR) libc/machine/sparc/$(DEPDIR) libc/machine/spu/$(DEPDIR) libc/machine/tic4x/$(DEPDIR) libc/machine/tic6x/$(DEPDIR) libc/machine/tic80/$(DEPDIR) libc/machine/v850/$(DEPDIR) libc/machine/visium/$(DEPDIR) libc/machine/w65/$(DEPDIR) libc/machine/x86_64/$(DEPDIR) libc/machine/xc16x/$(DEPDIR) libc/machine/xstormy16/$(DEPDIR) libc/machine/z8k/$(DEPDIR) libc/misc/$(DEPDIR) libc/posix/$(DEPDIR) libc/reent/$(DEPDIR) libc/search/$(DEPDIR) libc/signal/$(DEPDIR) libc/ssp/$(DEPDIR) libc/stdio/$(DEPDIR) libc/stdio64/$(DEPDIR) libc/stdlib/$(DEPDIR) libc/string/$(DEPDIR) libc/sys/a29khif/$(DEPDIR) libc/sys/amdgcn/$(DEPDIR) libc/sys/arm/$(DEPDIR) libc/sys/d10v/$(DEPDIR) libc/sys/epiphany/$(DEPDIR) libc/sys/h8300hms/$(DEPDIR) libc/sys/h8500hms/$(DEPDIR) libc/sys/m88kbug/$(DEPDIR) libc/sys/mmixware/$(DEPDIR) libc/sys/netware/$(DEPDIR) libc/sys/or1k/$(DEPDIR) libc/sys/rdos/$(DEPDIR) libc/sys/rtems/$(DEPDIR) libc/sys/sh/$(DEPDIR) libc/sys/sysmec/$(DEPDIR) libc/sys/sysnec810/$(DEPDIR) libc/sys/sysnecv850/$(DEPDIR) libc/sys/sysvi386/$(DEPDIR) libc/sys/sysvnecv70/$(DEPDIR) libc/sys/tirtos/$(DEPDIR) libc/sys/w65/$(DEPDIR) libc/sys/z8ksim/$(DEPDIR) libc/syscalls/$(DEPDIR) libc/time/$(DEPDIR) libc/unix/$(DEPDIR) libc/xdr/$(DEPDIR) libm/common/$(DEPDIR) libm/complex/$(DEPDIR) libm/fenv/$(DEPDIR) libm/machine/aarch64/$(DEPDIR) libm/machine/amdgcn/$(DEPDIR) libm/machine/arm/$(DEPDIR) libm/machine/i386/$(DEPDIR) libm/machine/mips/$(DEPDIR) libm/machine/nds32/$(DEPDIR) libm/machine/powerpc/$(DEPDIR) libm/machine/pru/$(DEPDIR) libm/machine/riscv/$(DEPDIR) libm/machine/sparc/$(DEPDIR) libm/machine/spu/$(DEPDIR) libm/machine/x86_64/$(DEPDIR) libm/math/$(DEPDIR) libm/mathfp/$(DEPDIR) libm/test/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-local diff --git a/newlib/configure b/newlib/configure index 0b6ec15e9..f29aca5d3 100755 --- a/newlib/configure +++ b/newlib/configure @@ -623,6 +623,8 @@ HAVE_LIBM_MACHINE_I386_FALSE HAVE_LIBM_MACHINE_I386_TRUE HAVE_LIBM_MACHINE_ARM_FALSE HAVE_LIBM_MACHINE_ARM_TRUE +HAVE_LIBM_MACHINE_AMDGCN_FALSE +HAVE_LIBM_MACHINE_AMDGCN_TRUE HAVE_LIBM_MACHINE_AARCH64_FALSE HAVE_LIBM_MACHINE_AARCH64_TRUE HAS_NDS32_FPU_DP_FALSE @@ -6216,6 +6218,14 @@ else HAVE_LIBM_MACHINE_AARCH64_FALSE= fi + if test "${libm_machine_dir}" = "amdgcn"; then + HAVE_LIBM_MACHINE_AMDGCN_TRUE= + HAVE_LIBM_MACHINE_AMDGCN_FALSE='#' +else + HAVE_LIBM_MACHINE_AMDGCN_TRUE='#' + HAVE_LIBM_MACHINE_AMDGCN_FALSE= +fi + if test "${libm_machine_dir}" = "arm"; then HAVE_LIBM_MACHINE_ARM_TRUE= HAVE_LIBM_MACHINE_ARM_FALSE='#' @@ -7875,6 +7885,10 @@ if test -z "${HAVE_LIBM_MACHINE_AARCH64_TRUE}" && test -z "${HAVE_LIBM_MACHINE_A as_fn_error $? "conditional \"HAVE_LIBM_MACHINE_AARCH64\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_LIBM_MACHINE_AMDGCN_TRUE}" && test -z "${HAVE_LIBM_MACHINE_AMDGCN_FALSE}"; then + as_fn_error $? "conditional \"HAVE_LIBM_MACHINE_AMDGCN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_LIBM_MACHINE_ARM_TRUE}" && test -z "${HAVE_LIBM_MACHINE_ARM_FALSE}"; then as_fn_error $? "conditional \"HAVE_LIBM_MACHINE_ARM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/newlib/configure.host b/newlib/configure.host index 32d1436ba..7157877ff 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -119,6 +119,7 @@ case "${host_cpu}" in amdgcn*) newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__" machine_dir=amdgcn + libm_machine_dir=amdgcn newlib_cv_initfinit_array=yes ;; arc*) diff --git a/newlib/libm/Makefile.inc b/newlib/libm/Makefile.inc index 7fda120e5..9d1469555 100644 --- a/newlib/libm/Makefile.inc +++ b/newlib/libm/Makefile.inc @@ -51,6 +51,9 @@ include %D%/test/Makefile.inc if HAVE_LIBM_MACHINE_AARCH64 include %D%/machine/aarch64/Makefile.inc endif +if HAVE_LIBM_MACHINE_AMDGCN +include %D%/machine/amdgcn/Makefile.inc +endif if HAVE_LIBM_MACHINE_ARM include %D%/machine/arm/Makefile.inc endif diff --git a/newlib/libm/acinclude.m4 b/newlib/libm/acinclude.m4 index 0be95a3b2..f7f9f534f 100644 --- a/newlib/libm/acinclude.m4 +++ b/newlib/libm/acinclude.m4 @@ -4,7 +4,7 @@ m4_include([libm/machine/nds32/acinclude.m4]) dnl Define HAVE_LIBM_MACHINE_ automake conditionals. m4_foreach_w([MACHINE], [ - aarch64 arm i386 mips nds32 powerpc pru sparc spu riscv x86_64 + aarch64 amdgcn arm i386 mips nds32 powerpc pru sparc spu riscv x86_64 ], [dnl AM_CONDITIONAL([HAVE_LIBM_MACHINE_]m4_toupper(MACHINE), test "${libm_machine_dir}" = "MACHINE") ]) diff --git a/newlib/libm/machine/amdgcn/Makefile.inc b/newlib/libm/machine/amdgcn/Makefile.inc new file mode 100644 index 000000000..9d6a18514 --- /dev/null +++ b/newlib/libm/machine/amdgcn/Makefile.inc @@ -0,0 +1,91 @@ +%C%_src = \ + %D%/v64_mathcnst.c \ + %D%/v64_reent.c \ + %D%/v64df_acos.c \ + %D%/v64df_acosh.c \ + %D%/v64df_asin.c \ + %D%/v64df_asine.c \ + %D%/v64df_asinh.c \ + %D%/v64df_atan.c \ + %D%/v64df_atan2.c \ + %D%/v64df_atangent.c \ + %D%/v64df_atanh.c \ + %D%/v64df_copysign.c \ + %D%/v64df_cos.c \ + %D%/v64df_cosh.c \ + %D%/v64df_erf.c \ + %D%/v64df_exp.c \ + %D%/v64df_exp2.c \ + %D%/v64df_finite.c \ + %D%/v64df_fmod.c \ + %D%/v64df_gamma.c \ + %D%/v64df_hypot.c \ + %D%/v64df_ilogb.c \ + %D%/v64df_isnan.c \ + %D%/v64df_ispos.c \ + %D%/v64df_lgamma.c \ + %D%/v64df_lgamma_r.c \ + %D%/v64df_log.c \ + %D%/v64df_log10.c \ + %D%/v64df_log2.c \ + %D%/v64df_modf.c \ + %D%/v64df_numtest.c \ + %D%/v64df_pow.c \ + %D%/v64df_remainder.c \ + %D%/v64df_rint.c \ + %D%/v64df_scalb.c \ + %D%/v64df_scalbn.c \ + %D%/v64df_signif.c \ + %D%/v64df_sin.c \ + %D%/v64df_sine.c \ + %D%/v64df_sineh.c \ + %D%/v64df_sinh.c \ + %D%/v64df_sqrt.c \ + %D%/v64df_tan.c \ + %D%/v64df_tanh.c \ + %D%/v64df_tgamma.c \ + %D%/v64sf_acos.c \ + %D%/v64sf_acosh.c \ + %D%/v64sf_asin.c \ + %D%/v64sf_asine.c \ + %D%/v64sf_asinh.c \ + %D%/v64sf_atan.c \ + %D%/v64sf_atan2.c \ + %D%/v64sf_atangent.c \ + %D%/v64sf_atanh.c \ + %D%/v64sf_copysign.c \ + %D%/v64sf_cos.c \ + %D%/v64sf_cosh.c \ + %D%/v64sf_erf.c \ + %D%/v64sf_exp.c \ + %D%/v64sf_exp2.c \ + %D%/v64sf_finite.c \ + %D%/v64sf_fmod.c \ + %D%/v64sf_gamma.c \ + %D%/v64sf_hypot.c \ + %D%/v64sf_ilogb.c \ + %D%/v64sf_isnan.c \ + %D%/v64sf_ispos.c \ + %D%/v64sf_lgamma.c \ + %D%/v64sf_lgamma_r.c \ + %D%/v64sf_log.c \ + %D%/v64sf_log10.c \ + %D%/v64sf_log2.c \ + %D%/v64sf_modf.c \ + %D%/v64sf_numtest.c \ + %D%/v64sf_pow.c \ + %D%/v64sf_remainder.c \ + %D%/v64sf_rint.c \ + %D%/v64sf_scalb.c \ + %D%/v64sf_scalbn.c \ + %D%/v64sf_signif.c \ + %D%/v64sf_sin.c \ + %D%/v64sf_sine.c \ + %D%/v64sf_sineh.c \ + %D%/v64sf_sinh.c \ + %D%/v64sf_sqrt.c \ + %D%/v64sf_tan.c \ + %D%/v64sf_tanh.c \ + %D%/v64sf_tgamma.c + +libm_a_SOURCES += $(%C%_src) diff --git a/newlib/libm/machine/amdgcn/amdgcn_veclib.h b/newlib/libm/machine/amdgcn/amdgcn_veclib.h new file mode 100644 index 000000000..bd67740ac --- /dev/null +++ b/newlib/libm/machine/amdgcn/amdgcn_veclib.h @@ -0,0 +1,321 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* Macro library used to help during conversion of scalar math functions to + vectorized SIMD equivalents on AMD GCN. */ + +/* Optimization at -O2 and above currently result in ICEs when converting + between vector types. */ +#pragma GCC optimize ("O1") + +typedef float v2sf __attribute__ ((vector_size (8))); +typedef float v4sf __attribute__ ((vector_size (16))); +typedef float v8sf __attribute__ ((vector_size (32))); +typedef float v16sf __attribute__ ((vector_size (64))); +typedef float v32sf __attribute__ ((vector_size (128))); +typedef float v64sf __attribute__ ((vector_size (256))); + +typedef double v2df __attribute__ ((vector_size (16))); +typedef double v4df __attribute__ ((vector_size (32))); +typedef double v8df __attribute__ ((vector_size (64))); +typedef double v16df __attribute__ ((vector_size (128))); +typedef double v32df __attribute__ ((vector_size (256))); +typedef double v64df __attribute__ ((vector_size (512))); + +typedef int v2si __attribute__ ((vector_size (8))); +typedef int v4si __attribute__ ((vector_size (16))); +typedef int v8si __attribute__ ((vector_size (32))); +typedef int v16si __attribute__ ((vector_size (64))); +typedef int v32si __attribute__ ((vector_size (128))); +typedef int v64si __attribute__ ((vector_size (256))); + +typedef unsigned int v64usi __attribute__ ((vector_size (256))); + +typedef long v2di __attribute__ ((vector_size (16))); +typedef long v4di __attribute__ ((vector_size (32))); +typedef long v8di __attribute__ ((vector_size (64))); +typedef long v16di __attribute__ ((vector_size (128))); +typedef long v32di __attribute__ ((vector_size (256))); +typedef long v64di __attribute__ ((vector_size (512))); + +typedef union { + v2sf t_v2sf; + v4sf t_v4sf; + v8sf t_v8sf; + v16sf t_v16sf; + v32sf t_v32sf; + v64sf t_v64sf; + + v2df t_v2df; + v4df t_v4df; + v8df t_v8df; + v16df t_v16df; + v32df t_v32df; + v64df t_v64df; + + v2si t_v2si; + v4si t_v4si; + v8si t_v8si; + v16si t_v16si; + v32si t_v32si; + v64si t_v64si; + + v64usi t_v64usi; + + v2di t_v2di; + v4di t_v4di; + v8di t_v8di; + v16di t_v16di; + v32di t_v32di; + v64di t_v64di; +} vector_union; + +/* Cast between vectors with a different number of elements. */ + +#define RESIZE_VECTOR(to_t, from) \ +({ \ + __auto_type __from = (from); \ + *((to_t *) &__from); \ +}) + +/* Bit-wise cast vector FROM to type TO_T. */ + +#define CAST_VECTOR(to_t, from) \ +({ \ + _Static_assert (sizeof (to_t) == sizeof (from)); \ + union { \ + typeof (from) __from; \ + to_t __to; \ + } __tmp; \ + __tmp.__from = (from); \ + __tmp.__to; \ +}) + +#define NO_COND __mask + +/* Note - __mask is _not_ accounted for in VECTOR_MERGE! */ +#define VECTOR_MERGE(vec1, vec2, cond) \ +({ \ + _Static_assert (__builtin_types_compatible_p (typeof (vec1), typeof (vec2))); \ + union { \ + typeof (vec1) val; \ + v64si t_v64si; \ + v64di t_v64di; \ + } __vec1, __vec2, __res; \ + __vec1.val = (vec1); \ + __vec2.val = (vec2); \ + __builtin_choose_expr ( \ + sizeof (vec1) == sizeof (v64si), \ + ({ \ + v64si __bitmask = __builtin_convertvector ((cond), v64si); \ + __res.t_v64si = (__vec1.t_v64si & __bitmask) \ + | (__vec2.t_v64si & ~__bitmask); \ + }), \ + ({ \ + v64di __bitmask = __builtin_convertvector ((cond), v64di); \ + __res.t_v64di = (__vec1.t_v64di & __bitmask) \ + | (__vec2.t_v64di & ~__bitmask); \ + })); \ + __res.val; \ +}) + +#define VECTOR_RETURN(retval, cond) \ +do { \ + _Static_assert (__builtin_types_compatible_p (typeof (retval), typeof (__ret))); \ + __auto_type __cond = __builtin_convertvector ((cond), typeof (__mask)); \ + __auto_type __retval = (retval); \ + VECTOR_COND_MOVE (__ret, __retval, __cond); \ + __mask &= ~__cond; \ +} while (0) + +#define VECTOR_COND_MOVE(var, val, cond) \ +do { \ + _Static_assert (__builtin_types_compatible_p (typeof (var), typeof (val))); \ + __auto_type __cond = __builtin_convertvector ((cond), typeof (__mask)); \ + var = VECTOR_MERGE ((val), var, __cond & __mask); \ +} while (0) + +#define VECTOR_IF(cond, cond_var) \ +{ \ + __auto_type cond_var = (cond); \ + __auto_type __inv_cond = ~cond_var; \ + if (!ALL_ZEROES_P (cond_var)) \ + { + +#define VECTOR_ELSEIF(cond, cond_var) \ + } \ + cond_var = __inv_cond & (cond); \ + __inv_cond &= ~(cond); \ + if (!ALL_ZEROES_P (cond_var)) \ + { + +#define VECTOR_ELSE(cond_var) \ + } \ + cond_var = __inv_cond; \ + if (!ALL_ZEROES_P (cond_var)) \ + { + +#define VECTOR_IF2(cond, cond_var, prev_cond_var) \ +{ \ + __auto_type cond_var = (cond) & __builtin_convertvector (prev_cond_var, typeof (cond)); \ + __auto_type __inv_cond = ~(cond); \ + if (!ALL_ZEROES_P (cond_var)) \ + { + +#define VECTOR_ELSEIF2(cond, cond_var, prev_cond_var) \ + } \ + cond_var = (cond) & __inv_cond & __builtin_convertvector (prev_cond_var, typeof (cond)); \ + __inv_cond &= ~(cond); \ + if (!ALL_ZEROES_P (cond_var)) \ + { + +#define VECTOR_ELSE2(cond_var, prev_cond_var) \ + } \ + cond_var = __inv_cond & __builtin_convertvector (prev_cond_var, typeof (__inv_cond)); \ + if (!ALL_ZEROES_P (cond_var)) \ + { + + +#define VECTOR_ENDIF \ + } \ +} + +#define VECTOR_INIT_AUX(x, type) \ +({ \ + typeof (x) __e = (x); \ + type __tmp = { \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e, \ + __e, __e, __e, __e, __e, __e, __e, __e }; \ + __tmp; \ +}) + +#define VECTOR_INIT(x) \ + (_Generic ((x), int: VECTOR_INIT_AUX ((x), v64si), \ + unsigned: VECTOR_INIT_AUX ((x), v64usi), \ + long: VECTOR_INIT_AUX ((x), v64di), \ + float: VECTOR_INIT_AUX ((x), v64sf), \ + double: VECTOR_INIT_AUX ((x), v64df))) + +#define VECTOR_WIDTH(TYPE) (sizeof (TYPE) / (V_SF_SI_P (TYPE) ? 4 : 8)) + +#define V_SF_SI_P(TYPE) \ + (__builtin_types_compatible_p (TYPE, v2sf) \ + || __builtin_types_compatible_p (TYPE, v4sf) \ + || __builtin_types_compatible_p (TYPE, v8sf) \ + || __builtin_types_compatible_p (TYPE, v16sf) \ + || __builtin_types_compatible_p (TYPE, v32sf) \ + || __builtin_types_compatible_p (TYPE, v64sf) \ + || __builtin_types_compatible_p (TYPE, v2si) \ + || __builtin_types_compatible_p (TYPE, v4si) \ + || __builtin_types_compatible_p (TYPE, v8si) \ + || __builtin_types_compatible_p (TYPE, v16si) \ + || __builtin_types_compatible_p (TYPE, v32si) \ + || __builtin_types_compatible_p (TYPE, v64si)) + +#define VECTOR_INIT_MASK(TYPE) \ +({ \ + vector_union __mask; \ + __mask.t_v64di = VECTOR_INIT (0L); \ + for (int i = 0; i < VECTOR_WIDTH (TYPE); i++) \ + __mask.t_v64di[i] = -1; \ + __builtin_choose_expr (V_SF_SI_P (TYPE), __mask.t_v64si, __mask.t_v64di); \ +}) + +#define ALL_ZEROES_P(x) (COND_TO_BITMASK(x) == 0) + +#define COND_TO_BITMASK(x) \ +({ \ + long __tmp = 0; \ + __auto_type __x = __builtin_convertvector((x), typeof (__mask)) & __mask; \ + __builtin_choose_expr (sizeof (__mask) == 256, \ + ({ asm ("v_cmp_ne_u32_e64 %0, %1, 0" \ + : "=Sg" (__tmp) \ + : "v" (__x)); }), \ + ({ asm ("v_cmp_ne_u64_e64 %0, %1, 0" \ + : "=Sg" (__tmp) \ + : "v" (__x)); })); \ + __tmp; \ +}) + +#define VECTOR_WHILE(cond, cond_var, prev_cond_var) \ +{ \ + __auto_type cond_var = prev_cond_var; \ + for (;;) { \ + cond_var &= (cond); \ + if (ALL_ZEROES_P (cond_var)) \ + break; + +#define VECTOR_ENDWHILE \ + } \ +} + +#define DEF_VS_MATH_FUNC(rettype, name, args...) \ + rettype v64sf##_##name##_aux (args, v64si __mask) + +#define DEF_VD_MATH_FUNC(rettype, name, args...) \ + rettype v64df##_##name##_aux (args, v64di __mask) + +/* Use this for predicate functions that take a vector of doubles but + return a vector of ints. */ +#define DEF_VD_MATH_PRED(rettype, name, args...) \ + rettype v64df##_##name##_aux (args, v64si __mask) + +#define FUNCTION_INIT(rettype) \ + rettype __ret + +#define FUNCTION_RETURN \ + return __ret + +#define DEF_VARIANT(FUN, TRET, TARG, COUNT) \ +v##COUNT##TRET \ +v##COUNT##TARG##_##FUN (v##COUNT##TARG __arg) \ +{ \ + __auto_type __upsized_arg = RESIZE_VECTOR (v64##TARG, __arg); \ + __auto_type __mask = VECTOR_INIT_MASK (v##COUNT##TRET); \ + __auto_type __result = v64##TARG##_##FUN##_aux (__upsized_arg, __mask); \ + return RESIZE_VECTOR (v##COUNT##TRET, __result); \ +} + +#define DEF_VARIANT2(FUN, TRET, TARG, COUNT) \ +v##COUNT##TRET \ +v##COUNT##TARG##_##FUN (v##COUNT##TARG __arg1, v##COUNT##TARG __arg2) \ +{ \ + __auto_type __upsized_arg1 = RESIZE_VECTOR (v64##TARG, __arg1); \ + __auto_type __upsized_arg2 = RESIZE_VECTOR (v64##TARG, __arg2); \ + __auto_type __mask = VECTOR_INIT_MASK (v##COUNT##TRET); \ + __auto_type __result = v64##TARG##_##FUN##_aux (__upsized_arg1, __upsized_arg2, __mask); \ + return RESIZE_VECTOR (v##COUNT##TRET, __result); \ +} + +#define DEF_VARIANTS(FUN, RETTYPE, ARGTYPE) \ + DEF_VARIANT (FUN, RETTYPE, ARGTYPE, 2) \ + DEF_VARIANT (FUN, RETTYPE, ARGTYPE, 4) \ + DEF_VARIANT (FUN, RETTYPE, ARGTYPE, 8) \ + DEF_VARIANT (FUN, RETTYPE, ARGTYPE, 16) \ + DEF_VARIANT (FUN, RETTYPE, ARGTYPE, 32) \ + DEF_VARIANT (FUN, RETTYPE, ARGTYPE, 64) + +#define DEF_VARIANTS2(FUN, RETTYPE, ARGTYPE) \ + DEF_VARIANT2 (FUN, RETTYPE, ARGTYPE, 2) \ + DEF_VARIANT2 (FUN, RETTYPE, ARGTYPE, 4) \ + DEF_VARIANT2 (FUN, RETTYPE, ARGTYPE, 8) \ + DEF_VARIANT2 (FUN, RETTYPE, ARGTYPE, 16) \ + DEF_VARIANT2 (FUN, RETTYPE, ARGTYPE, 32) \ + DEF_VARIANT2 (FUN, RETTYPE, ARGTYPE, 64) diff --git a/newlib/libm/machine/amdgcn/amdgcnmach.h b/newlib/libm/machine/amdgcn/amdgcnmach.h new file mode 100644 index 000000000..c9d5e41c4 --- /dev/null +++ b/newlib/libm/machine/amdgcn/amdgcnmach.h @@ -0,0 +1,242 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* Common header file for AMD GCN vector math routines. */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Copyright (c) 2017-2018 Arm Ltd. All rights reserved. + + SPDX-License-Identifier: BSD-3-Clause + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the company may not be used to endorse or promote + products derived from this software without specific prior written + permission. + + THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +/* This header is partially based on: + + newlib/libm/common/fdlibm.h + newlib/libm/mathfp/zmath.h + newlib/libm/common/math_errf.c + newlib/libm/common/math_config.h */ + +#include +#include +#include +#include "amdgcn_veclib.h" + +/* Vectorized versions of macros from newlib/libm/common/fdlibm.h */ + +#define EXTRACT_WORDS(hi, lo, x) \ +do { \ + vector_union __tmp; \ + __tmp.t_v64df = (x); \ + hi = __builtin_convertvector (__tmp.t_v64di >> 32, typeof (hi)); \ + lo = __builtin_convertvector (__tmp.t_v64di & 0xffffffff, typeof (lo)); \ +} while (0) + +#define INSERT_WORDS(x, hi, lo, cond) \ +do { \ + vector_union __tmp; \ + __tmp.t_v64di = __builtin_convertvector (hi, v64di) << 32 | \ + __builtin_convertvector (lo, v64di) & 0xffffffff; \ + VECTOR_COND_MOVE (x, __tmp.t_v64df, cond); \ +} while (0) + +#define GET_HIGH_WORD(x, y, cond) \ +do { \ + vector_union __tmp; \ + __tmp.t_v64df = (y); \ + VECTOR_COND_MOVE (x, __builtin_convertvector (__tmp.t_v64di >> 32, v64si), \ + (cond)); \ +} while (0) + +#define GET_LOW_WORD(x, y, cond) \ +do { \ + vector_union __tmp; \ + __tmp.t_v64df = (y); \ + VECTOR_COND_MOVE (x, __builtin_convertvector (__tmp.t_v64di & 0xffffffff, \ + v64si), (cond)); \ +} while (0) + +#define SET_HIGH_WORD(x, y, cond) \ +do { \ + vector_union __tmp; \ + __tmp.t_v64df = x; \ + __tmp.t_v64di &= 0xffffffff; \ + __tmp.t_v64di |= __builtin_convertvector (y, v64di) << 32; \ + VECTOR_COND_MOVE (x, __tmp.t_v64df, (cond)); \ +} while (0) + +#define SET_LOW_WORD(x, y, cond) \ +do { \ + vector_union __tmp; \ + __tmp.t_v64df = x; \ + __tmp.t_v64di &= 0xffffffff00000000ULL; \ + __tmp.t_v64di |= __builtin_convertvector (y, v64di); \ + VECTOR_COND_MOVE (x, __tmp.t_v64df, (cond)); \ + } while (0) + +#define GET_FLOAT_WORD(x, y, cond) \ + VECTOR_COND_MOVE(x, CAST_VECTOR(v64si, (y)), (cond)) + +#define SET_FLOAT_WORD(x, y, cond) \ + VECTOR_COND_MOVE(x, CAST_VECTOR(v64sf, (y)), (cond)) + +/* Definitions from newlib/libm/common/fdlibm.h */ + +#ifdef _FLT_LARGEST_EXPONENT_IS_NORMAL +#define FLT_UWORD_IS_FINITE(x) ((x) == (x)) +#define FLT_UWORD_IS_NAN(x) ((x) != (x)) +#define FLT_UWORD_IS_INFINITE(x) ((x) != (x)) +#define FLT_UWORD_MAX 0x7fffffff +#define FLT_UWORD_EXP_MAX 0x43010000 +#define FLT_UWORD_LOG_MAX 0x42b2d4fc +#define FLT_UWORD_LOG_2MAX 0x42b437e0 +#define HUGE ((float)0X1.FFFFFEP128) +#else +#define FLT_UWORD_IS_FINITE(x) ((x)<0x7f800000) +#define FLT_UWORD_IS_NAN(x) ((x)>0x7f800000) +#define FLT_UWORD_IS_INFINITE(x) ((x)==0x7f800000) +#define FLT_UWORD_MAX 0x7f7fffffL +#define FLT_UWORD_EXP_MAX 0x43000000 +#define FLT_UWORD_LOG_MAX 0x42b17217 +#define FLT_UWORD_LOG_2MAX 0x42b2d4fc +#define HUGE ((float)3.40282346638528860e+38) +#endif +#define FLT_UWORD_HALF_MAX (FLT_UWORD_MAX-(1L<<23)) +#define FLT_LARGEST_EXP (FLT_UWORD_MAX>>23) + +#ifdef _FLT_NO_DENORMALS +#define FLT_UWORD_IS_ZERO(x) ((x)<0x00800000) +#define FLT_UWORD_IS_SUBNORMAL(x) ((x) != (x)) +#define FLT_UWORD_MIN 0x00800000 +#define FLT_UWORD_EXP_MIN 0x42fc0000 +#define FLT_UWORD_LOG_MIN 0x42aeac50 +#define FLT_SMALLEST_EXP 1 +#else +#define FLT_UWORD_IS_ZERO(x) ((x)==0) +#define FLT_UWORD_IS_SUBNORMAL(x) ((x)<0x00800000) +#define FLT_UWORD_MIN 0x00000001 +#define FLT_UWORD_EXP_MIN 0x43160000 +#define FLT_UWORD_LOG_MIN 0x42cff1b5 +#define FLT_SMALLEST_EXP -22 +#endif + +/* Definitions from newlib/libm/mathfp/zmath.h */ + +#define NUM 3 +#define NAN 2 +#define INF 1 + +#define __PI 3.14159265358979323846 +#define __SQRT_HALF 0.70710678118654752440 +#define __PI_OVER_TWO 1.57079632679489661923132 +#define __INV_PI_OVER_TWO_2_24 10680707.430881743590348355907974 + +typedef const union +{ + unsigned int l[2]; + double d; +} udouble; + +typedef const union +{ + unsigned int l; + float f; +} ufloat; + +extern double BIGX; +extern double SMALLX; + +extern udouble z_infinity; +extern udouble z_notanum; +extern double z_rooteps; + +extern ufloat z_infinity_f; +extern ufloat z_notanum_f; +extern float z_rooteps_f; + +/* Vectorized versions of functions from newlib/libm/common/math_errf.c */ + +static v64sf v64sf_math_oflowf (v64si sign) +{ + errno = ERANGE; + return VECTOR_MERGE (VECTOR_INIT (-0x1p97f), + VECTOR_INIT (0x1p97f), sign) * 0x1p97f; +} + +static v64sf v64sf_math_uflowf (v64si sign) +{ + errno = ERANGE; + return VECTOR_MERGE (VECTOR_INIT (-0x1p-95f), + VECTOR_INIT (0x1p-95f), sign) * 0x1p-95f; +} + +/* Vectorized versions of functions from newlib/libm/common/math_config.h */ + +static v64si v64sf_issignalingf_inline (v64sf x) +{ + v64si __mask = VECTOR_INIT (-1); + v64si ix; + GET_FLOAT_WORD (ix, x, NO_COND); + /* Use IEEE-754 2008 encoding - i.e. exponent bits all 1, MSB of + significand is 0 for signalling NaN. */ + return ((ix & 0x7f800000) == 0x7f800000) & ((ix & 0x00400000) == 0); +} + +/* Vector extensions to sys/reent.h */ + +struct v64_reent { + v64si _v64si_gamma_signgam; +}; + +extern struct v64_reent *_v64_reent; +#define _V64_REENT _v64_reent + +#define _REENT_V64SI_SIGNGAM(ptr) ((ptr)->_v64si_gamma_signgam) + +/* Vector extensions to math.h */ + +#define v64si_signgam (*__v64si_signgam()) +extern v64si* __v64si_signgam (void); +#define __v64si_signgam_r(ptr) _REENT_V64SI_SIGNGAM(ptr) diff --git a/newlib/libm/machine/amdgcn/v64_mathcnst.c b/newlib/libm/machine/amdgcn/v64_mathcnst.c new file mode 100644 index 000000000..555df24d5 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64_mathcnst.c @@ -0,0 +1,52 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_mathcnst.c in Newlib. */ + +#include "amdgcnmach.h" + +double BIGX = 7.09782712893383973096e+02; +double SMALLX = -7.45133219101941108420e+02; +double z_rooteps = 7.4505859692e-9; +float z_rooteps_f = 1.7263349182589107e-4; + +ufloat z_hugeval_f = { 0x7f800000 }; +ufloat z_infinity_f = { 0x7f800000 }; +ufloat z_notanum_f = { 0x7fd00000 }; + +#ifdef __IEEE_BIG_ENDIAN +udouble z_hugeval = { 0x7ff00000, 0 }; +udouble z_infinity = { 0x7ff00000, 0 }; +udouble z_notanum = { 0xeff80000, 0 }; +#else /* __IEEE_LITTLE_ENDIAN */ +udouble z_hugeval = { 0, 0x7ff00000 }; +udouble z_infinity = { 0, 0x7ff00000 }; +udouble z_notanum = { 0, 0x7ff80000 }; +#endif /* __IEEE_LITTLE_ENDIAN */ + diff --git a/newlib/libm/machine/amdgcn/v64_reent.c b/newlib/libm/machine/amdgcn/v64_reent.c new file mode 100644 index 000000000..e9c2b35f4 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64_reent.c @@ -0,0 +1,24 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +#include "amdgcnmach.h" + +static struct v64_reent __reent; +struct v64_reent *_v64_reent = &__reent; + +v64si* +__v64si_signgam (void) +{ + return &_REENT_V64SI_SIGNGAM(_V64_REENT); +} diff --git a/newlib/libm/machine/amdgcn/v64df_acos.c b/newlib/libm/machine/amdgcn/v64df_acos.c new file mode 100644 index 000000000..63a34cad2 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_acos.c @@ -0,0 +1,42 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_acos.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_asine_aux (v64df x, int acosine, v64di); + +DEF_VD_MATH_FUNC (v64df, acos, v64df x) +{ + return v64df_asine_aux(x, 1, __mask); +} + +DEF_VARIANTS (acos, df, df) + diff --git a/newlib/libm/machine/amdgcn/v64df_acosh.c b/newlib/libm/machine/amdgcn/v64df_acosh.c new file mode 100644 index 000000000..d98d38b11 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_acosh.c @@ -0,0 +1,81 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/mathfp/e_acosh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_log_aux (v64df, v64di); +v64df v64df_log1p_aux (v64df, v64di); +v64df v64df_sqrt_aux (v64df, v64di); + +DEF_VD_MATH_FUNC (v64df, acosh, v64df x) +{ + static const double one = 1.0; + static const double ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ + + FUNCTION_INIT (v64df); + + v64si hx, lx; + EXTRACT_WORDS (hx, lx, x); + + VECTOR_IF (hx < 0x3ff00000, cond) // x < 1 */ + VECTOR_RETURN ((x-x) / (x-x), cond); + VECTOR_ENDIF + VECTOR_IF (hx >=0x41b00000, cond) // x > 2**28 */ + VECTOR_IF2 (hx >=0x7ff00000, cond2, cond) // x is inf of NaN */ + VECTOR_RETURN (x+x, cond2); + VECTOR_ELSE (cond2) + /* acosh(huge)=log(2x) */ + VECTOR_RETURN (v64df_log_aux (x, __mask) + ln2, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (((hx - 0x3ff00000) | lx) == 0, cond) + /* acosh(1) = 0 */ + VECTOR_RETURN (VECTOR_INIT (0.0), cond); + VECTOR_ENDIF + VECTOR_IF (hx > 0x40000000, cond) /* 2**28 > x > 2 */ + { + v64df t = x * x; + VECTOR_RETURN (v64df_log_aux (2.0*x - one / + (x + v64df_sqrt_aux (t - one, __mask)), + __mask), + cond); + } + VECTOR_ELSE (cond) /* 1 0.5, cond) + VECTOR_COND_MOVE (i, VECTOR_INIT (1 - acosine), cond); + + /* Check for range error. */ + VECTOR_IF2 (y > 1.0, cond2, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (z_notanum.d), cond2); + VECTOR_ENDIF + + VECTOR_COND_MOVE (g, (1.0 - y) / 2.0, cond); + VECTOR_COND_MOVE (y, -2.0 * v64df_sqrt_aux (g, __mask), cond); + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (i, VECTOR_INIT (acosine), cond); + VECTOR_IF2 (y < z_rooteps, cond2, cond) + VECTOR_COND_MOVE (res, y, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (g, y * y, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF ((y >= z_rooteps) | __builtin_convertvector(branch, v64di), cond) + { + /* Calculate the Taylor series. */ + v64df P = ((((p[4] * g + p[3]) * g + p[2]) * g + p[1]) * g + p[0]) * g; + v64df Q = ((((g + q[4]) * g + q[3]) * g + q[2]) * g + q[1]) * g + q[0]; + v64df R = P / Q; + + VECTOR_COND_MOVE (res, y + y * R, cond); + } + VECTOR_ENDIF + + v64df a_i = VECTOR_MERGE (VECTOR_INIT (a[1]), VECTOR_INIT (a[0]), i != 0); + + /* Calculate asine or acose. */ + if (acosine == 0) + { + VECTOR_COND_MOVE (res, (a_i + res) + a_i, NO_COND); + VECTOR_IF (x < 0.0, cond) + VECTOR_COND_MOVE (res, -res, cond); + VECTOR_ENDIF + } + else + { + v64df b_i = VECTOR_MERGE (VECTOR_INIT(b[1]), VECTOR_INIT(b[0]), i != 0); + + VECTOR_IF (x < 0.0, cond) + VECTOR_COND_MOVE (res, (b_i + res) + b_i, cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (res, (a_i - res) + a_i, cond); + VECTOR_ENDIF + } + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_asinh.c b/newlib/libm/machine/amdgcn/v64df_asinh.c new file mode 100644 index 000000000..add4a486a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_asinh.c @@ -0,0 +1,81 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/s_asinh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_log_aux (v64df, v64di); +v64df v64df_log1p_aux (v64df, v64di); +v64df v64df_sqrt_aux (v64df, v64di); + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC (v64df, asinh, v64df x) +{ + static const double one = 1.00000000000000000000e+00; /* 0x3FF00000, 0x00000000 */ + static const double ln2 = 6.93147180559945286227e-01; /* 0x3FE62E42, 0xFEFA39EF */ + static const double huge = 1.00000000000000000000e+300; + + FUNCTION_INIT (v64df); + + v64df w; + v64si hx; + GET_HIGH_WORD (hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; + + VECTOR_IF (ix >=0x7ff00000, cond) /* x is inf or NaN */ + VECTOR_RETURN (x + x, cond); + VECTOR_ENDIF + VECTOR_IF (ix < 0x3e300000, cond) /* |x|<2**-28 */ + VECTOR_IF2 (__builtin_convertvector(huge+x > one, v64si), cond2, cond) /* return x inexact except 0 */ + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (ix > 0x41b00000, cond) /* x > 2**28 */ + VECTOR_COND_MOVE (w, v64df_log_aux (__builtin_gcn_fabsv (x), __mask) + ln2, + cond); + VECTOR_ELSEIF (ix > 0x40000000, cond) /* 2**28 > |x| > 2.0 */ + v64df t = __builtin_gcn_fabsv (x); + VECTOR_COND_MOVE (w, v64df_log_aux (2.0 * t + one / (v64df_sqrt_aux (x*x + one, __mask) + t), __mask), + cond); + VECTOR_ELSE (cond) /* 2.0 > |x| > 2**-28 */ + v64df t = x * x; + VECTOR_COND_MOVE (w, v64df_log1p_aux (__builtin_gcn_fabsv (x) + t / (one + v64df_sqrt_aux (one + t, __mask)), __mask), + cond); + VECTOR_ENDIF + + VECTOR_IF (hx > 0, cond) + VECTOR_RETURN (w, cond); + VECTOR_ELSE (cond) + VECTOR_RETURN (-w, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS (asinh, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_atan.c b/newlib/libm/machine/amdgcn/v64df_atan.c new file mode 100644 index 000000000..66b7a8d6c --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_atan.c @@ -0,0 +1,43 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_atan.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_atangent_aux (v64df, v64df, v64df, int, v64di); + +DEF_VD_MATH_FUNC (v64df, atan, v64df x) +{ + return v64df_atangent_aux (x, + VECTOR_INIT (0.0), + VECTOR_INIT (0.0), 0, __mask); +} + +DEF_VARIANTS (atan, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_atan2.c b/newlib/libm/machine/amdgcn/v64df_atan2.c new file mode 100644 index 000000000..18307883e --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_atan2.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_atan2.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_atangent_aux (v64df, v64df, v64df, int, v64di); + +DEF_VD_MATH_FUNC (v64df, atan2, v64df v, v64df u) +{ + return (v64df_atangent_aux (VECTOR_INIT (0.0), v, u, 1, __mask)); +} + +DEF_VARIANTS2 (atan2, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_atangent.c b/newlib/libm/machine/amdgcn/v64df_atangent.c new file mode 100644 index 000000000..b5b375679 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_atangent.c @@ -0,0 +1,161 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/s_atangent.c in Newlib. */ + +#include +#include "amdgcnmach.h" + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_fabsv) \ + && __has_builtin (__builtin_gcn_frexpv_exp) + +DEF_VD_MATH_FUNC (v64df, atangent, v64df x, v64df v, v64df u, int arctan2) +{ + static const double ROOT3 = 1.73205080756887729353; + static const double a[] = { 0.0, 0.52359877559829887308, 1.57079632679489661923, + 1.04719755119659774615 }; + static const double q[] = { 0.41066306682575781263e+2, + 0.86157349597130242515e+2, + 0.59578436142597344465e+2, + 0.15024001160028576121e+2 }; + static const double p[] = { -0.13688768894191926929e+2, + -0.20505855195861651981e+2, + -0.84946240351320683534e+1, + -0.83758299368150059274 }; + static const float z_rooteps = 7.4505859692e-9; + + FUNCTION_INIT (v64df); + + v64df zero = VECTOR_INIT (0.0); + v64df pi = VECTOR_INIT (__PI); + v64df pi_over_two = VECTOR_INIT (__PI_OVER_TWO); + v64df res; + v64si branch = VECTOR_INIT (0); + + /* Preparation for calculating arctan2. */ + if (arctan2) + { + VECTOR_IF (u == 0.0, cond) + VECTOR_IF2 (v == 0.0, cond2, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (0.0), cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond2); + VECTOR_COND_MOVE (res, pi_over_two, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF (~branch, cond) + /* Get the exponent values of the inputs. */ + v64si expv = __builtin_gcn_frexpv_exp (v); + v64si expu = __builtin_gcn_frexpv_exp (u); + + /* See if a divide will overflow. */ + v64si e = expv - expu; + + VECTOR_IF2 (e > DBL_MAX_EXP, cond2, cond) + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond2); + VECTOR_COND_MOVE (res, pi_over_two, cond2); + VECTOR_ENDIF + + /* Also check for underflow. */ + VECTOR_IF2 (e < DBL_MIN_EXP, cond2, cond) + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond2); + VECTOR_COND_MOVE (res, zero, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + } + + VECTOR_IF (~branch, cond) + v64df f; + v64si N = VECTOR_INIT (0); + + if (arctan2) + f = __builtin_gcn_fabsv (v / u); + else + f = __builtin_gcn_fabsv (x); + + VECTOR_IF2 (__builtin_convertvector(f > 1.0, v64si), cond2, cond) + VECTOR_COND_MOVE (f, 1.0 / f, cond2); + VECTOR_COND_MOVE (N, VECTOR_INIT (2), cond2); + VECTOR_ENDIF + + VECTOR_IF2 (__builtin_convertvector(f > (2.0 - ROOT3), v64si), cond2, cond) + double A = ROOT3 - 1.0; + VECTOR_COND_MOVE (f, (((A * f - 0.5) - 0.5) + f) / (ROOT3 + f), + cond2); + N += cond2 & 1; + VECTOR_ENDIF + + /* Check for values that are too small. */ + VECTOR_IF2 (__builtin_convertvector((-z_rooteps < f) & (f < z_rooteps), v64si), cond2, cond) + VECTOR_COND_MOVE (res, f, cond2); + + /* Calculate the Taylor series. */ + VECTOR_ELSE2 (cond2, cond) + v64df g = f * f; + v64df P = (((p[3] * g + p[2]) * g + p[1]) * g + p[0]) * g; + v64df Q = (((g + q[3]) * g + q[2]) * g + q[1]) * g + q[0]; + v64df R = P / Q; + + VECTOR_COND_MOVE (res, f + f * R, cond2); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, cond & (N > 1)); + + res += VECTOR_MERGE (VECTOR_INIT (a[1]), zero, cond & (N == 1)); + res += VECTOR_MERGE (VECTOR_INIT (a[2]), zero, cond & (N == 2)); + res += VECTOR_MERGE (VECTOR_INIT (a[3]), zero, cond & (N == 3)); + VECTOR_ENDIF + + if (arctan2) + { + /*if (u < 0.0)*/ + VECTOR_COND_MOVE (res, pi - res, u < 0.0); + /*if (v < 0.0)*/ + VECTOR_COND_MOVE (res, -res, v < 0.0); + } + /*else if (x < 0.0) */ + else + VECTOR_COND_MOVE (res, -res, x < 0.0); + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_atanh.c b/newlib/libm/machine/amdgcn/v64df_atanh.c new file mode 100644 index 000000000..1ca61a382 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_atanh.c @@ -0,0 +1,75 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/mathfp/e_atanh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_log1p_aux (v64df, v64di); + +DEF_VD_MATH_FUNC (v64df, atanh, v64df x) +{ + static const double zero = 0.0; + static const double one = 1.0, huge = 1e300; + + FUNCTION_INIT (v64df); + + v64df t; + v64si hx, lx; + EXTRACT_WORDS (hx, lx, x); + v64si ix = hx & 0x7fffffff; + + VECTOR_IF ((ix | ((lx | (-lx)) >> 31)) > 0x3ff00000, cond) // |x|>1 + VECTOR_RETURN ((x - x)/(x - x), cond); + VECTOR_ENDIF + + VECTOR_IF (ix == 0x3ff00000, cond) + VECTOR_RETURN (x / zero, cond); + VECTOR_ENDIF + + VECTOR_IF ((ix < 0x3e300000) & __builtin_convertvector((huge + x) > zero, v64si), cond) // x<2**-28 + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + + SET_HIGH_WORD (x, ix, NO_COND); + + VECTOR_IF (ix < 0x3fe00000, cond) // x < 0.5 */ + v64df t2 = x + x; + VECTOR_COND_MOVE (t, 0.5 * v64df_log1p_aux (t2 + t2 * x / (one - x), __mask), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (t, 0.5 * v64df_log1p_aux ((x + x) / (one - x), __mask), cond); + VECTOR_ENDIF + + VECTOR_IF (hx >= 0, cond) + VECTOR_RETURN (t, cond); + VECTOR_ELSE (cond) + VECTOR_RETURN (-t, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS (atanh, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_copysign.c b/newlib/libm/machine/amdgcn/v64df_copysign.c new file mode 100644 index 000000000..c57af07df --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_copysign.c @@ -0,0 +1,43 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_copysign.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VD_MATH_FUNC (v64df, copysign, v64df x, v64df y) +{ + FUNCTION_INIT (v64df); + + v64si hx, hy; + GET_HIGH_WORD(hx, x, NO_COND); + GET_HIGH_WORD(hy, y, NO_COND); + SET_HIGH_WORD(x, (hx & 0x7fffffff) | (hy & 0x80000000), NO_COND); + VECTOR_RETURN (x, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (copysign, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_cos.c b/newlib/libm/machine/amdgcn/v64df_cos.c new file mode 100644 index 000000000..6e464ef3d --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_cos.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_cos.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_sine_aux (v64df, int, v64di); + +DEF_VD_MATH_FUNC (v64df, cos, v64df x) +{ + return v64df_sine_aux (x, 1, __mask); +} + +DEF_VARIANTS (cos, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_cosh.c b/newlib/libm/machine/amdgcn/v64df_cosh.c new file mode 100644 index 000000000..d0268b5b0 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_cosh.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_cosh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_sineh_aux (v64df, int, v64di); + +DEF_VD_MATH_FUNC (v64df, cosh, v64df x) +{ + return v64df_sineh_aux (x, 1, __mask); +} + +DEF_VARIANTS (cosh, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_erf.c b/newlib/libm/machine/amdgcn/v64df_erf.c new file mode 100644 index 000000000..518ac979a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_erf.c @@ -0,0 +1,185 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/s_erf.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_exp_aux (v64df, v64di); + +static const double +tiny = 1e-300, +half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ +one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ +two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */ +/* c = (float)0.84506291151 */ +erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */ +/* + * Coefficients for approximation to erf on [0,0.84375] + */ +efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */ +efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */ +pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */ +pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */ +pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */ +pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */ +pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */ +qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */ +qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */ +qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */ +qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */ +qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */ +/* + * Coefficients for approximation to erf in [0.84375,1.25] + */ +pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */ +pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */ +pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */ +pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */ +pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */ +pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */ +pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */ +qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */ +qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */ +qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */ +qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */ +qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */ +qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */ +/* + * Coefficients for approximation to erfc in [1.25,1/0.35] + */ +ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */ +ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */ +ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */ +ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */ +ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */ +ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */ +ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */ +ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */ +sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */ +sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */ +sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */ +sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */ +sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */ +sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */ +sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */ +sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */ +/* + * Coefficients for approximation to erfc in [1/.35,28] + */ +rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */ +rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */ +rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */ +rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */ +rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */ +rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */ +rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */ +sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */ +sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */ +sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */ +sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */ +sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */ +sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */ +sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */ + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC (v64df, erf, v64df x) +{ + FUNCTION_INIT (v64df); + + v64si hx; + GET_HIGH_WORD (hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; + + VECTOR_IF (ix >= 0x7ff00000, cond) /* erf(nan)=nan */ + v64si i = (hx >> 31) << 1; + /* erf(+-inf)=+-1 */ + VECTOR_RETURN (__builtin_convertvector (1 - i, v64df) + one / x, cond); + VECTOR_ENDIF + + VECTOR_IF (ix < 0x3feb0000, cond) /* |x|<0.84375 */ + VECTOR_IF2 (ix < 0x3e300000, cond2, cond) /* |x|<2**-28 */ + VECTOR_IF2 (ix < 0x00800000, cond3, cond2) /* avoid underflow */ + VECTOR_RETURN (0.125*(8.0*x + efx8*x), cond3); + VECTOR_ENDIF + VECTOR_RETURN (x + efx*x, cond2); + VECTOR_ENDIF + + v64df z = x*x; + v64df r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); + v64df s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); + v64df y = r/s; + + VECTOR_RETURN (x + x*y, cond); + VECTOR_ENDIF + + VECTOR_IF (ix < 0x3ff40000, cond) /* 0.84375 <= |x| < 1.25 */ + v64df s = __builtin_gcn_fabsv (x) - one; + v64df P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); + v64df Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); + VECTOR_IF2 (hx >= 0, cond2, cond) + VECTOR_RETURN (erx + P/Q, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (-erx - P/Q, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF (ix >= 0x40180000, cond) /* inf>|x|>=6 */ + VECTOR_IF2 (hx >= 0, cond2, cond) + VECTOR_RETURN (VECTOR_INIT (1.0 - tiny), cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (VECTOR_INIT (tiny - 1.0), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + x = __builtin_gcn_fabsv(x); + v64df s = 1.0 / (x*x); + v64df R, S; + VECTOR_IF (ix < 0x4006DB6E, cond) /* |x| < 1/0.35 */ + VECTOR_COND_MOVE (R, ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( + ra5+s*(ra6+s*ra7)))))), cond); + VECTOR_COND_MOVE (S, one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( + sa5+s*(sa6+s*(sa7+s*sa8))))))), cond); + VECTOR_ELSE (cond) /* |x| >= 1/0.35 */ + VECTOR_COND_MOVE (R, rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( + rb5+s*rb6))))), cond); + VECTOR_COND_MOVE (S, one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( + sb5+s*(sb6+s*sb7)))))), cond); + VECTOR_ENDIF + + v64df z; + SET_LOW_WORD (z, VECTOR_INIT(0), NO_COND); + v64df r = v64df_exp_aux (-z*z - 0.5625, __mask) + * v64df_exp_aux ((z-x)*(z+x) + R/S, __mask); + VECTOR_RETURN (one - r/x, hx >= 0); + VECTOR_RETURN (r/x - one, hx < 0); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (erf, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_exp.c b/newlib/libm/machine/amdgcn/v64df_exp.c new file mode 100644 index 000000000..f4890e2df --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_exp.c @@ -0,0 +1,103 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/s_exp.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_ispos (v64df); +v64si v64df_numtest (v64df); + +static const double INV_LN2 = 1.4426950408889634074; +static const double LN2 = 0.6931471805599453094172321; +static const double p[] = { 0.25, 0.75753180159422776666e-2, + 0.31555192765684646356e-4 }; +static const double q[] = { 0.5, 0.56817302698551221787e-1, + 0.63121894374398504557e-3, + 0.75104028399870046114e-6 }; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_ldexpv) + +DEF_VD_MATH_FUNC (v64df, exp, v64df x) +{ + FUNCTION_INIT (v64df); + + v64si num_type = v64df_numtest (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (z_infinity.d), + VECTOR_INIT (0.0), + v64df_ispos (x)), + cond); + VECTOR_ELSEIF (num_type == 0, cond) + VECTOR_RETURN (VECTOR_INIT (1.0), cond); + VECTOR_ENDIF + + /* Check for out of bounds. */ + VECTOR_IF ((x > BIGX) | (x < SMALLX), cond) + errno = ERANGE; + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + + /* Check for a value too small to calculate. */ + VECTOR_RETURN (VECTOR_INIT (1.0), + (-z_rooteps_f < x) & (x < z_rooteps_f)); + + /* Calculate the exponent. */ + v64si Nneg = __builtin_convertvector (x * INV_LN2 - 0.5, v64si); + v64si Npos = __builtin_convertvector (x * INV_LN2 + 0.5, v64si); + v64si N = VECTOR_MERGE (Nneg, Npos, x < 0.0); + + /* Construct the mantissa. */ + v64df g = x - __builtin_convertvector (N, v64df) * LN2; + v64df z = g * g; + v64df P = g * ((p[2] * z + p[1]) * z + p[0]); + v64df Q = ((q[3] * z + q[2]) * z + q[1]) * z + q[0]; + v64df R = 0.5 + P / (Q - P); + + /* Return the floating point value. */ + N++; + VECTOR_RETURN (__builtin_gcn_ldexpv (R, N), NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (exp, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_exp2.c b/newlib/libm/machine/amdgcn/v64df_exp2.c new file mode 100644 index 000000000..33ad59705 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_exp2.c @@ -0,0 +1,32 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. + * + * Permission to use, copy, modify, and distribute this software + * is freely granted, provided that this notice is preserved. + */ + +/* Based on newlib/libm/mathfp/s_exp2.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_pow_aux (v64df, v64df, v64di); + +DEF_VD_MATH_FUNC (v64df, exp2, v64df x) +{ + return v64df_pow_aux (VECTOR_INIT (2.0), x, __mask); +} + +DEF_VARIANTS (exp2, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_finite.c b/newlib/libm/machine/amdgcn/v64df_finite.c new file mode 100644 index 000000000..3eafe07f0 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_finite.c @@ -0,0 +1,38 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_finite.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VD_MATH_PRED (v64si, finite, v64df x) +{ + FUNCTION_INIT (v64si); + v64si hx; + GET_HIGH_WORD (hx, x, NO_COND); + return (((hx & 0x7fffffff) - 0x7ff00000) >> 31) != 0; +} + +DEF_VARIANTS (finite, si, df) diff --git a/newlib/libm/machine/amdgcn/v64df_fmod.c b/newlib/libm/machine/amdgcn/v64df_fmod.c new file mode 100644 index 000000000..750546f60 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_fmod.c @@ -0,0 +1,199 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/s_fmod.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VD_MATH_FUNC (v64df, fmod, v64df x, v64df y) +{ + FUNCTION_INIT(v64df); + + v64si hx, hy, hz; + v64usi lx, ly, lz; + EXTRACT_WORDS (hx, lx, x); + EXTRACT_WORDS (hy, ly, y); + v64si sx = hx & 0x80000000; /* sign of x */ + hx ^=sx; /* |x| */ + hy &= 0x7fffffff; /* |y| */ + + v64df zeroes = VECTOR_MERGE (VECTOR_INIT (-0.0), + VECTOR_INIT (0.0), + sx != 0); + + /* purge off exception values */ + VECTOR_IF (((hy | ly) == 0) | (hx >= 0x7ff00000) + | ((hy | ((ly | -ly) >> 31)) > 0x7ff00000), cond) // y=0, or x not finite or y is NaN + VECTOR_RETURN ((x * y) / (x * y), cond); + VECTOR_ENDIF + VECTOR_IF (hx <= hy, cond) // |x|<|y| return x + VECTOR_IF2 ((hx < hy) | (lx < ly), cond2, cond) + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_IF2 (lx == ly, cond2, cond) + VECTOR_RETURN (zeroes, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + /* determine ix = ilogb(x) */ + v64si ix; + VECTOR_IF (hx < 0x00100000, cond) // subnormal x + VECTOR_IF2 (hx == 0, cond2, cond) + ix = VECTOR_INIT (-1043); + for (v64si i = __builtin_convertvector (lx, v64si); + !ALL_ZEROES_P (cond2 & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (ix, ix - 1, cond2 & (i > 0)); + VECTOR_ELSE2 (cond2, cond) + ix = VECTOR_INIT (-1022); + for (v64si i = __builtin_convertvector (hx << 11, v64si); + !ALL_ZEROES_P (cond2 & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (ix, ix - 1, cond2 & (i > 0)); + VECTOR_ENDIF + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (ix, (hx >> 20) - 1023, cond); + VECTOR_ENDIF + + /* determine iy = ilogb(y) */ + v64si iy; + VECTOR_IF (hy < 0x00100000, cond) // subnormal y + VECTOR_IF2 (hy == 0, cond2, cond) + iy = VECTOR_INIT (-1043); + for (v64si i = __builtin_convertvector (ly, v64si); + !ALL_ZEROES_P (cond2 & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (iy, iy - 1, cond2 & (i > 0)); + VECTOR_ELSE2 (cond2, cond) + iy = VECTOR_INIT (-1022); + for (v64si i = __builtin_convertvector (hy << 11, v64si); + !ALL_ZEROES_P (cond2 & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (iy, iy - 1, cond2 & (i > 0)); + VECTOR_ENDIF + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (iy, (hy >> 20) - 1023, cond); + VECTOR_ENDIF + + +/* set up {hx,lx}, {hy,ly} and align y to x */ + VECTOR_IF (ix >= -1022, cond) + VECTOR_COND_MOVE (hx, 0x00100000 | (0x000fffff & hx), cond); + VECTOR_ELSE (cond) // subnormal x, shift x to normal + { + v64si n = -1022 - ix; + VECTOR_IF2 (n <= 31, cond2, cond) + VECTOR_COND_MOVE (hx, (hx << n) | (lx >> (32 - n)), cond2); + VECTOR_COND_MOVE (lx, lx << n, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (hx, __builtin_convertvector (lx << (n - 32), v64si), cond2); + VECTOR_COND_MOVE (lx, VECTOR_INIT (0U), cond2); + VECTOR_ENDIF + } + VECTOR_ENDIF + VECTOR_IF (iy >= -1022, cond) + VECTOR_COND_MOVE (hy, 0x00100000 | (0x000fffff & hy), cond); + VECTOR_ELSE (cond) // subnormal y, shift y to normal + { + v64si n = -1022 - iy; + VECTOR_IF2 (n <= 31, cond2, cond) + VECTOR_COND_MOVE (hy, (hy << n) | (ly >> (32 - n)), cond2); + VECTOR_COND_MOVE (ly, ly << n, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (hy, __builtin_convertvector (ly << (n - 32), v64si), cond2); + VECTOR_COND_MOVE (ly, VECTOR_INIT (0U), cond2); + VECTOR_ENDIF + } + VECTOR_ENDIF + +/* fix point fmod */ + v64si n = ix - iy; + v64si cond = n != 0; + + while (!ALL_ZEROES_P (cond)) + { + hz = hx - hy; + lz = lx - ly; + VECTOR_IF2 (lx < ly, cond2, cond) + VECTOR_COND_MOVE (hz, hz - 1, cond2); + VECTOR_ENDIF + VECTOR_IF2 (hz < 0, cond2, cond) + VECTOR_COND_MOVE (hx, hx + hx + (__builtin_convertvector(lx, v64usi) >> 31), cond2); + VECTOR_COND_MOVE (lx, lx + lx, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_IF2 ((hz | lz) == 0, cond3, cond2) // return sign(x)*0 + VECTOR_RETURN (zeroes, cond3); + VECTOR_ENDIF + VECTOR_COND_MOVE (hx, hz + hz + (__builtin_convertvector(lz, v64usi) >> 31), cond2); + VECTOR_COND_MOVE (lx, lz + lz, cond2); + VECTOR_ENDIF + + n += cond; // Active lanes should be -1 + cond &= (n != 0); + } + + hz = hx - hy; + lz = lx - ly; + VECTOR_COND_MOVE (hz, hz - 1, lx < ly); + VECTOR_IF (hz >= 0, cond) + VECTOR_COND_MOVE (hx, hz, cond); + VECTOR_COND_MOVE (lx, lz, cond); + VECTOR_ENDIF + + /* convert back to floating value and restore the sign */ + VECTOR_RETURN (zeroes, (hx | lx) == 0); // return sign(x)*0 + cond = hx < 0x00100000; + while (!ALL_ZEROES_P (cond)) // normalize x + { + VECTOR_COND_MOVE (hx, hx + hx + (lx >> 31), cond); + VECTOR_COND_MOVE (lx, lx + lx, cond); + iy += cond; // Active lanes should be -1 + + cond &= (hx < 0x00100000); + } + VECTOR_IF (iy >= -1022, cond) // normalize output + VECTOR_COND_MOVE (hx, (hx - 0x00100000) | ((iy + 1023) << 20), cond); + INSERT_WORDS (x, hx | sx, lx, cond); + VECTOR_ELSE (cond) // subnormal output */ + n = -1022 - iy; + VECTOR_IF2 (n <= 20, cond2, cond) + VECTOR_COND_MOVE (lx, (lx >> n) | (hx << (32 - n)), cond2); + VECTOR_COND_MOVE (hx, hx >> n, cond2); + VECTOR_ELSEIF2 (n <= 31, cond2, cond) + VECTOR_COND_MOVE (lx, __builtin_convertvector ((hx << (32 - n)) | (lx >> n), v64usi), cond2); + VECTOR_COND_MOVE (hx, sx, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (lx, __builtin_convertvector (hx >> (n - 32), v64usi), cond2); + VECTOR_COND_MOVE (hx, sx, cond2); + VECTOR_ENDIF + INSERT_WORDS (x, hx | sx, lx, cond); + x *= VECTOR_INIT (1.0); /* create necessary signal */ + VECTOR_ENDIF + + VECTOR_RETURN (x, NO_COND); /* exact output */ + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (fmod, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_gamma.c b/newlib/libm/machine/amdgcn/v64df_gamma.c new file mode 100644 index 000000000..4b5af3e06 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_gamma.c @@ -0,0 +1,38 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/w_gamma.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_lgamma_aux (v64df x, v64di __mask); + +DEF_VD_MATH_FUNC (v64df, gamma, v64df x) +{ + return v64df_lgamma_aux(x, __mask); +} + +DEF_VARIANTS (gamma, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_hypot.c b/newlib/libm/machine/amdgcn/v64df_hypot.c new file mode 100644 index 000000000..fde1cb384 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_hypot.c @@ -0,0 +1,127 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/e_hypot.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_sqrt_aux (v64df, v64di); + +DEF_VD_MATH_FUNC (v64df, hypot, v64df x, v64df y) +{ + FUNCTION_INIT (v64df); + + v64df a = x; + v64df b = y; + + v64si ha; + GET_HIGH_WORD (ha, x, NO_COND); + ha &= 0x7fffffffL; + v64si hb; + GET_HIGH_WORD (hb, y, NO_COND); + hb &= 0x7fffffffL; + + VECTOR_IF (hb > ha, cond) + VECTOR_COND_MOVE (a, y, cond); + VECTOR_COND_MOVE (b, x, cond); + v64si j = ha; + VECTOR_COND_MOVE (ha, hb, cond); + VECTOR_COND_MOVE (hb, j, cond); + VECTOR_ENDIF + SET_HIGH_WORD (a, ha, NO_COND); /* a <- |a| */ + SET_HIGH_WORD (b, hb, NO_COND); /* b <- |b| */ + VECTOR_IF((ha - hb) > 0x3c00000L, cond) // x/y > 2**60 */ + VECTOR_RETURN (a + b, cond); + VECTOR_ENDIF + + v64si k = VECTOR_INIT (0); + + VECTOR_IF (ha > 0x5f300000L, cond) /* a>2**500 */ + VECTOR_IF2 (ha >= 0x7ff00000L, cond2, cond) /* Inf or NaN */ + v64df w = a + b; // for sNaN */ + v64si low; + GET_LOW_WORD (low, a, cond2); + VECTOR_COND_MOVE (w, a, cond2 & (((ha & 0xfffff) | low) == 0)); + GET_LOW_WORD (low, b, cond2); + VECTOR_COND_MOVE (w, b, cond2 & (((hb & 0xfffff) | low) == 0)); + VECTOR_RETURN (w, cond); + VECTOR_ENDIF + /* scale a and b by 2**-600 */ + VECTOR_COND_MOVE (ha, ha - 0x25800000, cond); + VECTOR_COND_MOVE (hb, hb - 0x25800000, cond); + VECTOR_COND_MOVE (k, k + 600, cond); + SET_HIGH_WORD (a, ha, cond); + SET_HIGH_WORD (b, hb, cond); + VECTOR_ENDIF + VECTOR_IF (hb < 0x20b00000, cond) /* b < 2**-500 */ + VECTOR_IF2 (hb <= 0x000fffff, cond2, cond) /* subnormal b or 0 */ + v64si low; + GET_LOW_WORD (low, b, cond); + VECTOR_RETURN (a, cond2 & ((hb | low) == 0)); + /* t1=2^1022 */ + v64df t1 = VECTOR_INIT (0.0); + SET_HIGH_WORD (t1, VECTOR_INIT (0x7fd00000), cond2); + VECTOR_COND_MOVE (b, b * t1, cond2); + VECTOR_COND_MOVE (a, a * t1, cond2); + VECTOR_COND_MOVE (k, k - 1022, cond2); + VECTOR_ELSE2 (cond2, cond) /* scale a and b by 2^600 */ + VECTOR_COND_MOVE (ha, ha + 0x25800000, cond2); /* a *= 2^600 */ + VECTOR_COND_MOVE (hb, hb + 0x25800000, cond2); /* b *= 2^600 */ + VECTOR_COND_MOVE (k, k - 600, cond2); + SET_HIGH_WORD (a, ha, cond2); + SET_HIGH_WORD (b, hb, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + /* medium size a and b */ + v64df w = a - b; + VECTOR_IF (w > b, cond) + v64df t1 = VECTOR_INIT (0.0); + SET_HIGH_WORD (t1, ha, cond); + v64df t2 = a - t1; + VECTOR_COND_MOVE (w, v64df_sqrt_aux (t1*t1 - (b*(-b) - t2 * (a + t1)), __mask), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (a, a+a, cond); + v64df y1 = VECTOR_INIT (0.0); + SET_HIGH_WORD (y1, hb, cond); + v64df y2 = b - y1; + v64df t1; + SET_HIGH_WORD (t1, ha + 0x00100000, cond); + v64df t2 = a - t1; + VECTOR_COND_MOVE (w, v64df_sqrt_aux (t1*y1 - (w*(-w) - (t1*y2 + t2*b)), __mask), cond); + VECTOR_ENDIF + VECTOR_IF (k != 0, cond) + v64si high; + v64df t1 = VECTOR_INIT (1.0); + GET_HIGH_WORD (high, t1, cond); + SET_HIGH_WORD (t1, high + (k << 20), cond); + VECTOR_RETURN (t1 * w, cond); + VECTOR_ELSE (cond) + VECTOR_RETURN (w, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (hypot, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_ilogb.c b/newlib/libm/machine/amdgcn/v64df_ilogb.c new file mode 100644 index 000000000..56eb70089 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_ilogb.c @@ -0,0 +1,59 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_ilogb.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VD_MATH_PRED (v64si, ilogb, v64df x) +{ + FUNCTION_INIT(v64si); + v64si hx, lx, ix; + EXTRACT_WORDS (hx, lx, x); + hx &= 0x7fffffff; + VECTOR_IF (hx < 0x00100000, cond) + VECTOR_RETURN (VECTOR_INIT (-__INT_MAX__), cond & ((hx | lx) == 0)); // FP_ILOGB0 + VECTOR_IF2 (hx == 0, cond2, cond) + ix = VECTOR_INIT (-1043); + for (v64si i = lx; + !ALL_ZEROES_P (cond2 & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (ix, ix - 1, cond2 & (i > 0)); + VECTOR_ELSE2 (cond2, cond) + ix = VECTOR_INIT (-1022); + for (v64si i = (hx << 11); + !ALL_ZEROES_P (cond2 & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (ix, ix - 1, cond2 & (i > 0)); + VECTOR_ENDIF + VECTOR_RETURN (ix, cond); + VECTOR_ENDIF + VECTOR_RETURN ((hx >> 20) - 1023, hx < 0x7ff00000); + VECTOR_RETURN (VECTOR_INIT (__INT_MAX__), NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (ilogb, si, df) diff --git a/newlib/libm/machine/amdgcn/v64df_isnan.c b/newlib/libm/machine/amdgcn/v64df_isnan.c new file mode 100644 index 000000000..033917274 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_isnan.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_isnan.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VD_MATH_PRED (v64si, isnan, v64df x) +{ + v64si hx, lx; + EXTRACT_WORDS (hx, lx, x); + hx &= 0x7fffffff; + hx |= (lx | (-lx)) >> 31; + hx = 0x7ff00000 - hx; + + return (hx >> 31) != 0; +} + +DEF_VARIANTS (isnan, si, df) diff --git a/newlib/libm/machine/amdgcn/v64df_ispos.c b/newlib/libm/machine/amdgcn/v64df_ispos.c new file mode 100644 index 000000000..ff34598e2 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_ispos.c @@ -0,0 +1,47 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_ispos.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si +v64df_ispos (v64df x) +{ + // Explicitly create mask for internal function. + v64si __mask = VECTOR_INIT (-1); + FUNCTION_INIT (v64si); + + v64si hx; + GET_HIGH_WORD (hx, x, NO_COND); + + VECTOR_RETURN ((hx & 0x80000000) == 0, NO_COND); + + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64df_lgamma.c b/newlib/libm/machine/amdgcn/v64df_lgamma.c new file mode 100644 index 000000000..8a827ac83 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_lgamma.c @@ -0,0 +1,44 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/w_lgamma.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_finite_aux (v64df x, v64di __mask); +v64df v64df_lgamma_r_aux (v64df x, v64si *signgamp, v64di __mask); + +DEF_VD_MATH_FUNC (v64df, lgamma, v64df x) +{ + v64df y = v64df_lgamma_r_aux(x, &(_REENT_V64SI_SIGNGAM(_V64_REENT)), __mask); + if (ALL_ZEROES_P(v64df_finite_aux(y, __mask)) & !ALL_ZEROES_P(v64df_finite_aux(x, __mask))) { + /* lgamma(finite) overflow */ + errno = ERANGE; + } + return y; +} + +DEF_VARIANTS (lgamma, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_lgamma_r.c b/newlib/libm/machine/amdgcn/v64df_lgamma_r.c new file mode 100644 index 000000000..59a895e30 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_lgamma_r.c @@ -0,0 +1,300 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/er_lgamma.c in Newlib. */ + +#include "amdgcnmach.h" + +static const double two52= 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */ +half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */ +one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */ +pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */ +a0 = 7.72156649015328655494e-02, /* 0x3FB3C467, 0xE37DB0C8 */ +a1 = 3.22467033424113591611e-01, /* 0x3FD4A34C, 0xC4A60FAD */ +a2 = 6.73523010531292681824e-02, /* 0x3FB13E00, 0x1A5562A7 */ +a3 = 2.05808084325167332806e-02, /* 0x3F951322, 0xAC92547B */ +a4 = 7.38555086081402883957e-03, /* 0x3F7E404F, 0xB68FEFE8 */ +a5 = 2.89051383673415629091e-03, /* 0x3F67ADD8, 0xCCB7926B */ +a6 = 1.19270763183362067845e-03, /* 0x3F538A94, 0x116F3F5D */ +a7 = 5.10069792153511336608e-04, /* 0x3F40B6C6, 0x89B99C00 */ +a8 = 2.20862790713908385557e-04, /* 0x3F2CF2EC, 0xED10E54D */ +a9 = 1.08011567247583939954e-04, /* 0x3F1C5088, 0x987DFB07 */ +a10 = 2.52144565451257326939e-05, /* 0x3EFA7074, 0x428CFA52 */ +a11 = 4.48640949618915160150e-05, /* 0x3F07858E, 0x90A45837 */ +tc = 1.46163214496836224576e+00, /* 0x3FF762D8, 0x6356BE3F */ +tf = -1.21486290535849611461e-01, /* 0xBFBF19B9, 0xBCC38A42 */ +/* tt = -(tail of tf) */ +tt = -3.63867699703950536541e-18, /* 0xBC50C7CA, 0xA48A971F */ +t0 = 4.83836122723810047042e-01, /* 0x3FDEF72B, 0xC8EE38A2 */ +t1 = -1.47587722994593911752e-01, /* 0xBFC2E427, 0x8DC6C509 */ +t2 = 6.46249402391333854778e-02, /* 0x3FB08B42, 0x94D5419B */ +t3 = -3.27885410759859649565e-02, /* 0xBFA0C9A8, 0xDF35B713 */ +t4 = 1.79706750811820387126e-02, /* 0x3F9266E7, 0x970AF9EC */ +t5 = -1.03142241298341437450e-02, /* 0xBF851F9F, 0xBA91EC6A */ +t6 = 6.10053870246291332635e-03, /* 0x3F78FCE0, 0xE370E344 */ +t7 = -3.68452016781138256760e-03, /* 0xBF6E2EFF, 0xB3E914D7 */ +t8 = 2.25964780900612472250e-03, /* 0x3F6282D3, 0x2E15C915 */ +t9 = -1.40346469989232843813e-03, /* 0xBF56FE8E, 0xBF2D1AF1 */ +t10 = 8.81081882437654011382e-04, /* 0x3F4CDF0C, 0xEF61A8E9 */ +t11 = -5.38595305356740546715e-04, /* 0xBF41A610, 0x9C73E0EC */ +t12 = 3.15632070903625950361e-04, /* 0x3F34AF6D, 0x6C0EBBF7 */ +t13 = -3.12754168375120860518e-04, /* 0xBF347F24, 0xECC38C38 */ +t14 = 3.35529192635519073543e-04, /* 0x3F35FD3E, 0xE8C2D3F4 */ +u0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */ +u1 = 6.32827064025093366517e-01, /* 0x3FE4401E, 0x8B005DFF */ +u2 = 1.45492250137234768737e+00, /* 0x3FF7475C, 0xD119BD6F */ +u3 = 9.77717527963372745603e-01, /* 0x3FEF4976, 0x44EA8450 */ +u4 = 2.28963728064692451092e-01, /* 0x3FCD4EAE, 0xF6010924 */ +u5 = 1.33810918536787660377e-02, /* 0x3F8B678B, 0xBF2BAB09 */ +v1 = 2.45597793713041134822e+00, /* 0x4003A5D7, 0xC2BD619C */ +v2 = 2.12848976379893395361e+00, /* 0x40010725, 0xA42B18F5 */ +v3 = 7.69285150456672783825e-01, /* 0x3FE89DFB, 0xE45050AF */ +v4 = 1.04222645593369134254e-01, /* 0x3FBAAE55, 0xD6537C88 */ +v5 = 3.21709242282423911810e-03, /* 0x3F6A5ABB, 0x57D0CF61 */ +s0 = -7.72156649015328655494e-02, /* 0xBFB3C467, 0xE37DB0C8 */ +s1 = 2.14982415960608852501e-01, /* 0x3FCB848B, 0x36E20878 */ +s2 = 3.25778796408930981787e-01, /* 0x3FD4D98F, 0x4F139F59 */ +s3 = 1.46350472652464452805e-01, /* 0x3FC2BB9C, 0xBEE5F2F7 */ +s4 = 2.66422703033638609560e-02, /* 0x3F9B481C, 0x7E939961 */ +s5 = 1.84028451407337715652e-03, /* 0x3F5E26B6, 0x7368F239 */ +s6 = 3.19475326584100867617e-05, /* 0x3F00BFEC, 0xDD17E945 */ +r1 = 1.39200533467621045958e+00, /* 0x3FF645A7, 0x62C4AB74 */ +r2 = 7.21935547567138069525e-01, /* 0x3FE71A18, 0x93D3DCDC */ +r3 = 1.71933865632803078993e-01, /* 0x3FC601ED, 0xCCFBDF27 */ +r4 = 1.86459191715652901344e-02, /* 0x3F9317EA, 0x742ED475 */ +r5 = 7.77942496381893596434e-04, /* 0x3F497DDA, 0xCA41A95B */ +r6 = 7.32668430744625636189e-06, /* 0x3EDEBAF7, 0xA5B38140 */ +w0 = 4.18938533204672725052e-01, /* 0x3FDACFE3, 0x90C97D69 */ +w1 = 8.33333333333329678849e-02, /* 0x3FB55555, 0x5555553B */ +w2 = -2.77777777728775536470e-03, /* 0xBF66C16C, 0x16B02E5C */ +w3 = 7.93650558643019558500e-04, /* 0x3F4A019F, 0x98CF38B6 */ +w4 = -5.95187557450339963135e-04, /* 0xBF4380CB, 0x8C0FE741 */ +w5 = 8.36339918996282139126e-04, /* 0x3F4B67BA, 0x4CDAD5D1 */ +w6 = -1.63092934096575273989e-03; /* 0xBF5AB89D, 0x0B9E43E4 */ + +static const double zero= 0.00000000000000000000e+00; + +v64df v64df_cos_aux (v64df x, v64di __mask); +v64df v64df_log_aux (v64df x, v64di __mask); +v64df v64df_sin_aux (v64df x, v64di __mask); + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_floorv) \ + && __has_builtin (__builtin_gcn_fabsv) + +static v64df +v64df_sin_pi (v64df x) +{ + // Explicitly create mask for internal function. + v64di __mask = VECTOR_INIT (-1L); + FUNCTION_INIT (v64df); + + v64df y, z; + v64si n, ix; + + GET_HIGH_WORD (ix, x, NO_COND); + ix &= 0x7fffffff; + + VECTOR_IF (ix < 0x3fd00000, cond) + VECTOR_RETURN (v64df_sin_aux (pi * x, __mask), cond); + VECTOR_ENDIF + y = -x; /* x is assume negative */ + + /* + * argument reduction, make sure inexact flag not raised if input + * is an integer + */ + z = __builtin_gcn_floorv (y); + VECTOR_IF (z != y, cond) + /* inexact anyway */ + VECTOR_COND_MOVE(y, y * 0.5, cond); + VECTOR_COND_MOVE(y, 2.0 * (y - __builtin_gcn_floorv (y)), cond); /* y = |x| mod 2.0 */ + VECTOR_COND_MOVE(n, __builtin_convertvector(y * 4.0, v64si), cond); + VECTOR_ELSE (cond) + VECTOR_IF2 (__builtin_convertvector(ix >= 0x43400000, v64di), cond2, cond) + VECTOR_COND_MOVE(y, VECTOR_INIT(zero), cond2); + VECTOR_COND_MOVE(n, VECTOR_INIT(0), cond2); /* y must be even */ + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE(z, y + two52 /* exact */, cond2 & __builtin_convertvector(ix < 0x43300000, v64di)); + GET_LOW_WORD (n, z, cond2); + VECTOR_COND_MOVE(n, n & 1, cond2); + VECTOR_COND_MOVE(y, __builtin_convertvector(n, v64df), cond2); + VECTOR_COND_MOVE(n, n << 2, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF (n == 0, cond) + VECTOR_COND_MOVE(y, v64df_sin_aux (pi * y, __mask), cond); + VECTOR_ELSEIF (n == 1 | n == 2, cond) + VECTOR_COND_MOVE(y, v64df_cos_aux (pi * (0.5 - y), __mask), cond); + VECTOR_ELSEIF (n == 3 | n == 4, cond) + VECTOR_COND_MOVE(y, v64df_sin_aux (pi * (VECTOR_INIT(one) - y), __mask), cond); + VECTOR_ELSEIF (n == 5 | n == 6, cond) + VECTOR_COND_MOVE(y, -v64df_cos_aux (pi * (y - 1.5), __mask), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE(y, v64df_sin_aux (pi * (y - 2.0), __mask), cond); + VECTOR_ENDIF + + VECTOR_RETURN(-y, NO_COND); + FUNCTION_RETURN; +} + +DEF_VD_MATH_FUNC (v64df, lgamma_r, v64df x, v64si *signgamp) +{ + FUNCTION_INIT (v64df); + + v64df t,y,z,nadj = VECTOR_INIT(0.0),p,p1,p2,p3,q,r,w; + v64si i,hx,lx,ix; + + EXTRACT_WORDS(hx,lx,x); + + /* purge off +-inf, NaN, +-0, and negative arguments */ + *signgamp = VECTOR_INIT(1); + ix = hx&0x7fffffff; + VECTOR_IF(ix>=0x7ff00000, cond) + VECTOR_RETURN (x*x, cond); + VECTOR_ENDIF + VECTOR_IF((ix|lx)==0, cond) + VECTOR_COND_MOVE(*signgamp, VECTOR_INIT(-1), cond & (hx<0)); + VECTOR_RETURN(one/(x-x), cond); + VECTOR_ENDIF + VECTOR_IF (ix < 0x3b900000, cond) /* |x|<2**-70, return -log(|x|) */ + VECTOR_IF2(hx<0, cond2, cond) + VECTOR_COND_MOVE(*signgamp, VECTOR_INIT(-1), cond); + VECTOR_RETURN (-v64df_log_aux(-x, __mask), cond2); + VECTOR_ELSE2(cond2, cond) + VECTOR_RETURN (-v64df_log_aux(x, __mask), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (hx < 0, cond) + VECTOR_IF2(ix>=0x43300000, cond2, cond) /* |x|>=2**52, must be -integer */ + VECTOR_RETURN(one/(x-x), cond2); /* -integer */ + VECTOR_ENDIF + VECTOR_COND_MOVE (t, v64df_sin_pi (x), cond); + VECTOR_IF2(__builtin_convertvector(t==zero, v64si), cond2, cond) + VECTOR_RETURN(one/(x-x), cond2); /* -integer */ + VECTOR_ENDIF + VECTOR_COND_MOVE(nadj, v64df_log_aux(VECTOR_INIT(pi)/__builtin_gcn_fabsv(t*x), __mask), cond); + VECTOR_COND_MOVE(*signgamp, VECTOR_INIT(-1), cond & __builtin_convertvector(t < zero, v64si)); + VECTOR_COND_MOVE(x, -x, cond); + VECTOR_ENDIF + + /* purge off 1 and 2 */ + VECTOR_IF((((ix-0x3ff00000)|lx)==0)|(((ix-0x40000000)|lx)==0), cond) + VECTOR_COND_MOVE(r, VECTOR_INIT(0.0), cond); + /* for x < 2.0 */ + VECTOR_ELSEIF(ix<0x40000000, cond) + VECTOR_IF2(ix<=0x3feccccc, cond2, cond) + /* lgamma(x) = lgamma(x+1)-log(x) */ + r = -v64df_log_aux(x, __mask); + VECTOR_IF2(ix>=0x3FE76944, cond3, cond2) + VECTOR_COND_MOVE(y, one-x, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(0), cond3); + VECTOR_ELSEIF2(ix>=0x3FCDA661, cond3, cond2) + VECTOR_COND_MOVE(y, x-(tc-one), cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(1), cond3); + VECTOR_ELSE2(cond3, cond2) + VECTOR_COND_MOVE(y, x, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(2), cond3); + VECTOR_ENDIF + VECTOR_ELSE2(cond2, cond) + VECTOR_COND_MOVE(r, VECTOR_INIT(zero), cond2); + VECTOR_IF2(ix>=0x3FFBB4C3, cond3, cond2) /* [1.7316,2] */ + VECTOR_COND_MOVE(y, VECTOR_INIT(2.0)-x, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(0), cond3); + VECTOR_ELSEIF2(ix>=0x3FF3B4C4, cond3, cond2) /* [1.23,1.73] */ + VECTOR_COND_MOVE(y, x-tc, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(1), cond3); + VECTOR_ELSE2(cond3, cond2) + VECTOR_COND_MOVE(y, x-one, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(2), cond3); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF2(i==0, cond2, cond) + VECTOR_COND_MOVE(z, y*y, cond2); + VECTOR_COND_MOVE(p1, a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10)))), cond2); + VECTOR_COND_MOVE(p2, z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11))))), cond2); + VECTOR_COND_MOVE(p, y*p1+p2, cond2); + VECTOR_COND_MOVE(r, r + (p-0.5*y), cond2); + VECTOR_ELSEIF2(i==1, cond2, cond) + VECTOR_COND_MOVE(z, y*y, cond2); + VECTOR_COND_MOVE(w, z*y, cond2); + VECTOR_COND_MOVE(p1, t0+w*(t3+w*(t6+w*(t9 +w*t12))), cond2); /* parallel comp */ + VECTOR_COND_MOVE(p2, t1+w*(t4+w*(t7+w*(t10+w*t13))), cond2); + VECTOR_COND_MOVE(p3, t2+w*(t5+w*(t8+w*(t11+w*t14))), cond2); + VECTOR_COND_MOVE(p, z*p1-(tt-w*(p2+y*p3)), cond2); + VECTOR_COND_MOVE(r, r + (tf + p), cond2); + VECTOR_ELSEIF2(i==2, cond2, cond) + VECTOR_COND_MOVE(p1, y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5))))), cond2); + VECTOR_COND_MOVE(p2, one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5)))), cond2); + VECTOR_COND_MOVE(r, r + (-0.5*y + p1/p2), cond2); + VECTOR_ENDIF + VECTOR_ELSEIF(ix<0x40200000, cond) + /* x < 8.0 */ + VECTOR_COND_MOVE(i, __builtin_convertvector(x, v64si), cond); + VECTOR_COND_MOVE(t, VECTOR_INIT(zero), cond); + VECTOR_COND_MOVE(y, x-__builtin_convertvector(i, v64df), cond); + VECTOR_COND_MOVE(p, y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6)))))), cond); + VECTOR_COND_MOVE(q, one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6))))), cond); + VECTOR_COND_MOVE(r, half*y+p/q, cond); + VECTOR_COND_MOVE(z, VECTOR_INIT(one), cond); /* lgamma(1+s) = log(s) + lgamma(s) */ + VECTOR_IF2(i==7, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+6.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i==7 | i==6, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+5.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i<=7 & i>=5, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+4.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i<=7 & i>=4, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+3.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i<=7 & i>=3, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+2.0), cond2); + VECTOR_COND_MOVE(r, r + v64df_log_aux(z, __mask), cond2); + VECTOR_ENDIF + /* 8.0 <= x < 2**58 */ + VECTOR_ELSEIF(ix < 0x43900000, cond) + VECTOR_COND_MOVE(t, v64df_log_aux(x, __mask), cond); + VECTOR_COND_MOVE(z, one/x, cond); + VECTOR_COND_MOVE(y, z*z, cond); + VECTOR_COND_MOVE(w, w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6))))), cond); + VECTOR_COND_MOVE(r, (x-half)*(t-one)+w, cond); + VECTOR_ELSE(cond) + /* 2**58 <= x <= inf */ + VECTOR_COND_MOVE(r, x*(v64df_log_aux(x, __mask)-one), cond); + VECTOR_ENDIF + VECTOR_IF(hx<0, cond) + VECTOR_COND_MOVE(r, nadj - r, cond); + VECTOR_ENDIF + + VECTOR_RETURN(r, NO_COND); + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_log.c b/newlib/libm/machine/amdgcn/v64df_log.c new file mode 100644 index 000000000..573bb3978 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_log.c @@ -0,0 +1,111 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/s_logarithm.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_finite (v64df); +v64si v64df_isnan (v64df); + +static const double a[] = { -0.64124943423745581147e+02, + 0.16383943563021534222e+02, + -0.78956112887481257267 }; +static const double b[] = { -0.76949932108494879777e+03, + 0.31203222091924532844e+03, + -0.35667977739034646171e+02 }; +static const double C1 = 22713.0 / 32768.0; +static const double C2 = 1.428606820309417232e-06; + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_frexpv_mant) \ + && __has_builtin (__builtin_gcn_frexpv_exp) \ + +DEF_VD_MATH_FUNC (v64df, log, v64df x) +{ + FUNCTION_INIT (v64df); + + /* Check for domain/range errors here. */ + VECTOR_IF (x == 0.0, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (-z_infinity.d), cond); + VECTOR_ELSEIF (x < 0.0, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum.d), cond); + VECTOR_ELSEIF (__builtin_convertvector (~v64df_finite (x), v64di), cond) + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (z_notanum.d), + VECTOR_INIT (z_infinity.d), + v64df_isnan (x)), + cond); + VECTOR_ENDIF + + /* Get the exponent and mantissa where x = f * 2^N. */ + v64df f = __builtin_gcn_frexpv_mant (x); + v64si N = __builtin_gcn_frexpv_exp (x); + + v64df z = f - 0.5; + + VECTOR_IF (f > __SQRT_HALF, cond) + VECTOR_COND_MOVE (z, (z - 0.5) / (f * 0.5 + 0.5), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (N, N - 1, cond); + VECTOR_COND_MOVE (z, z / (z * 0.5 + 0.5), cond); + VECTOR_ENDIF + + v64df w = z * z; + + /* Use Newton's method with 4 terms. */ + z += z * w * ((a[2] * w + a[1]) * w + a[0]) / (((w + b[2]) * w + b[1]) * w + b[0]); + + v64df Nf = __builtin_convertvector (N, v64df); + VECTOR_COND_MOVE (z, (Nf * C2 + z) + Nf * C1, N != 0); + + VECTOR_RETURN (z, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (log, df, df) + +DEF_VD_MATH_FUNC (v64df, log1p, v64df x) +{ + /* TODO: Implement algorithm with better precision. */ + return v64df_log_aux (1 + x, __mask); +} + +DEF_VARIANTS (log1p, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_log10.c b/newlib/libm/machine/amdgcn/v64df_log10.c new file mode 100644 index 000000000..45237b895 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_log10.c @@ -0,0 +1,50 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/s_logarithm.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_log_aux (v64df, v64di); + +static const double C3 = 0.43429448190325182765; + +DEF_VD_MATH_FUNC (v64df, log10, v64df x) +{ + return v64df_log_aux (x, __mask) * C3; +} + +DEF_VARIANTS (log10, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_log2.c b/newlib/libm/machine/amdgcn/v64df_log2.c new file mode 100644 index 000000000..3e7ed1f17 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_log2.c @@ -0,0 +1,26 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +#include "amdgcnmach.h" + +v64df v64df_log_aux (v64df, v64di); + +static const double C3 = 1.4426950408889634073599246810019; + +DEF_VD_MATH_FUNC (v64df, log2, v64df x) +{ + return v64df_log_aux (x, __mask) * C3; +} + +DEF_VARIANTS (log2, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_modf.c b/newlib/libm/machine/amdgcn/v64df_modf.c new file mode 100644 index 000000000..bc0b810b7 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_modf.c @@ -0,0 +1,80 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_modf.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_numtest (v64df); + +DEF_VD_MATH_FUNC (v64df, modf, v64df x, v64df *iptr) +{ + FUNCTION_INIT (v64df); + v64df ret_i; + + v64si i0, i1; + EXTRACT_WORDS(i0, i1, x); + v64si j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; /* exponent of x */ + v64df zero; + v64si i; + INSERT_WORDS (zero, i0 & 0x80000000, VECTOR_INIT (0), NO_COND); + + VECTOR_IF (j0 < 20, cond) /* integer part in x*/ + VECTOR_IF2 (j0 < 0, cond2, cond) /* |x|<1 */ + VECTOR_COND_MOVE (ret_i, zero, cond2); + VECTOR_RETURN (x, cond2); + VECTOR_ELSE2 (cond2, cond) + i = (0x000fffff) >> j0; + + VECTOR_IF2 (((i0 & i) | i1) == 0, cond3, cond2) /* x is integral */ + VECTOR_COND_MOVE (ret_i, x, cond3); + VECTOR_RETURN (zero, cond3); + VECTOR_ELSE2 (cond3, cond2) + INSERT_WORDS (ret_i, i0 & ~i, VECTOR_INIT (0), cond3); + VECTOR_RETURN (x - ret_i, cond3); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_ELSEIF (j0 > 51, cond) /* no fraction part */ + VECTOR_COND_MOVE (ret_i, x, cond); + VECTOR_IF2 (v64df_numtest (x) == NAN, cond2, cond) + VECTOR_COND_MOVE (ret_i, x + x, cond2); + VECTOR_RETURN (ret_i, cond2); /* x is NaN, return NaN */ + VECTOR_ENDIF + VECTOR_RETURN (zero, cond); /* return +- 0 */ + VECTOR_ELSE (cond) + i = 0xffffffff >> (j0 - 20); + VECTOR_IF2 ((i1 & i) == 0, cond2, cond) + VECTOR_COND_MOVE (ret_i, x, cond2); + INSERT_WORDS (x, i0 & 0x80000000, VECTOR_INIT (0), cond2); + VECTOR_RETURN (x, cond2); + VECTOR_ELSE2 (cond2, cond) + INSERT_WORDS (ret_i, i0, i1 & ~i, cond2); + VECTOR_RETURN (x - ret_i, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + *iptr = ret_i; + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64df_numtest.c b/newlib/libm/machine/amdgcn/v64df_numtest.c new file mode 100644 index 000000000..55f0340f1 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_numtest.c @@ -0,0 +1,60 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_numtest.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si +v64df_numtest (v64df x) +{ + // Explicitly create mask for internal function. + v64si __mask = VECTOR_INIT (-1); + FUNCTION_INIT (v64si); + + v64si hx, lx; + EXTRACT_WORDS (hx, lx, x); + v64si exp = (hx & 0x7ff00000) >> 20; + + /* Check for a zero input. */ + VECTOR_RETURN (VECTOR_INIT (0), x == 0.0); + + /* Check for not a number or infinity. */ + VECTOR_IF (exp == 0x7ff, cond) + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (NAN), + VECTOR_INIT (INF), + ((hx & 0xf0000) != 0) | (lx != 0)), + cond); + /* Otherwise it's a finite value. */ + VECTOR_ELSE (cond) + VECTOR_RETURN (VECTOR_INIT (NUM), cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64df_pow.c b/newlib/libm/machine/amdgcn/v64df_pow.c new file mode 100644 index 000000000..1035d0532 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_pow.c @@ -0,0 +1,336 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/math/e_pow.c in Newlib. */ + +#include "amdgcnmach.h" + +static const double +bp[] = {1.0, 1.5,}, +dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */ +dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */ +zero = 0.0, +one = 1.0, +two = 2.0, +two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */ + /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */ +L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */ +L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */ +L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */ +L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */ +L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */ +L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */ +P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */ +P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */ +P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */ +P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */ +P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */ +lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */ +lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */ +lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */ +ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */ +cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */ +cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */ +cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/ +ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */ +ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/ +ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/ + +v64df v64df_sqrt_aux (v64df, v64di); +v64df v64df_scalbn_aux (v64df, v64si, v64di); + +static v64df v64df_math_oflow (v64di sign) +{ + errno = ERANGE; + return VECTOR_MERGE (VECTOR_INIT (-0x1p769), + VECTOR_INIT (0x1p769), sign) * 0x1p769; +} + +static v64df v64df_math_uflow (v64di sign) +{ + errno = ERANGE; + return VECTOR_MERGE (VECTOR_INIT (-0x1p-767), + VECTOR_INIT (0x1p-767), sign) * 0x1p-767; +} + +static v64si v64df_issignaling_inline (v64df x) +{ + v64si __mask = VECTOR_INIT (-1); + v64si ix; + GET_HIGH_WORD (ix, x, NO_COND); + /* Use IEEE-754 2008 encoding - i.e. exponent bits all 1, MSB of + significand is 0 for signalling NaN. */ + return ((ix & 0x7ff00000) == 0x7ff00000) & ((ix & 0x00080000) == 0); +} + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC (v64df, pow, v64df x, v64df y) +{ + FUNCTION_INIT (v64df); + + v64si hx, hy, lx, ly; + EXTRACT_WORDS(hx,lx,x); + EXTRACT_WORDS(hy,ly,y); + v64si ix = hx&0x7fffffff; + v64si iy = hy&0x7fffffff; + + /* y==zero: x**0 = 1 unless x is snan */ + VECTOR_IF ((iy|ly)==0, cond) + VECTOR_RETURN (x + y, cond & v64df_issignaling_inline(x)); + VECTOR_RETURN (VECTOR_INIT (1.0), cond); + VECTOR_ENDIF + + /* x|y==NaN return NaN unless x==1 then return 1 */ + VECTOR_IF ((ix > 0x7ff00000) | ((ix==0x7ff00000)&(lx!=0)) + | (iy > 0x7ff00000) | ((iy==0x7ff00000)&(ly!=0)), cond) + VECTOR_RETURN (VECTOR_INIT (1.0), cond & ((hx-0x3ff00000)|lx)==0 + & ~v64df_issignaling_inline(y)); + VECTOR_RETURN (x + y, cond); + VECTOR_ENDIF + + /* determine if y is an odd int when x < 0 + * yisint = 0 ... y is not an integer + * yisint = 1 ... y is an odd int + * yisint = 2 ... y is an even int + */ + v64si yisint = VECTOR_INIT (0); + + VECTOR_IF (hx < 0, cond) + VECTOR_IF2(iy>=0x43400000, cond2, cond) + VECTOR_COND_MOVE (yisint, VECTOR_INIT (2), cond2); /* even integer y */ + VECTOR_ELSEIF2 (iy>=0x3ff00000, cond2, cond) + v64si k = (iy>>20)-0x3ff; /* exponent */ + VECTOR_IF2 (k>20, cond3, cond2) + v64si j = ly>>(52-k); + VECTOR_COND_MOVE (yisint, 2-(j&1), cond3 & (j<<(52-k))==ly); + VECTOR_ELSEIF2 (ly==0, cond3, cond2) + v64si j = iy>>(20-k); + VECTOR_COND_MOVE (yisint, 2-(j&1), cond3 & (j<<(20-k))==iy); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_ENDIF + + /* special value of y */ + VECTOR_IF (ly==0, cond) + VECTOR_IF2 (iy==0x7ff00000, cond2, cond) /* y is +-inf */ + VECTOR_IF2 (((ix-0x3ff00000)|lx)==0, cond3, cond2) + VECTOR_RETURN (VECTOR_INIT (1.0), cond3); /* +-1**+-inf = 1 */ + VECTOR_ELSEIF2 (ix >= 0x3ff00000, cond3, cond2) /* (|x|>1)**+-inf = inf,0 */ + VECTOR_RETURN (y, cond3 & hy>=0); + VECTOR_RETURN (VECTOR_INIT (0.0), cond3); + VECTOR_ELSE2 (cond3, cond2) /* (|x|<1)**-,+inf = inf,0 */ + VECTOR_RETURN (-y, cond3 & hy<0); + VECTOR_RETURN (VECTOR_INIT (0.0), cond3); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF2 (iy==0x3ff00000, cond2, cond) /* y is +-1 */ + VECTOR_RETURN (VECTOR_INIT (1.0) / x, cond2 & hy<0); + VECTOR_RETURN (x, cond2); + VECTOR_ENDIF + VECTOR_RETURN (x*x, cond & hy==0x40000000); /* y is 2 */ + /* y is 0.5 */ + /* x >= +0 */ + VECTOR_RETURN (v64df_sqrt_aux (x, __mask), cond & (hy==0x3fe00000) & (hx>=0)); + VECTOR_ENDIF + + v64df ax = __builtin_gcn_fabsv(x); + /* special value of x */ + VECTOR_IF (lx==0, cond) + VECTOR_IF2 ((ix==0x7ff00000)|(ix==0)|(ix==0x3ff00000), cond2, cond) + v64df z = ax; /*x is +-0,+-inf,+-1*/ + VECTOR_COND_MOVE (z, VECTOR_INIT (1.0) / z, cond2 & (hy<0)); /* z = (1/|x|) */ + VECTOR_IF2 (hx<0, cond3, cond2) + VECTOR_IF2 (((ix-0x3ff00000)|yisint)==0, cond4, cond3) + VECTOR_COND_MOVE (z, (z-z)/(z-z), cond4); /* (-1)**non-int is NaN */ + VECTOR_ELSEIF2 (yisint==1, cond4, cond3) + VECTOR_COND_MOVE (z, -z, cond4); /* (x<0)**odd = -(|x|**odd) */ + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_RETURN (z, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + /* (x<0)**(non-int) is NaN */ + VECTOR_RETURN ((x-x)/(x-x), ((((hx >> 31) & 1) - 1)|yisint)==0); + + v64df t1, t2; + + /* |y| is huge */ + VECTOR_IF(iy>0x41e00000, cond) /* if |y| > 2**31 */ + VECTOR_IF2 (iy>0x43f00000, cond2, cond) /* if |y| > 2**64, must o/uflow */ + VECTOR_IF2 (ix<=0x3fefffff, cond3, cond2) + VECTOR_RETURN (v64df_math_oflow (VECTOR_INIT (0L)), cond3 & (hy<0)); + VECTOR_RETURN (v64df_math_uflow (VECTOR_INIT (0L)), cond3); + VECTOR_ENDIF + VECTOR_IF2 (ix>=0x3ff00000, cond3, cond2) + VECTOR_RETURN (v64df_math_oflow (VECTOR_INIT (0L)), cond3 & (hy>0)); + VECTOR_RETURN (v64df_math_uflow (VECTOR_INIT (0L)), cond3); + VECTOR_ENDIF + VECTOR_ENDIF + /* over/underflow if x is not close to one */ + VECTOR_IF2 (ix<0x3fefffff, cond2, cond) + VECTOR_RETURN (v64df_math_oflow (VECTOR_INIT (0L)), cond2 & (hy<0)); + VECTOR_RETURN (v64df_math_uflow (VECTOR_INIT (0L)), cond2); + VECTOR_ENDIF + VECTOR_IF2 (ix>0x3ff00000, cond2, cond) + VECTOR_RETURN (v64df_math_oflow (VECTOR_INIT (0L)), cond2 & (hy>0)); + VECTOR_RETURN (v64df_math_uflow (VECTOR_INIT (0L)), cond2); + VECTOR_ENDIF + /* now |1-x| is tiny <= 2**-20, suffice to compute + log(x) by x-x^2/2+x^3/3-x^4/4 */ + v64df t = ax-1; /* t has 20 trailing zeros */ + v64df w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25)); + v64df u = ivln2_h*t; /* ivln2_h has 21 sig. bits */ + v64df v = t*ivln2_l-w*ivln2; + VECTOR_COND_MOVE (t1, u+v, cond); + SET_LOW_WORD (t1, VECTOR_INIT (0), cond); + VECTOR_COND_MOVE (t2, v-(t1-u), cond); + VECTOR_ELSE (cond) + v64si n = VECTOR_INIT (0); + /* take care subnormal number */ + VECTOR_IF2 (ix<0x00100000, cond2, cond) + VECTOR_COND_MOVE (ax, ax * two53, cond2); + VECTOR_COND_MOVE (n, n - 53, cond2); + GET_HIGH_WORD (ix, ax, cond2); + VECTOR_ENDIF + n += ((ix)>>20)-0x3ff; + v64si j = ix&0x000fffff; + /* determine interval */ + ix = j|0x3ff00000; /* normalize ix */ + v64si k; + VECTOR_IF2 (j<=0x3988E, cond2, cond) + VECTOR_COND_MOVE (k, VECTOR_INIT (0), cond2); /* |x|>1)|0x20000000)+0x00080000+(k<<18), cond); + v64df t_l = ax - (t_h-bp_k); + v64df s_l = v*((u-s_h*t_h)-s_h*t_l); + /* compute log(ax) */ + v64df s2 = s*s; + v64df r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6))))); + r += s_l*(s_h+s); + s2 = s_h*s_h; + t_h = 3.0+s2+r; + SET_LOW_WORD (t_h, VECTOR_INIT (0), cond); + t_l = r-((t_h-3.0)-s2); + /* u+v = s*(1+...) */ + u = s_h*t_h; + v = s_l*t_h+t_l*s; + /* 2/(3log2)*(s+...) */ + v64df p_h = u+v; + SET_LOW_WORD (p_h, VECTOR_INIT (0), cond); + v64df p_l = v-(p_h-u); + v64df z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */ + v64df dp_l_k = VECTOR_MERGE (VECTOR_INIT (dp_l[1]), VECTOR_INIT (dp_l[0]), k == 1); + v64df z_l = cp_l*p_h+p_l*cp+dp_l_k; + /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */ + v64df t = __builtin_convertvector (n, v64df); + v64df dp_h_k = VECTOR_MERGE (VECTOR_INIT (dp_h[1]), VECTOR_INIT (dp_h[0]), k == 1); + VECTOR_COND_MOVE (t1, ((z_h+z_l)+dp_h_k)+t, cond); + SET_LOW_WORD (t1, VECTOR_INIT (0), cond); + VECTOR_COND_MOVE (t2, z_l-(((t1-t)-dp_h_k)-z_h), cond); + VECTOR_ENDIF + + v64df s = VECTOR_INIT (1.0); /* s (sign of result -ve**odd) = -1 else = 1 */ + VECTOR_COND_MOVE (s, VECTOR_INIT (-1.0), /* (-ve)**(odd int) */ + ((hx>>31) != 0)&(yisint == 1)); + + /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ + v64df y1 = y; + SET_LOW_WORD (y1, VECTOR_INIT (0), NO_COND); + v64df p_l = (y-y1)*t1+y*t2; + v64df p_h = y1*t1; + v64df z = p_l+p_h; + v64si i, j; + EXTRACT_WORDS(j, i, z); + VECTOR_IF (j>=0x40900000, cond) /* z >= 1024 */ + /* if z > 1024 */ + v64di cond_di = __builtin_convertvector (cond, v64di); + VECTOR_RETURN (v64df_math_oflow(s<0), cond & (((j-0x40900000)|i)!=0)); /* overflow */ + VECTOR_RETURN (v64df_math_oflow(s<0), cond_di & (p_l+ovt>z-p_h)); /* overflow */ + VECTOR_ELSEIF ((j&0x7fffffff)>=0x4090cc00, cond) /* z <= -1075 */ + /* z < -1075 */ + v64di cond_di = __builtin_convertvector (cond, v64di); + VECTOR_RETURN (v64df_math_uflow(s<0), cond & (((j-0xc090cc00)|i)!=0)); /* underflow */ + VECTOR_RETURN (v64df_math_uflow(s<0), cond_di & (p_l<=z-p_h)); /* underflow */ + VECTOR_ENDIF + + /* + * compute 2**(p_h+p_l) + */ + i = j&0x7fffffff; + v64si k = (i>>20)-0x3ff; + v64si n = VECTOR_INIT (0); + VECTOR_IF (i>0x3fe00000, cond) /* if |z| > 0.5, set n = [z+0.5] */ + VECTOR_COND_MOVE (n, j+(0x00100000>>(k+1)), cond); + k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */ + v64df t = VECTOR_INIT (0.0); + SET_HIGH_WORD(t, n&~(0x000fffff>>k), cond); + VECTOR_COND_MOVE (n, ((n&0x000fffff)|0x00100000)>>(20-k), cond); + VECTOR_COND_MOVE (n, -n, cond & (j<0)); + VECTOR_COND_MOVE (p_h, p_h - t, cond); + VECTOR_ENDIF + v64df t = p_l+p_h; + SET_LOW_WORD(t, VECTOR_INIT (0), NO_COND); + v64df u = t*lg2_h; + v64df v = (p_l-(t-p_h))*lg2+t*lg2_l; + z = u+v; + v64df w = v-(z-u); + t = z*z; + t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); + v64df r = (z*t1)/(t1-two)-(w+z*w); + z = VECTOR_INIT (1.0)-(r-z); + GET_HIGH_WORD(j,z, NO_COND); + j += (n<<20); + VECTOR_IF ((j>>20)<=0, cond) + VECTOR_COND_MOVE (z, v64df_scalbn_aux (z, n, __mask), cond); /* subnormal output */ + VECTOR_ELSE (cond) + SET_HIGH_WORD(z,j, cond); + VECTOR_ENDIF + VECTOR_RETURN (s*z, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (pow, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_remainder.c b/newlib/libm/machine/amdgcn/v64df_remainder.c new file mode 100644 index 000000000..01fda8e1b --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_remainder.c @@ -0,0 +1,82 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/e_remainder.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_fmod_aux (v64df, v64df, v64di); + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC (v64df, remainder, v64df x, v64df p) +{ + FUNCTION_INIT (v64df); + + v64si hx, lx; + EXTRACT_WORDS (hx, lx, x); + v64si hp, lp; + EXTRACT_WORDS (hp, lp, p); + v64si sx = hx & 0x80000000; + hp &= 0x7fffffff; + hx &= 0x7fffffff; + + /* purge off exception values */ + VECTOR_RETURN ((x * p) / (x * p), ((hp | lp) == 0) | ((hx >= 0x7ff00000) + | /* x not finite */ + ((hp >= 0x7ff00000) & /* p is NaN */ + (((hp - 0x7ff00000) | lp) != 0)))); + + VECTOR_COND_MOVE (x, v64df_fmod_aux (x, p+p, __mask), hp <= 0x7fdfffff); // now x < 2p + + VECTOR_RETURN (0.0 * x, ((hx-hp)|(lx-lp))==0); + + x = __builtin_gcn_fabsv (x); + p = __builtin_gcn_fabsv (p); + + VECTOR_IF (hp < 0x00200000, cond) + VECTOR_IF2 (x + x > p, cond2, __builtin_convertvector(cond, v64di)) + VECTOR_COND_MOVE (x, x - p, cond2); + VECTOR_COND_MOVE (x, x - p, cond2 & (x + x >= p)); + VECTOR_ENDIF + VECTOR_ELSE (cond) + v64df p_half = 0.5 * p; + VECTOR_IF2 (x > p_half, cond2, __builtin_convertvector(cond, v64di)) + VECTOR_COND_MOVE (x, x - p, cond2); + VECTOR_COND_MOVE (x, x - p, cond2 & (x >= p_half)); + VECTOR_ENDIF + VECTOR_ENDIF + + GET_HIGH_WORD (hx, x, NO_COND); + SET_HIGH_WORD (x, hx ^ sx, NO_COND); + + VECTOR_RETURN (x, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (remainder, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_rint.c b/newlib/libm/machine/amdgcn/v64df_rint.c new file mode 100644 index 000000000..18f6b318f --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_rint.c @@ -0,0 +1,83 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_rint.c in Newlib. */ + +#include "amdgcnmach.h" + +static const double TWO52[2] = { + 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */ + -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */ +}; + +DEF_VD_MATH_FUNC (v64df, rint, v64df x) +{ + FUNCTION_INIT (v64df); + + v64si i0, i1; + EXTRACT_WORDS (i0, i1, x); + v64si sx = (i0 >> 31) & 1; + v64df two52 = VECTOR_MERGE (VECTOR_INIT (TWO52[1]), VECTOR_INIT (TWO52[0]), sx != 0); + v64si j0 = ((i0 >> 20) & 0x7ff) - 0x3ff; + v64si i; + VECTOR_IF (j0 < 20, cond) + VECTOR_IF2 (j0 < 0, cond2, cond) + VECTOR_RETURN (x, cond2 & (((i0 & 0x7fffffff) | i1) == 0)); + VECTOR_COND_MOVE (i1, i1 | (i0 & 0x0fffff), cond2); + VECTOR_COND_MOVE (i0, i0 & 0xfffe0000, cond2); + VECTOR_COND_MOVE (i0, i0 | (((i1 | -i1) >> 12) & 0x80000), cond2); + SET_HIGH_WORD (x, i0, cond2); + v64df w = two52 + x; + v64df t = w - two52; + GET_HIGH_WORD (i0, t, cond2); + SET_HIGH_WORD (t, (i0&0x7fffffff)|(sx<<31), cond2); + VECTOR_RETURN (t, cond2); + VECTOR_ELSE2 (cond2, cond) + i = (0x000fffff) >> j0; + VECTOR_RETURN (x, cond2 & (((i0 & i) | i1) == 0)); /* x is integral */ + i >>= 1; + VECTOR_IF2 (((i0 & i) | i1) != 0, cond3, cond2) + VECTOR_COND_MOVE (i1, CAST_VECTOR(v64si, VECTOR_INIT (0x80000000)), cond3 & (j0 == 19)); + VECTOR_COND_MOVE (i1, VECTOR_INIT (0), cond3 & (j0 != 19)); + VECTOR_COND_MOVE (i0, (i0 & (~i)) | ((0x40000) >> j0), cond3); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_ELSEIF (j0 > 51, cond) + VECTOR_RETURN (x + x, cond & (j0 == 0x400)); + VECTOR_RETURN (x, cond); + VECTOR_ELSE (cond) + i = CAST_VECTOR (v64si, VECTOR_INIT (0xffffffff) >> (j0 - 20)); + VECTOR_RETURN (x, cond & ((i1 & i) == 0)); + i >>= 1; + VECTOR_COND_MOVE (i1, (i1 & (~i)) | (0x40000000 >> (j0 - 20)), cond & ((i1 & i) != 0)); + VECTOR_ENDIF + INSERT_WORDS (x, i0, i1, NO_COND); + v64df w = two52 + x; + VECTOR_RETURN (w - two52, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (rint, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_scalb.c b/newlib/libm/machine/amdgcn/v64df_scalb.c new file mode 100644 index 000000000..a7e68fefe --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_scalb.c @@ -0,0 +1,64 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/e_scalb.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_isnan (v64df); +v64si v64df_finite (v64df); +v64df v64df_rint_aux (v64df, v64di); +v64df v64df_scalbn_aux (v64df, v64si, v64di); + +DEF_VD_MATH_FUNC (v64df, scalb, v64df x, v64df fn) +{ + FUNCTION_INIT (v64df); + + VECTOR_IF (v64df_isnan(x) | v64df_isnan(fn), cond) + VECTOR_RETURN (x * fn, cond); + VECTOR_ENDIF + VECTOR_IF (~v64df_finite (fn), cond) + VECTOR_IF2 (fn > 0.0, cond2, cond) + VECTOR_RETURN (x * fn, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (x / (-fn), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (v64df_rint_aux (fn, __mask) != fn, cond) + VECTOR_RETURN ((fn-fn)/(fn-fn), cond); + VECTOR_ENDIF + VECTOR_IF (fn > 65000.0, cond) + VECTOR_RETURN (v64df_scalbn_aux (x, VECTOR_INIT (65000), __mask), cond); + VECTOR_ENDIF + VECTOR_IF (-fn > 65000.0, cond) + VECTOR_RETURN (v64df_scalbn_aux (x, VECTOR_INIT (-65000), __mask), cond); + VECTOR_ENDIF + VECTOR_RETURN (v64df_scalbn_aux (x, __builtin_convertvector (fn, v64si), __mask), + NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (scalb, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_scalbn.c b/newlib/libm/machine/amdgcn/v64df_scalbn.c new file mode 100644 index 000000000..44d91799a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_scalbn.c @@ -0,0 +1,72 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/s_scalbn.c in Newlib. */ + +#include "amdgcnmach.h" +#include +#include + +static const double +two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */ +twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */ +huge = 1.0e+300, +tiny = 1.0e-300; + +v64df v64df_copysign_aux (v64df, v64df, v64di); + +DEF_VD_MATH_FUNC (v64df, scalbn, v64df x, v64si n) +{ + FUNCTION_INIT (v64df); + + const v64df huge_v = VECTOR_INIT ((double) huge); + const v64df tiny_v = VECTOR_INIT ((double) tiny); + + v64si hx, lx; + EXTRACT_WORDS (hx, lx, x); + v64si k =(hx&0x7ff00000)>>20; /* extract exponent */ + VECTOR_IF (k == 0, cond) /* 0 or subnormal x */ + VECTOR_RETURN (x, cond & ((lx|(hx&0x7fffffff))==0)); /* +- 0 */ + VECTOR_COND_MOVE (x, x * two54, cond); + GET_HIGH_WORD (hx, x, cond); + VECTOR_COND_MOVE (k, ((hx&0x7ff00000)>>20) - 54, cond); + VECTOR_RETURN (tiny*x, cond & (n < -50000)); /*underflow*/ + VECTOR_ENDIF + VECTOR_RETURN (x+x, k == 0x7ff); /* NaN or Inf */ + /* in case integer overflow in n+k */ + VECTOR_RETURN (huge_v * v64df_copysign_aux (huge_v, x, __mask), n > 50000); + k = k + n; + VECTOR_RETURN (huge_v * v64df_copysign_aux (huge_v, x, __mask), k > 0x7fe); + VECTOR_IF (k > 0, cond) /* normal result */ + SET_HIGH_WORD (x, (hx&0x800fffff)|(k<<20), cond); + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_RETURN (tiny_v * v64df_copysign_aux (tiny_v, x, __mask), k <= -54); /*underflow*/ + k += 54; /* subnormal result */ + SET_HIGH_WORD (x, (hx&0x800fffff)|(k<<20), NO_COND); + VECTOR_RETURN (x * twom54, NO_COND); + + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64df_signif.c b/newlib/libm/machine/amdgcn/v64df_signif.c new file mode 100644 index 000000000..e112e1cf1 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_signif.c @@ -0,0 +1,39 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/s_signif.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_scalb_aux (v64df x, v64df fn, v64di); +v64si v64df_ilogb_aux (v64df x, v64si); + +DEF_VD_MATH_FUNC (v64df, significand, v64df x) +{ + v64si si_mask = __builtin_convertvector (__mask, v64si); + return v64df_scalb_aux (x, -__builtin_convertvector (v64df_ilogb_aux (x, si_mask), v64df), __mask); +} + +DEF_VARIANTS (significand, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_sin.c b/newlib/libm/machine/amdgcn/v64df_sin.c new file mode 100644 index 000000000..db91c72cf --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_sin.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_sin.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_sine_aux (v64df, int, v64di); + +DEF_VD_MATH_FUNC (v64df, sin, v64df x) +{ + return v64df_sine_aux (x, 0, __mask); +} + +DEF_VARIANTS (sin, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_sine.c b/newlib/libm/machine/amdgcn/v64df_sine.c new file mode 100644 index 000000000..f70d23481 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_sine.c @@ -0,0 +1,126 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/s_sine.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_numtest (v64df x); + +static const double HALF_PI = 1.57079632679489661923; +static const double ONE_OVER_PI = 0.31830988618379067154; +static const double r[] = { -0.16666666666666665052, + 0.83333333333331650314e-02, + -0.19841269841201840457e-03, + 0.27557319210152756119e-05, + -0.25052106798274584544e-07, + 0.16058936490371589114e-09, + -0.76429178068910467734e-12, + 0.27204790957888846175e-14 }; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC(v64df, sine, v64df x, int cosine) +{ + const double YMAX = 210828714.0; + + FUNCTION_INIT (v64df); + + v64si num_type = v64df_numtest (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum.d), cond); + VECTOR_ENDIF + + /* Use sin and cos properties to ease computations. */ + v64di sgn; + v64df y; + + if (cosine) + { + sgn = VECTOR_INIT (0L); + y = __builtin_gcn_fabsv (x) + HALF_PI; + } + else + { + sgn = x < 0.0; + y = VECTOR_MERGE (-x, x, x < 0.0); + } + + /* Check for values of y that will overflow here. */ + VECTOR_IF (y > YMAX, cond) + errno = ERANGE; + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + + /* Calculate the exponent. */ + v64si Nneg = __builtin_convertvector (y * ONE_OVER_PI - 0.5, v64si); + v64si Npos = __builtin_convertvector (y * ONE_OVER_PI + 0.5, v64si); + v64si N = VECTOR_MERGE (Nneg, Npos, y < 0.0); + v64df XN = __builtin_convertvector (N, v64df); + + VECTOR_COND_MOVE (sgn, ~sgn, (N & 1) != 0); + + if (cosine) + XN -= 0.5; + + y = __builtin_gcn_fabsv (x) - XN * __PI; + + v64df res; + + VECTOR_IF ((-z_rooteps < y) & (y < z_rooteps), cond) + VECTOR_COND_MOVE (res, y, cond); + VECTOR_ELSE (cond) + v64df g = y * y; + + /* Calculate the Taylor series. */ + v64df R = (((((((r[6] * g + r[5]) * g + r[4]) * g + r[3]) * g + r[2]) * g + r[1]) * g + r[0]) * g); + + /* Finally, compute the result. */ + VECTOR_COND_MOVE (res, y + y * R, cond); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, sgn); + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_sineh.c b/newlib/libm/machine/amdgcn/v64df_sineh.c new file mode 100644 index 000000000..b46bebb2e --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_sineh.c @@ -0,0 +1,130 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/s_sineh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_exp_aux (v64df, v64di); +v64si v64df_numtest (v64df); +v64si v64df_ispos (v64df); + +static const double q[] = { -0.21108770058106271242e+7, + 0.36162723109421836460e+5, + -0.27773523119650701667e+3 }; +static const double p[] = { -0.35181283430177117881e+6, + -0.11563521196851768270e+5, + -0.16375798202630751372e+3, + -0.78966127417357099479 }; +static const double LNV = 0.6931610107421875000; +static const double INV_V2 = 0.24999308500451499336; +static const double V_OVER2_MINUS1 = 0.13830277879601902638e-4; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC (v64df, sineh, v64df x, int cosineh) +{ + const double WBAR = 18.55; + + FUNCTION_INIT (v64df); + + v64si sgn = VECTOR_INIT (0); + v64di v_cosineh = VECTOR_INIT (cosineh ? -1L : 0L); + + /* Check for special values. */ + v64si num_type = v64df_numtest (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (z_infinity.d), + VECTOR_INIT (-z_infinity.d), + v64df_ispos (x)), + cond); + VECTOR_ENDIF + + v64df y = __builtin_gcn_fabsv (x); + + if (!cosineh) + VECTOR_COND_MOVE (sgn, VECTOR_INIT (-1), x < 0.0); + + v64df res; + + VECTOR_IF (((y > 1.0) & ~v_cosineh) | v_cosineh, cond) + VECTOR_IF2 (y > BIGX, cond2, cond) + v64df w = y - LNV; + + /* Check for w > maximum here. */ + VECTOR_IF2 (w > BIGX, cond3, cond2) + errno = ERANGE; + VECTOR_RETURN (x, cond3); + VECTOR_ENDIF + + v64df z = v64df_exp_aux (w, __mask); + + VECTOR_COND_MOVE (res, z * (V_OVER2_MINUS1 + 1.0), + cond2 & (w > WBAR)); + VECTOR_ELSE2 (cond2, cond) + v64df z = v64df_exp_aux (y, __mask); + if (cosineh) + VECTOR_COND_MOVE (res, (z + 1 / z) * 0.5, cond2); + else + VECTOR_COND_MOVE (res, (z - 1 / z) * 0.5, cond2); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, sgn); + VECTOR_ELSE (cond) + /* Check for y being too small. */ + VECTOR_IF2 (y < z_rooteps, cond2, cond); + VECTOR_COND_MOVE (res, x, cond2); + VECTOR_ELSE2 (cond2, cond) + /* Calculate the Taylor series. */ + v64df f = x * x; + v64df Q = ((f + q[2]) * f + q[1]) * f + q[0]; + v64df P = ((p[3] * f + p[2]) * f + p[1]) * f + p[0]; + v64df R = f * (P / Q); + + VECTOR_COND_MOVE (res, x + x * R, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_sinh.c b/newlib/libm/machine/amdgcn/v64df_sinh.c new file mode 100644 index 000000000..e91b4e359 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_sinh.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/s_sinh.c. */ + +#include "amdgcnmach.h" + +v64df v64df_sineh_aux (v64df, int, v64di); + +DEF_VD_MATH_FUNC (v64df, sinh, v64df x) +{ + return v64df_sineh_aux (x, 0, __mask); +} + +DEF_VARIANTS (sinh, df, df) diff --git a/newlib/libm/machine/amdgcn/v64df_sqrt.c b/newlib/libm/machine/amdgcn/v64df_sqrt.c new file mode 100644 index 000000000..d3390e564 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_sqrt.c @@ -0,0 +1,104 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/***************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + *****************************************************************/ + +/* Based on newlib/libm/mathfp/s_sqrt.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64df_numtest (v64df); +v64si v64df_ispos (v64df); + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_frexpv_mant) \ + && __has_builtin (__builtin_gcn_frexpv_exp) \ + && __has_builtin (__builtin_gcn_ldexpv) + +DEF_VD_MATH_FUNC (v64df, sqrt, v64df x) +{ + FUNCTION_INIT (v64df); + + /* Check for special values. */ + v64si num_type = v64df_numtest (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + VECTOR_IF2 (v64df_ispos (x), cond2, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum.d), cond2); + VECTOR_ELSE2 (cond2,cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (z_infinity.d), cond); + VECTOR_ENDIF + VECTOR_ENDIF + + /* Initial checks are performed here. */ + VECTOR_IF (x == 0.0, cond) + VECTOR_RETURN (VECTOR_INIT (0.0), cond); + VECTOR_ENDIF + VECTOR_IF (x < 0.0, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum.d), cond); + VECTOR_ENDIF + + /* Find the exponent and mantissa for the form x = f * 2^exp. */ + v64df f = __builtin_gcn_frexpv_mant (x); + v64si exp = __builtin_gcn_frexpv_exp (x); + v64si odd = (exp & 1) != 0; + + /* Get the initial approximation. */ + v64df y = 0.41731 + 0.59016 * f; + + f *= 0.5f; + /* Calculate the remaining iterations. */ + y = y * 0.5f + f / y; + y = y * 0.5f + f / y; + y = y * 0.5f + f / y; + + /* Calculate the final value. */ + VECTOR_COND_MOVE (y, y * __SQRT_HALF, odd); + VECTOR_COND_MOVE (exp, exp + 1, odd); + exp >>= 1; + y = __builtin_gcn_ldexpv (y, exp); + + VECTOR_RETURN (y, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (sqrt, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_tan.c b/newlib/libm/machine/amdgcn/v64df_tan.c new file mode 100644 index 000000000..88fe757a3 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_tan.c @@ -0,0 +1,156 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/math/kf_tan.c in Newlib. */ + +#include "amdgcnmach.h" + +static const double +pio4 = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */ +pio4lo= 3.06161699786838301793e-17, /* 0x3C81A626, 0x33145C07 */ +T[] = { + 3.33333333333334091986e-01, /* 0x3FD55555, 0x55555563 */ + 1.33333333333201242699e-01, /* 0x3FC11111, 0x1110FE7A */ + 5.39682539762260521377e-02, /* 0x3FABA1BA, 0x1BB341FE */ + 2.18694882948595424599e-02, /* 0x3F9664F4, 0x8406D637 */ + 8.86323982359930005737e-03, /* 0x3F8226E3, 0xE96E8493 */ + 3.59207910759131235356e-03, /* 0x3F6D6D22, 0xC9560328 */ + 1.45620945432529025516e-03, /* 0x3F57DBC8, 0xFEE08315 */ + 5.88041240820264096874e-04, /* 0x3F4344D8, 0xF2F26501 */ + 2.46463134818469906812e-04, /* 0x3F3026F7, 0x1A8D1068 */ + 7.81794442939557092300e-05, /* 0x3F147E88, 0xA03792A6 */ + 7.14072491382608190305e-05, /* 0x3F12B80F, 0x32F0A7E9 */ + -1.85586374855275456654e-05, /* 0xBEF375CB, 0xDB605373 */ + 2.59073051863633712884e-05, /* 0x3EFB2A70, 0x74BF7AD4 */ +}; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +static v64df +v64df_kernel_tan (v64df x, v64df y, v64si iy, v64di __mask) +{ + FUNCTION_INIT (v64df); + + v64si hx; + GET_HIGH_WORD(hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; /* high word of |x| */ + + VECTOR_IF (ix < 0x3e300000, cond) /* x < 2**-28 */ + VECTOR_IF2(__builtin_convertvector (x, v64si)==0, cond2, cond) /* generate inexact */ + v64si low; + GET_LOW_WORD (low, x, cond2); + VECTOR_RETURN (1.0 / __builtin_gcn_fabsv (x), ((ix|low)|(iy+1))==0); + VECTOR_RETURN (x, cond2 & (iy == 1)); + v64df z, w; + z = w = x + y; + SET_LOW_WORD (z, VECTOR_INIT (0.0), cond2); + v64df v = y - (z - x); + v64df t, a; + t = a = -1.0 / w; + SET_LOW_WORD(t, VECTOR_INIT (0.0), cond2); + v64df s = 1.0 + t * z; + VECTOR_RETURN ( t + a * (s + t * v), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF(ix>=0x3FE59428, cond) /* |x|>=0.6744 */ + VECTOR_COND_MOVE (x, -x, cond & (hx < 0)); + VECTOR_COND_MOVE (y, -y, cond & (hx < 0)); + v64df z = pio4-x; + v64df w = pio4lo-y; + VECTOR_COND_MOVE (x, z+w, cond); + VECTOR_COND_MOVE (y, VECTOR_INIT (0.0), cond); + VECTOR_ENDIF + v64df z = x*x; + v64df w = z*z; + /* Break x^5*(T[1]+x^2*T[2]+...) into + * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + + * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) + */ + v64df r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11])))); + v64df v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12]))))); + v64df s = z*x; + r = y + z*(s*(r+v)+y); + r += T[0]*s; + w = x+r; + VECTOR_IF(ix>=0x3FE59428, cond) + v = __builtin_convertvector (iy, v64df); + VECTOR_RETURN (__builtin_convertvector (1-((hx>>30)&2), v64df) + * (v-2.0*(x-(w*w/(w+v)-r))), cond); + VECTOR_ENDIF + VECTOR_RETURN (w, iy == 1); + /* if allow error up to 2 ulp, + simply return -1.0/(x+r) here */ + /* compute -1.0/(x+r) accurately */ + z = w; + SET_LOW_WORD (z, VECTOR_INIT (0), NO_COND); + v = r - (z - x); /* z+v = r+x */ + v64df a, t; + t = a = -1.0/w; /* a = -1.0/w */ + SET_LOW_WORD(t, VECTOR_INIT (0), NO_COND); + s = 1.0+t*z; + VECTOR_RETURN (t+a*(s+t*v), NO_COND); + + FUNCTION_RETURN; +} + +static v64si +v64df_rem_pio2 (v64df x, v64df *y) +{ + v64df r = x * __INV_PI_OVER_TWO_2_24; + v64si n = (__builtin_convertvector (r, v64si) + 0x800000) >> 24; + x = x - __builtin_convertvector (n, v64df) * __PI_OVER_TWO; + + y[0] = x; + y[1] = x - y[0]; + return n; +} + +DEF_VD_MATH_FUNC (v64df, tan, v64df x) +{ + FUNCTION_INIT (v64df); + + v64si ix; + GET_HIGH_WORD (ix, x, NO_COND); + + /* |x| ~< pi/4 */ + ix &= 0x7fffffff; + VECTOR_RETURN (v64df_kernel_tan (x, VECTOR_INIT (0.0), VECTOR_INIT (1), __mask), + ix <= 0x3fe921fb); + + /* tan(Inf or NaN) is NaN */ + VECTOR_RETURN (x-x, ix >= 0x7ff00000); /* NaN */ + + /* argument reduction needed */ + v64df y[2]; + v64si n = v64df_rem_pio2 (x,y); + VECTOR_RETURN (v64df_kernel_tan (y[0], y[1], 1-((n&1)<<1), __mask), // 1 -- n even + NO_COND); // -1 -- n odd + + FUNCTION_RETURN; +} + +DEF_VARIANTS (tan, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_tanh.c b/newlib/libm/machine/amdgcn/v64df_tanh.c new file mode 100644 index 000000000..b17cac3a6 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_tanh.c @@ -0,0 +1,92 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/***************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + *****************************************************************/ + +/* Based on newlib/libm/mathfp/s_tanh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_exp_aux (v64df, v64di); + +static const double LN3_OVER2 = 0.54930614433405484570; +static const double p[] = { -0.16134119023996228053e+4, + -0.99225929672236083313e+2, + -0.96437492777225469787 }; +static const double q[] = { 0.48402357071988688686e+4, + 0.22337720718962312926e+4, + 0.11274474380534949335e+3 }; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsv) + +DEF_VD_MATH_FUNC (v64df, tanh, v64df x) +{ + FUNCTION_INIT (v64df); + + v64df f = __builtin_gcn_fabsv (x); + v64df res; + + /* Check if the input is too big. */ + VECTOR_IF (f > BIGX, cond) + VECTOR_COND_MOVE (res, VECTOR_INIT (1.0), cond); + + VECTOR_ELSEIF (f > LN3_OVER2, cond) + VECTOR_COND_MOVE (res, 1.0 - 2.0 / (v64df_exp_aux (2 * f, __mask) + 1.0), + cond); + + /* Check if the input is too small. */ + VECTOR_ELSEIF (f < z_rooteps, cond) + VECTOR_COND_MOVE (res, f, cond); + + /* Calculate the Taylor series. */ + VECTOR_ELSE (cond) + v64df g = f * f; + + v64df P = (p[2] * g + p[1]) * g + p[0]; + v64df Q = ((g + q[2]) * g + q[1]) * g + q[0]; + v64df R = g * (P / Q); + + VECTOR_COND_MOVE (res, f + f * R, cond); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, x < 0.0); + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (tanh, df, df) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64df_tgamma.c b/newlib/libm/machine/amdgcn/v64df_tgamma.c new file mode 100644 index 000000000..f8d811055 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64df_tgamma.c @@ -0,0 +1,42 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/e_tgamma.c in Newlib. */ + +#include "amdgcnmach.h" + +v64df v64df_exp_aux (v64df x, v64di __mask); +v64df v64df_lgamma_r_aux (v64df x, v64si *signgamp, v64di __mask); + +DEF_VD_MATH_FUNC (v64df, tgamma, v64df x) +{ + v64si signgam_local; + v64df y = v64df_exp_aux(v64df_lgamma_r_aux(x, &signgam_local, __mask), __mask); + VECTOR_COND_MOVE(y, -y, signgam_local < 0); + return y; +} + +DEF_VARIANTS (tgamma, df, df) diff --git a/newlib/libm/machine/amdgcn/v64sf_acos.c b/newlib/libm/machine/amdgcn/v64sf_acos.c new file mode 100644 index 000000000..1a0b67c24 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_acos.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_acos.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_asinef_aux (v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, acosf, v64sf x) +{ + return v64sf_asinef_aux(x, 1, __mask); +} + +DEF_VARIANTS (acosf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_acosh.c b/newlib/libm/machine/amdgcn/v64sf_acosh.c new file mode 100644 index 000000000..99b3939ef --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_acosh.c @@ -0,0 +1,80 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/mathfp/ef_acosh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_logf_aux (v64sf, v64si); +v64sf v64sf_log1pf_aux (v64sf, v64si); +v64sf v64sf_sqrtf_aux (v64sf, v64si); + +DEF_VS_MATH_FUNC (v64sf, acoshf, v64sf x) +{ + static const float one = 1.0; + static const float ln2 = 6.9314718246e-01; /* 0x3f317218 */ + + FUNCTION_INIT (v64sf); + + v64si hx; + GET_FLOAT_WORD (hx, x, NO_COND); + + VECTOR_IF (hx < 0x3f800000, cond) // x < 1 */ + VECTOR_RETURN ((x-x) / (x-x), cond); + VECTOR_ENDIF + VECTOR_IF (hx >=0x4d800000, cond) // x > 2**28 */ + VECTOR_IF2 (hx >=0x7f800000, cond2, cond) // x is inf of NaN */ + VECTOR_RETURN (x+x, cond2); + VECTOR_ELSE (cond2) + /* acosh(huge)=log(2x) */ + VECTOR_RETURN (v64sf_logf_aux (x, __mask) + ln2, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (hx == 0x3f800000, cond) + /* acosh(1) = 0 */ + VECTOR_RETURN (VECTOR_INIT (0.0f), cond); + VECTOR_ENDIF + VECTOR_IF (hx > 0x40000000, cond) /* 2**28 > x > 2 */ + { + v64sf t = x * x; + VECTOR_RETURN (v64sf_logf_aux (2.0f*x - 1.0f / + (x + v64sf_sqrtf_aux (t - 1.0f, __mask)), + __mask), + cond); + } + VECTOR_ELSE (cond) /* 1 0.5f, cond) + VECTOR_COND_MOVE (i, VECTOR_INIT (1 - acosine), cond); + + /* Check for range error. */ + VECTOR_IF2 (y > 1.0f, cond2, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (z_notanum_f.f), cond2); + VECTOR_ENDIF + + VECTOR_COND_MOVE (g, (1.0f - y) / 2.0f, cond); + VECTOR_COND_MOVE (y, -2.0f * v64sf_sqrtf (g), cond); + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (i, VECTOR_INIT (acosine), cond); + VECTOR_IF2 (y < z_rooteps_f, cond2, cond) + VECTOR_COND_MOVE (res, y, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (g, y * y, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF ((y >= z_rooteps_f) | branch, cond) + { + /* Calculate the Taylor series. */ + v64sf P = (p[1] * g + p[0]) * g; + v64sf Q = (g + q[1]) * g + q[0]; + v64sf R = P / Q; + + VECTOR_COND_MOVE (res, y + y * R, cond); + } + VECTOR_ENDIF + + v64sf a_i = VECTOR_MERGE (VECTOR_INIT (a[1]), VECTOR_INIT (a[0]), i != 0); + + /* Calculate asine or acose. */ + if (acosine == 0) + { + VECTOR_COND_MOVE (res, (a_i + res) + a_i, NO_COND); + VECTOR_IF (x < 0.0f, cond) + VECTOR_COND_MOVE (res, -res, cond); + VECTOR_ENDIF + } + else + { + v64sf b_i = VECTOR_MERGE (VECTOR_INIT(b[1]), VECTOR_INIT(b[0]), i != 0); + + VECTOR_IF (x < 0.0f, cond) + VECTOR_COND_MOVE (res, (b_i + res) + b_i, cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (res, (a_i - res) + a_i, cond); + VECTOR_ENDIF + } + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_asinh.c b/newlib/libm/machine/amdgcn/v64sf_asinh.c new file mode 100644 index 000000000..e82bd1a55 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_asinh.c @@ -0,0 +1,82 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/sf_asinh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_logf_aux (v64sf, v64si); +v64sf v64sf_log1pf_aux (v64sf, v64si); +v64sf v64sf_sqrtf_aux (v64sf, v64si); + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, asinhf, v64sf x) +{ + static const float one = 1.0000000000e+00; /* 0x3F800000 */ + static const float ln2 = 6.9314718246e-01; /* 0x3f317218 */ + static const float huge = 1.0000000000e+30; + + FUNCTION_INIT (v64sf); + + v64sf w; + v64si hx; + GET_FLOAT_WORD (hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; + + VECTOR_IF (ix >=0x7f800000, cond) /* x is inf or NaN */ + VECTOR_RETURN (x + x, cond); + VECTOR_ENDIF + VECTOR_IF (ix < 0x31800000, cond) /* |x|<2**-28 */ + VECTOR_IF2 (huge+x > one, cond2, cond) /* return x inexact except 0 */ + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (ix > 0x4d800000, cond) /* x > 2**28 */ + VECTOR_COND_MOVE (w, v64sf_logf_aux (__builtin_gcn_fabsvf (x), __mask) + + ln2, + cond); + VECTOR_ELSEIF (ix > 0x40000000, cond) /* 2**28 > |x| > 2.0 */ + v64sf t = __builtin_gcn_fabsvf (x); + VECTOR_COND_MOVE (w, v64sf_logf_aux (2.0f * t + 1.0f / (v64sf_sqrtf_aux (x*x + 1.0f, __mask) + t), __mask), + cond); + VECTOR_ELSE (cond) /* 2.0 > |x| > 2**-28 */ + v64sf t = x * x; + VECTOR_COND_MOVE (w, v64sf_log1pf_aux (__builtin_gcn_fabsvf (x) + t / (1.0f + v64sf_sqrtf_aux (1.0f + t, __mask)), __mask), + cond); + VECTOR_ENDIF + + VECTOR_IF (hx > 0, cond) + VECTOR_RETURN (w, cond); + VECTOR_ELSE (cond) + VECTOR_RETURN (-w, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS (asinhf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_atan.c b/newlib/libm/machine/amdgcn/v64sf_atan.c new file mode 100644 index 000000000..552d9b383 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_atan.c @@ -0,0 +1,42 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_atan.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_atangentf_aux (v64sf, v64sf, v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, atanf, v64sf x) +{ + return (v64sf_atangentf_aux (x, VECTOR_INIT (0.0f), VECTOR_INIT (0.0f), + 0, __mask)); +} + +DEF_VARIANTS (atanf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_atan2.c b/newlib/libm/machine/amdgcn/v64sf_atan2.c new file mode 100644 index 000000000..17e84710a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_atan2.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_atan2.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_atangentf_aux (v64sf, v64sf, v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, atan2f, v64sf v, v64sf u) +{ + return v64sf_atangentf_aux (VECTOR_INIT (0.0f), v, u, 1, __mask); +} + +DEF_VARIANTS2 (atan2f, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_atangent.c b/newlib/libm/machine/amdgcn/v64sf_atangent.c new file mode 100644 index 000000000..9d6b7b136 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_atangent.c @@ -0,0 +1,152 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/sf_atangent.c in Newlib. */ + +#include +#include "amdgcnmach.h" + +static const float ROOT3 = 1.732050807; +static const float a[] = { 0.0, 0.523598775, 1.570796326, + 1.047197551 }; +static const float q[] = { 0.1412500740e+1 }; +static const float p[] = { -0.4708325141, -0.5090958253e-1 }; + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_frexpvf_exp) \ + && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, atangentf, v64sf x, v64sf v, v64sf u, int arctan2) +{ + FUNCTION_INIT (v64sf); + + v64sf zero = VECTOR_INIT (0.0f); + v64sf res; + v64si branch = VECTOR_INIT (0); + + /* Preparation for calculating arctan2. */ + if (arctan2) + { + VECTOR_IF (u == 0.0f, cond) + VECTOR_IF2 (v == 0.0f, cond2, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (0.0f), cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond2); + VECTOR_COND_MOVE (res, VECTOR_INIT ((float) __PI_OVER_TWO), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF (~branch, cond) + /* Get the exponent values of the inputs. */ + v64si expv = __builtin_gcn_frexpvf_exp (v); + v64si expu = __builtin_gcn_frexpvf_exp (u); + + /* See if a divide will overflow. */ + v64si e = expv - expu; + + VECTOR_IF2 (e > FLT_MAX_EXP, cond2, cond) + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond2); + VECTOR_COND_MOVE (res, VECTOR_INIT ((float) __PI_OVER_TWO), cond2); + VECTOR_ENDIF + + /* Also check for underflow. */ + VECTOR_IF2 (e < FLT_MIN_EXP, cond2, cond) + VECTOR_COND_MOVE (branch, VECTOR_INIT (-1), cond2); + VECTOR_COND_MOVE (res, zero, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + } + + VECTOR_IF (~branch, cond) + v64sf f; + v64si N = VECTOR_INIT (0); + + if (arctan2) + f = __builtin_gcn_fabsvf (v / u); + else + f = __builtin_gcn_fabsvf (x); + + VECTOR_IF2 (f > 1.0f, cond2, cond) + VECTOR_COND_MOVE (f, 1.0f / f, cond2); + VECTOR_COND_MOVE (N, VECTOR_INIT (2), cond2); + VECTOR_ENDIF + + VECTOR_IF2 (f > (2.0f - ROOT3), cond2, cond) + float A = ROOT3 - 1.0f; + VECTOR_COND_MOVE (f, (((A * f - 0.5f) - 0.5f) + f) / (ROOT3 + f), + cond2); + N += cond2 & 1; + VECTOR_ENDIF + + /* Check for values that are too small. */ + VECTOR_IF2 ((-z_rooteps_f < f) & (f < z_rooteps_f), cond2, cond) + VECTOR_COND_MOVE (res, f, cond2); + + /* Calculate the Taylor series. */ + VECTOR_ELSE2 (cond2, cond) + v64sf g = f * f; + v64sf P = (p[1] * g + p[0]) * g; + v64sf Q = g + q[0]; + v64sf R = P / Q; + + VECTOR_COND_MOVE (res, f + f * R, cond2); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, cond & (N > 1)); + + res += VECTOR_MERGE (VECTOR_INIT (a[1]), zero, cond & (N == 1)); + res += VECTOR_MERGE (VECTOR_INIT (a[2]), zero, cond & (N == 2)); + res += VECTOR_MERGE (VECTOR_INIT (a[3]), zero, cond & (N == 3)); + VECTOR_ENDIF + + if (arctan2) + { + /*if (u < 0.0)*/ + VECTOR_COND_MOVE (res, (float) __PI - res, u < 0.0f); + /*if (v < 0.0)*/ + VECTOR_COND_MOVE (res, -res, v < 0.0f); + } + /*else if (x < 0.0) */ + else + VECTOR_COND_MOVE (res, -res, x < 0.0f); + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_atanh.c b/newlib/libm/machine/amdgcn/v64sf_atanh.c new file mode 100644 index 000000000..b3bc01265 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_atanh.c @@ -0,0 +1,75 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/mathfp/ef_atanh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_log1pf_aux (v64sf, v64si); + +DEF_VS_MATH_FUNC (v64sf, atanhf, v64sf x) +{ + static const float zero = 0.0; + static const float one = 1.0, huge = 1e30; + + FUNCTION_INIT (v64sf); + + v64sf t; + v64si hx; + GET_FLOAT_WORD (hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; + + VECTOR_IF (ix > 0x3f800000, cond) // |x|>1 + VECTOR_RETURN ((x - x)/(x - x), cond); + VECTOR_ENDIF + + VECTOR_IF (ix == 0x3f800000, cond) + VECTOR_RETURN (x / zero, cond); + VECTOR_ENDIF + + VECTOR_IF ((ix < 0x31800000) & ((huge + x) > zero), cond) // x<2**-28 + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + + SET_FLOAT_WORD (x, ix, NO_COND); + + VECTOR_IF (ix < 0x3f000000, cond) // x < 0.5 */ + v64sf t2 = x + x; + VECTOR_COND_MOVE (t, 0.5f * v64sf_log1pf_aux (t2 + t2 * x / (one - x), __mask), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (t, 0.5f * v64sf_log1pf_aux ((x + x) / (one - x), __mask), cond); + VECTOR_ENDIF + + VECTOR_IF (hx >= 0, cond) + VECTOR_RETURN (t, cond); + VECTOR_ELSE (cond) + VECTOR_RETURN (-t, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS (atanhf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_copysign.c b/newlib/libm/machine/amdgcn/v64sf_copysign.c new file mode 100644 index 000000000..03cf2ff9e --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_copysign.c @@ -0,0 +1,43 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/sf_copysign.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VS_MATH_FUNC (v64sf, copysignf, v64sf x, v64sf y) +{ + FUNCTION_INIT (v64sf); + + v64si ix, iy; + GET_FLOAT_WORD (ix, x, NO_COND); + GET_FLOAT_WORD (iy, y, NO_COND); + SET_FLOAT_WORD (x, (ix & 0x7fffffff) | (iy & 0x80000000), NO_COND); + VECTOR_RETURN (x, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (copysignf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_cos.c b/newlib/libm/machine/amdgcn/v64sf_cos.c new file mode 100644 index 000000000..c3f1e5a4b --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_cos.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_cos.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_sinef_aux (v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, cosf, v64sf x) +{ + return v64sf_sinef_aux (x, 1, __mask); +} + +DEF_VARIANTS (cosf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_cosh.c b/newlib/libm/machine/amdgcn/v64sf_cosh.c new file mode 100644 index 000000000..f928c3e5a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_cosh.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_cosh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_sinehf_aux (v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, coshf, v64sf x) +{ + return v64sf_sinehf_aux (x, 1, __mask); +} + +DEF_VARIANTS (coshf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_erf.c b/newlib/libm/machine/amdgcn/v64sf_erf.c new file mode 100644 index 000000000..f7a06f0ab --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_erf.c @@ -0,0 +1,186 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/sf_erf.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_expf_aux (v64sf, v64si); + +static const float +tiny = 1e-30, +half= 5.0000000000e-01, /* 0x3F000000 */ +one = 1.0000000000e+00, /* 0x3F800000 */ +two = 2.0000000000e+00, /* 0x40000000 */ + /* c = (subfloat)0.84506291151 */ +erx = 8.4506291151e-01, /* 0x3f58560b */ +/* + * Coefficients for approximation to erf on [0,0.84375] + */ +efx = 1.2837916613e-01, /* 0x3e0375d4 */ +efx8= 1.0270333290e+00, /* 0x3f8375d4 */ +pp0 = 1.2837916613e-01, /* 0x3e0375d4 */ +pp1 = -3.2504209876e-01, /* 0xbea66beb */ +pp2 = -2.8481749818e-02, /* 0xbce9528f */ +pp3 = -5.7702702470e-03, /* 0xbbbd1489 */ +pp4 = -2.3763017452e-05, /* 0xb7c756b1 */ +qq1 = 3.9791721106e-01, /* 0x3ecbbbce */ +qq2 = 6.5022252500e-02, /* 0x3d852a63 */ +qq3 = 5.0813062117e-03, /* 0x3ba68116 */ +qq4 = 1.3249473704e-04, /* 0x390aee49 */ +qq5 = -3.9602282413e-06, /* 0xb684e21a */ +/* + * Coefficients for approximation to erf in [0.84375,1.25] + */ +pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */ +pa1 = 4.1485610604e-01, /* 0x3ed46805 */ +pa2 = -3.7220788002e-01, /* 0xbebe9208 */ +pa3 = 3.1834661961e-01, /* 0x3ea2fe54 */ +pa4 = -1.1089469492e-01, /* 0xbde31cc2 */ +pa5 = 3.5478305072e-02, /* 0x3d1151b3 */ +pa6 = -2.1663755178e-03, /* 0xbb0df9c0 */ +qa1 = 1.0642088205e-01, /* 0x3dd9f331 */ +qa2 = 5.4039794207e-01, /* 0x3f0a5785 */ +qa3 = 7.1828655899e-02, /* 0x3d931ae7 */ +qa4 = 1.2617121637e-01, /* 0x3e013307 */ +qa5 = 1.3637083583e-02, /* 0x3c5f6e13 */ +qa6 = 1.1984500103e-02, /* 0x3c445aa3 */ +/* + * Coefficients for approximation to erfc in [1.25,1/0.35] + */ +ra0 = -9.8649440333e-03, /* 0xbc21a093 */ +ra1 = -6.9385856390e-01, /* 0xbf31a0b7 */ +ra2 = -1.0558626175e+01, /* 0xc128f022 */ +ra3 = -6.2375331879e+01, /* 0xc2798057 */ +ra4 = -1.6239666748e+02, /* 0xc322658c */ +ra5 = -1.8460508728e+02, /* 0xc3389ae7 */ +ra6 = -8.1287437439e+01, /* 0xc2a2932b */ +ra7 = -9.8143291473e+00, /* 0xc11d077e */ +sa1 = 1.9651271820e+01, /* 0x419d35ce */ +sa2 = 1.3765776062e+02, /* 0x4309a863 */ +sa3 = 4.3456588745e+02, /* 0x43d9486f */ +sa4 = 6.4538726807e+02, /* 0x442158c9 */ +sa5 = 4.2900814819e+02, /* 0x43d6810b */ +sa6 = 1.0863500214e+02, /* 0x42d9451f */ +sa7 = 6.5702495575e+00, /* 0x40d23f7c */ +sa8 = -6.0424413532e-02, /* 0xbd777f97 */ +/* + * Coefficients for approximation to erfc in [1/.35,28] + */ +rb0 = -9.8649431020e-03, /* 0xbc21a092 */ +rb1 = -7.9928326607e-01, /* 0xbf4c9dd4 */ +rb2 = -1.7757955551e+01, /* 0xc18e104b */ +rb3 = -1.6063638306e+02, /* 0xc320a2ea */ +rb4 = -6.3756646729e+02, /* 0xc41f6441 */ +rb5 = -1.0250950928e+03, /* 0xc480230b */ +rb6 = -4.8351919556e+02, /* 0xc3f1c275 */ +sb1 = 3.0338060379e+01, /* 0x41f2b459 */ +sb2 = 3.2579251099e+02, /* 0x43a2e571 */ +sb3 = 1.5367296143e+03, /* 0x44c01759 */ +sb4 = 3.1998581543e+03, /* 0x4547fdbb */ +sb5 = 2.5530502930e+03, /* 0x451f90ce */ +sb6 = 4.7452853394e+02, /* 0x43ed43a7 */ +sb7 = -2.2440952301e+01; /* 0xc1b38712 */ + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, erff, v64sf x) +{ + FUNCTION_INIT (v64sf); + + v64si hx; + GET_FLOAT_WORD (hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; + + VECTOR_IF (ix >= 0x7f800000, cond) /* erf(nan)=nan */ + v64si i = (hx >> 31) << 1; + /* erf(+-inf)=+-1 */ + VECTOR_RETURN (__builtin_convertvector (1 - i, v64sf) + 1.0f / x, cond); + VECTOR_ENDIF + + VECTOR_IF (ix < 0x3f580000, cond) /* |x|<0.84375 */ + VECTOR_IF2 (ix < 0x31800000, cond2, cond) /* |x|<2**-28 */ + VECTOR_IF2 (ix < 0x04000000, cond3, cond2) /* avoid underflow */ + VECTOR_RETURN (0.125f*(8.0f*x + efx8*x), cond3); + VECTOR_ENDIF + VECTOR_RETURN (x + efx*x, cond2); + VECTOR_ENDIF + + v64sf z = x*x; + v64sf r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4))); + v64sf s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5)))); + v64sf y = r/s; + + VECTOR_RETURN (x + x*y, cond); + VECTOR_ENDIF + + VECTOR_IF (ix < 0x3fa00000, cond) /* 0.84375 <= |x| < 1.25 */ + v64sf s = __builtin_gcn_fabsvf (x) - 1.0f; + v64sf P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6))))); + v64sf Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6))))); + VECTOR_IF2 (hx >= 0, cond2, cond) + VECTOR_RETURN (erx + P/Q, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (-erx - P/Q, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF (ix >= 0x40c00000, cond) /* inf>|x|>=6 */ + VECTOR_IF2 (hx >= 0, cond2, cond) + VECTOR_RETURN (VECTOR_INIT (1.0f - tiny), cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (VECTOR_INIT (tiny - 1.0f), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + x = __builtin_gcn_fabsvf(x); + v64sf s = 1.0f / (x*x); + v64sf R, S; + VECTOR_IF (ix < 0x4036DB6E, cond) /* |x| < 1/0.35 */ + VECTOR_COND_MOVE (R, ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*( + ra5+s*(ra6+s*ra7)))))), cond); + VECTOR_COND_MOVE (S, one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*( + sa5+s*(sa6+s*(sa7+s*sa8))))))), cond); + VECTOR_ELSE (cond) /* |x| >= 1/0.35 */ + VECTOR_COND_MOVE (R, rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*( + rb5+s*rb6))))), cond); + VECTOR_COND_MOVE (S, one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*( + sb5+s*(sb6+s*sb7)))))), cond); + VECTOR_ENDIF + + GET_FLOAT_WORD (ix, x, NO_COND); + v64sf z; + SET_FLOAT_WORD (z, ix & 0xfffff000, NO_COND); + v64sf r = v64sf_expf_aux (-z*z - 0.5625f, __mask) + * v64sf_expf_aux ((z-x)*(z+x) + R/S, __mask); + VECTOR_RETURN (one - r/x, hx >= 0); + VECTOR_RETURN (r/x - one, hx < 0); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (erff, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_exp.c b/newlib/libm/machine/amdgcn/v64sf_exp.c new file mode 100644 index 000000000..b4ddd2a5f --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_exp.c @@ -0,0 +1,102 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/math/ef_exp.c in Newlib. */ + +#include "amdgcnmach.h" + +static const float +huge = 1.0e+30, +twom100 = 7.8886090522e-31, /* 2**-100=0x0d800000 */ +ln2HI[2] ={ 6.9313812256e-01, /* 0x3f317180 */ + -6.9313812256e-01,}, /* 0xbf317180 */ +ln2LO[2] ={ 9.0580006145e-06, /* 0x3717f7d1 */ + -9.0580006145e-06,}, /* 0xb717f7d1 */ +invln2 = 1.4426950216e+00, /* 0x3fb8aa3b */ +P1 = 1.6666667163e-01, /* 0x3e2aaaab */ +P2 = -2.7777778450e-03, /* 0xbb360b61 */ +P3 = 6.6137559770e-05, /* 0x388ab355 */ +P4 = -1.6533901999e-06, /* 0xb5ddea0e */ +P5 = 4.1381369442e-08; /* 0x3331bb4c */ + +DEF_VS_MATH_FUNC (v64sf, expf, v64sf x) +{ + FUNCTION_INIT (v64sf); + + v64si k = VECTOR_INIT (0); + v64si sx; + GET_FLOAT_WORD(sx, x, NO_COND); + v64si xsb = (sx>>31)&1; /* sign bit of x */ + v64si hx = sx & 0x7fffffff; /* high word of |x| */ + + /* filter out non-finite argument */ + VECTOR_RETURN (x+x, FLT_UWORD_IS_NAN(hx)); /* NaN */ + VECTOR_RETURN (x, FLT_UWORD_IS_INFINITE(hx) & (xsb == 0)); + VECTOR_RETURN (VECTOR_INIT (0.0f), FLT_UWORD_IS_INFINITE (hx)); /* exp(+-inf)={inf,0} */ + VECTOR_RETURN (v64sf_math_oflowf (VECTOR_INIT (0)), sx > FLT_UWORD_LOG_MAX); /* overflow */ + VECTOR_RETURN (v64sf_math_uflowf (VECTOR_INIT (0)), (sx < 0) & (hx > FLT_UWORD_LOG_MIN)); /* underflow */ + + /* argument reduction */ + v64sf hi, lo; + VECTOR_IF (hx > 0x3eb17218, cond) /* if |x| > 0.5 ln2 */ + VECTOR_IF2 (hx < 0x3F851592, cond2, cond) /* and |x| < 1.5 ln2 */ + VECTOR_COND_MOVE (hi, x-ln2HI[0], cond2 & (xsb == 0)); + VECTOR_COND_MOVE (hi, x-ln2HI[1], cond2 & (xsb == 1)); + VECTOR_COND_MOVE (lo, VECTOR_INIT (ln2LO[0]), cond2 & (xsb == 0)); + VECTOR_COND_MOVE (lo, VECTOR_INIT (ln2LO[1]), cond2 & (xsb == 1)); + VECTOR_COND_MOVE (k, 1-xsb-xsb, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE (k, __builtin_convertvector (invln2*x + 0.5f, v64si), cond2 & (xsb == 0)); + VECTOR_COND_MOVE (k, __builtin_convertvector (invln2*x - 0.5f, v64si), cond2 & (xsb == 1)); + v64sf t = __builtin_convertvector (k, v64sf); + VECTOR_COND_MOVE (hi, x - t*ln2HI[0], cond2); /* t*ln2HI is exact here */ + VECTOR_COND_MOVE (lo, t*ln2LO[0], cond2); + VECTOR_ENDIF + VECTOR_COND_MOVE (x, hi - lo, cond); + VECTOR_ELSEIF (hx < 0x34000000, cond) /* when |x|<2**-23 */ + VECTOR_RETURN (1.0f+x, cond & (huge+x > 1.0f)); /* trigger inexact */ + VECTOR_ENDIF + + /* x is now in primary range */ + v64sf t = x*x; + v64sf c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); + VECTOR_RETURN (1.0f - ((x*c)/(c-2.0f)-x), k==0); + v64sf y = 1.0f - ((lo-(x*c)/(2.0f-c))-hi); + VECTOR_IF (k >= -125, cond) + v64si hy; + GET_FLOAT_WORD(hy, y, cond); + SET_FLOAT_WORD(y,hy+(k<<23), cond); /* add k to y's exponent */ + VECTOR_RETURN (y, cond); + VECTOR_ELSE (cond) + v64si hy; + GET_FLOAT_WORD(hy, y, cond); + SET_FLOAT_WORD(y, hy+((k+100)<<23), cond); /* add k to y's exponent */ + VECTOR_RETURN (y*twom100, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS (expf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_exp2.c b/newlib/libm/machine/amdgcn/v64sf_exp2.c new file mode 100644 index 000000000..27039e4c4 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_exp2.c @@ -0,0 +1,32 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved. + * + * Permission to use, copy, modify, and distribute this software + * is freely granted, provided that this notice is preserved. + */ + +/* Based on newlib/libm/mathfp/sf_exp2.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_powf_aux (v64sf, v64sf, v64si); + +DEF_VS_MATH_FUNC (v64sf, exp2f, v64sf x) +{ + return v64sf_powf_aux (VECTOR_INIT (2.0f), x, __mask); +} + +DEF_VARIANTS (exp2f, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_finite.c b/newlib/libm/machine/amdgcn/v64sf_finite.c new file mode 100644 index 000000000..54df31f37 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_finite.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/v64sf_finite.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VS_MATH_FUNC (v64si, finitef, v64sf x) +{ + v64si ix = CAST_VECTOR (v64si, x); + ix &= 0x7fffffff; + return FLT_UWORD_IS_FINITE(ix); +} + +DEF_VARIANTS (finitef, si, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_fmod.c b/newlib/libm/machine/amdgcn/v64sf_fmod.c new file mode 100644 index 000000000..7302420ad --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_fmod.c @@ -0,0 +1,147 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/sf_fmod.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VS_MATH_FUNC (v64sf, fmodf, v64sf x, v64sf y) +{ + FUNCTION_INIT(v64sf); + + v64si hx, hy, hz; + GET_FLOAT_WORD (hx, x, NO_COND); + GET_FLOAT_WORD (hy, y, NO_COND); + v64si sx = hx & 0x80000000; /* sign of x */ + hx ^=sx; /* |x| */ + hy &= 0x7fffffff; /* |y| */ + + v64sf zeroes = VECTOR_MERGE (VECTOR_INIT (-0.0f), + VECTOR_INIT (0.0f), + sx != 0); + + /* purge off exception values */ + VECTOR_IF ((hy == 0) | (hx >= 0x7f800000) + | (hy > 0x7f800000), cond) // y=0, or x not finite or y is NaN + VECTOR_RETURN ((x * y) / (x * y), cond); + VECTOR_ENDIF + VECTOR_IF (hx < hy, cond) // |x|<|y| return x + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_IF (hx == hy, cond) + VECTOR_RETURN (zeroes, hx == hy); // |x|=|y| return x*0 + VECTOR_ENDIF + + /* determine ix = ilogb(x) */ + v64si ix; + VECTOR_IF (hx < 0x00800000, cond) // subnormal x + ix = VECTOR_INIT (-126); + for (v64si i = (hx << 8); + !ALL_ZEROES_P (cond & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (ix, ix - 1, cond & (i > 0)); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (ix, (hx >> 23) - 127, cond); + VECTOR_ENDIF + + /* determine iy = ilogb(y) */ + v64si iy; + VECTOR_IF (hy < 0x00800000, cond) // subnormal y + iy = VECTOR_INIT (-126); + for (v64si i = (hy << 8); !ALL_ZEROES_P (cond & (i >= 0)); i <<= 1) + VECTOR_COND_MOVE (iy, iy - 1, cond & (i >= 0)); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (iy, (hy >> 23) - 127, cond); + VECTOR_ENDIF + +/* set up {hx,lx}, {hy,ly} and align y to x */ + VECTOR_IF (ix >= -126, cond) + VECTOR_COND_MOVE (hx, 0x00800000 | (0x007fffff & hx), cond); + VECTOR_ELSE (cond) // subnormal x, shift x to normal + { + v64si n = -126 - ix; + VECTOR_COND_MOVE (hx, hx << n, cond); + } + VECTOR_ENDIF + VECTOR_IF (iy >= -126, cond) + VECTOR_COND_MOVE (hy, 0x00800000 | (0x007fffff & hy), cond); + VECTOR_ELSE (cond) // subnormal y, shift y to normal + { + v64si n = -126 - iy; + VECTOR_COND_MOVE (hy, hy << n, cond); + } + VECTOR_ENDIF + +/* fix point fmod */ + v64si n = ix - iy; + v64si cond = n != 0; + + while (!ALL_ZEROES_P (cond)) + { + hz = hx - hy; + VECTOR_IF2 (hz < 0, cond2, cond) + VECTOR_COND_MOVE (hx, hx + hx, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_IF2 (hz == 0, cond3, cond2) // return sign(x)*0 + VECTOR_RETURN (zeroes, cond3); + VECTOR_ELSE2 (cond3, cond2) + VECTOR_COND_MOVE (hx, hz + hz, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + n += cond; // Active lanes should be -1 + cond &= (n != 0); + } + + hz = hx - hy; + VECTOR_COND_MOVE (hx, hz, hz >= 0); + + /* convert back to floating value and restore the sign */ + VECTOR_RETURN (zeroes, hx == 0); // return sign(x)*0 + + cond = hx < 0x00800000; + while (!ALL_ZEROES_P (cond)) // normalize x + { + VECTOR_COND_MOVE (hx, hx + hx, cond); + iy += cond; // Active lanes should be -1 + + cond &= (hx < 0x00800000); + } + VECTOR_IF (iy >= -126, cond) // normalize output + VECTOR_COND_MOVE (hx, (hx - 0x00800000) | ((iy + 127) << 23), cond); + SET_FLOAT_WORD (x, hx | sx, cond); + VECTOR_ELSE (cond) // subnormal output */ + n = -126 - iy; + hx >>= n; + SET_FLOAT_WORD (x, hx | sx, cond); + x *= VECTOR_INIT (1.0f); /* create necessary signal */ + VECTOR_ENDIF + + VECTOR_RETURN (x, NO_COND); /* exact output */ + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (fmodf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_gamma.c b/newlib/libm/machine/amdgcn/v64sf_gamma.c new file mode 100644 index 000000000..99e69cbab --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_gamma.c @@ -0,0 +1,38 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/wf_gamma.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_lgammaf_aux (v64sf x, v64si __mask); + +DEF_VS_MATH_FUNC (v64sf, gammaf, v64sf x) +{ + return v64sf_lgammaf_aux(x, __mask); +} + +DEF_VARIANTS (gammaf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_hypot.c b/newlib/libm/machine/amdgcn/v64sf_hypot.c new file mode 100644 index 000000000..4d4925a21 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_hypot.c @@ -0,0 +1,118 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/ef_hypot.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_sqrtf_aux (v64sf, v64si); + +DEF_VS_MATH_FUNC (v64sf, hypotf, v64sf x, v64sf y) +{ + FUNCTION_INIT (v64sf); + + v64sf a = x; + v64sf b = y; + + v64si ha; + GET_FLOAT_WORD (ha, x, NO_COND); + ha &= 0x7fffffffL; + v64si hb; + GET_FLOAT_WORD (hb, y, NO_COND); + hb &= 0x7fffffffL; + + VECTOR_IF (hb > ha, cond) + v64si j = ha; + VECTOR_COND_MOVE (ha, hb, cond); + VECTOR_COND_MOVE (hb, j, cond); + VECTOR_ENDIF + SET_FLOAT_WORD (a, ha, NO_COND); /* a <- |a| */ + SET_FLOAT_WORD (b, hb, NO_COND); /* b <- |b| */ + VECTOR_IF((ha - hb) > 0xf000000L, cond) // x/y > 2**30 */ + VECTOR_RETURN (a + b, cond); + VECTOR_ENDIF + + v64si k = VECTOR_INIT (0); + + VECTOR_IF (ha > 0x58800000L, cond) /* a>2**50 */ + VECTOR_IF2 (ha >= 0x7f800000L, cond2, cond) /* Inf or NaN */ + v64sf w = a + b; // for sNaN */ + VECTOR_COND_MOVE (w, a, cond2 & (ha == 0x7f800000)); + VECTOR_COND_MOVE (w, b, cond2 & (hb == 0x7f800000)); + VECTOR_RETURN (w, cond); + VECTOR_ENDIF + /* scale a and b by 2**-60 */ + VECTOR_COND_MOVE (ha, ha - 0x5d800000, cond); + VECTOR_COND_MOVE (hb, hb - 0x5d800000, cond); + VECTOR_COND_MOVE (k, k + 60, cond); + SET_FLOAT_WORD (a, ha, cond); + SET_FLOAT_WORD (b, hb, cond); + VECTOR_ENDIF + VECTOR_IF (hb < 0x26800000, cond) /* b < 2**-50 */ + VECTOR_IF2 (hb <= 0x007fffff, cond2, cond) /* subnormal b or 0 */ + VECTOR_RETURN (a, cond2 & (hb == 0)); + /* t1=2^126 */ + v64sf t1; + SET_FLOAT_WORD (t1, VECTOR_INIT (0x3f000000), cond2); + VECTOR_COND_MOVE (b, b * t1, cond2); + VECTOR_COND_MOVE (a, a * t1, cond2); + VECTOR_COND_MOVE (k, k - 126, cond2); + VECTOR_ELSE2 (cond2, cond) /* scale a and b by 2^60 */ + VECTOR_COND_MOVE (ha, ha + 0x5d800000, cond2); /* a *= 2^60 */ + VECTOR_COND_MOVE (hb, hb + 0x5d800000, cond2); /* b *= 2^60 */ + VECTOR_COND_MOVE (k, k - 60, cond2); + SET_FLOAT_WORD (a, ha, cond2); + SET_FLOAT_WORD (b, hb, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + /* medium size a and b */ + v64sf w = a - b; + VECTOR_IF (w > b, cond) + v64sf t1; + SET_FLOAT_WORD (t1, ha & 0xfffff000, cond); + v64sf t2 = a - t1; + VECTOR_COND_MOVE (w, v64sf_sqrtf_aux (t1*t1 - (b*(-b) - t2 * (a + t1)), __mask), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (a, a+a, cond); + v64sf y1; + SET_FLOAT_WORD (y1, hb & 0xfffff000, cond); + v64sf y2 = b - y1; + v64sf t1; + SET_FLOAT_WORD (t1, ha + 0x00800000, cond); + v64sf t2 = a - t1; + VECTOR_COND_MOVE (w, v64sf_sqrtf_aux (t1*y1 - (w*(-w) - (t1*y2 + t2*b)), __mask), cond); + VECTOR_ENDIF + VECTOR_IF (k != 0, cond) + v64sf t1; + SET_FLOAT_WORD (t1, 0x3f800000 + (k << 23), cond); + VECTOR_RETURN (t1 * w, cond); + VECTOR_ELSE (cond) + VECTOR_RETURN (w, cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (hypotf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_ilogb.c b/newlib/libm/machine/amdgcn/v64sf_ilogb.c new file mode 100644 index 000000000..2f2a7cac7 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_ilogb.c @@ -0,0 +1,56 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/sf_ilogb.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VS_MATH_FUNC (v64si, ilogbf, v64sf x) +{ + FUNCTION_INIT(v64si); + + v64si hx, ix; + GET_FLOAT_WORD (hx, x, NO_COND); + hx &= 0x7fffffff; + VECTOR_IF (FLT_UWORD_IS_ZERO (hx), cond) + VECTOR_RETURN (VECTOR_INIT (-__INT_MAX__), cond); // FP_ILOGB0 + VECTOR_ENDIF + VECTOR_IF (FLT_UWORD_IS_SUBNORMAL (hx), cond) + ix = VECTOR_INIT (-126); + for (v64si i = (hx << 8); + !ALL_ZEROES_P (cond & (i > 0)); + i <<= 1) + VECTOR_COND_MOVE (ix, ix - 1, cond & (i > 0)); + VECTOR_RETURN (ix, cond); + VECTOR_ELSEIF (~FLT_UWORD_IS_FINITE (hx), cond) + VECTOR_RETURN (VECTOR_INIT (__INT_MAX__), cond); + VECTOR_ENDIF + + VECTOR_RETURN ((hx >> 23) - 127, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (ilogbf, si, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_isnan.c b/newlib/libm/machine/amdgcn/v64sf_isnan.c new file mode 100644 index 000000000..a84f064bc --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_isnan.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/sf_isnan.c in Newlib. */ + +#include "amdgcnmach.h" + +DEF_VS_MATH_FUNC (v64si, isnanf, v64sf x) +{ + v64si ix = CAST_VECTOR (v64si, x); + ix &= 0x7fffffff; + return FLT_UWORD_IS_NAN (ix); +} + +DEF_VARIANTS (isnanf, si, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_ispos.c b/newlib/libm/machine/amdgcn/v64sf_ispos.c new file mode 100644 index 000000000..5ba15d6fa --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_ispos.c @@ -0,0 +1,40 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_ispos.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si +v64sf_isposf (v64sf x) +{ + v64si wx = CAST_VECTOR (v64si, x); + + return (wx & 0x80000000) == 0; +} diff --git a/newlib/libm/machine/amdgcn/v64sf_lgamma.c b/newlib/libm/machine/amdgcn/v64sf_lgamma.c new file mode 100644 index 000000000..79a2d6da5 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_lgamma.c @@ -0,0 +1,44 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/wf_lgamma.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64sf_finitef_aux (v64sf x, v64si __mask); +v64sf v64sf_lgammaf_r_aux (v64sf x, v64si *signgamp, v64si __mask); + +DEF_VS_MATH_FUNC (v64sf, lgammaf, v64sf x) +{ + v64sf y = v64sf_lgammaf_r_aux(x, &(_REENT_V64SI_SIGNGAM(_V64_REENT)), __mask); + if (ALL_ZEROES_P(v64sf_finitef_aux(y, __mask)) & !ALL_ZEROES_P(v64sf_finitef_aux(x, __mask))) { + /* lgamma(finite) overflow */ + errno = ERANGE; + } + return y; +} + +DEF_VARIANTS (lgammaf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_lgamma_r.c b/newlib/libm/machine/amdgcn/v64sf_lgamma_r.c new file mode 100644 index 000000000..0a18f87c3 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_lgamma_r.c @@ -0,0 +1,300 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/erf_lgamma.c in Newlib. */ + +#include "amdgcnmach.h" + +static const float two23= 8.3886080000e+06, /* 0x4b000000 */ +half= 5.0000000000e-01, /* 0x3f000000 */ +one = 1.0000000000e+00, /* 0x3f800000 */ +pi = 3.1415927410e+00, /* 0x40490fdb */ +a0 = 7.7215664089e-02, /* 0x3d9e233f */ +a1 = 3.2246702909e-01, /* 0x3ea51a66 */ +a2 = 6.7352302372e-02, /* 0x3d89f001 */ +a3 = 2.0580807701e-02, /* 0x3ca89915 */ +a4 = 7.3855509982e-03, /* 0x3bf2027e */ +a5 = 2.8905137442e-03, /* 0x3b3d6ec6 */ +a6 = 1.1927076848e-03, /* 0x3a9c54a1 */ +a7 = 5.1006977446e-04, /* 0x3a05b634 */ +a8 = 2.2086278477e-04, /* 0x39679767 */ +a9 = 1.0801156895e-04, /* 0x38e28445 */ +a10 = 2.5214456400e-05, /* 0x37d383a2 */ +a11 = 4.4864096708e-05, /* 0x383c2c75 */ +tc = 1.4616321325e+00, /* 0x3fbb16c3 */ +tf = -1.2148628384e-01, /* 0xbdf8cdcd */ +/* tt = -(tail of tf) */ +tt = 6.6971006518e-09, /* 0x31e61c52 */ +t0 = 4.8383611441e-01, /* 0x3ef7b95e */ +t1 = -1.4758771658e-01, /* 0xbe17213c */ +t2 = 6.4624942839e-02, /* 0x3d845a15 */ +t3 = -3.2788541168e-02, /* 0xbd064d47 */ +t4 = 1.7970675603e-02, /* 0x3c93373d */ +t5 = -1.0314224288e-02, /* 0xbc28fcfe */ +t6 = 6.1005386524e-03, /* 0x3bc7e707 */ +t7 = -3.6845202558e-03, /* 0xbb7177fe */ +t8 = 2.2596477065e-03, /* 0x3b141699 */ +t9 = -1.4034647029e-03, /* 0xbab7f476 */ +t10 = 8.8108185446e-04, /* 0x3a66f867 */ +t11 = -5.3859531181e-04, /* 0xba0d3085 */ +t12 = 3.1563205994e-04, /* 0x39a57b6b */ +t13 = -3.1275415677e-04, /* 0xb9a3f927 */ +t14 = 3.3552918467e-04, /* 0x39afe9f7 */ +u0 = -7.7215664089e-02, /* 0xbd9e233f */ +u1 = 6.3282704353e-01, /* 0x3f2200f4 */ +u2 = 1.4549225569e+00, /* 0x3fba3ae7 */ +u3 = 9.7771751881e-01, /* 0x3f7a4bb2 */ +u4 = 2.2896373272e-01, /* 0x3e6a7578 */ +u5 = 1.3381091878e-02, /* 0x3c5b3c5e */ +v1 = 2.4559779167e+00, /* 0x401d2ebe */ +v2 = 2.1284897327e+00, /* 0x4008392d */ +v3 = 7.6928514242e-01, /* 0x3f44efdf */ +v4 = 1.0422264785e-01, /* 0x3dd572af */ +v5 = 3.2170924824e-03, /* 0x3b52d5db */ +s0 = -7.7215664089e-02, /* 0xbd9e233f */ +s1 = 2.1498242021e-01, /* 0x3e5c245a */ +s2 = 3.2577878237e-01, /* 0x3ea6cc7a */ +s3 = 1.4635047317e-01, /* 0x3e15dce6 */ +s4 = 2.6642270386e-02, /* 0x3cda40e4 */ +s5 = 1.8402845599e-03, /* 0x3af135b4 */ +s6 = 3.1947532989e-05, /* 0x3805ff67 */ +r1 = 1.3920053244e+00, /* 0x3fb22d3b */ +r2 = 7.2193557024e-01, /* 0x3f38d0c5 */ +r3 = 1.7193385959e-01, /* 0x3e300f6e */ +r4 = 1.8645919859e-02, /* 0x3c98bf54 */ +r5 = 7.7794247773e-04, /* 0x3a4beed6 */ +r6 = 7.3266842264e-06, /* 0x36f5d7bd */ +w0 = 4.1893854737e-01, /* 0x3ed67f1d */ +w1 = 8.3333335817e-02, /* 0x3daaaaab */ +w2 = -2.7777778450e-03, /* 0xbb360b61 */ +w3 = 7.9365057172e-04, /* 0x3a500cfd */ +w4 = -5.9518753551e-04, /* 0xba1c065c */ +w5 = 8.3633989561e-04, /* 0x3a5b3dd2 */ +w6 = -1.6309292987e-03; /* 0xbad5c4e8 */ +static const float zero= 0.0000000000e+00; + +v64sf v64sf_cosf_aux (v64sf x, v64si __mask); +v64sf v64sf_logf_aux (v64sf x, v64si __mask); +v64sf v64sf_sinf_aux (v64sf x, v64si __mask); + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_floorvf) \ + && __has_builtin (__builtin_gcn_fabsvf) + +static v64sf +v64sf_sin_pif (v64sf x) +{ + // Explicitly create mask for internal function. + v64si __mask = VECTOR_INIT (-1); + FUNCTION_INIT (v64sf); + + v64sf y, z; + v64si n, ix; + + GET_FLOAT_WORD (ix, x, NO_COND); + ix &= 0x7fffffff; + + VECTOR_IF (ix < 0x3e800000, cond) + VECTOR_RETURN (v64sf_sinf_aux (pi * x, __mask), cond); + VECTOR_ENDIF + y = -x; /* x is assume negative */ + + /* + * argument reduction, make sure inexact flag not raised if input + * is an integer + */ + z = __builtin_gcn_floorvf (y); + VECTOR_IF (z != y, cond) + /* inexact anyway */ + VECTOR_COND_MOVE(y, y * 0.5F, cond); + VECTOR_COND_MOVE(y, 2.0F * (y - __builtin_gcn_floorvf (y)), cond); /* y = |x| mod 2.0 */ + VECTOR_COND_MOVE(n, __builtin_convertvector(y * 4.0F, v64si), cond); + VECTOR_ELSE (cond) + VECTOR_IF2 (ix >= 0x4b800000, cond2, cond) + VECTOR_COND_MOVE(y, VECTOR_INIT(zero), cond2); + VECTOR_COND_MOVE(n, VECTOR_INIT(0), cond2); /* y must be even */ + VECTOR_ELSE2 (cond2, cond) + VECTOR_COND_MOVE(z, y + two23 /* exact */, cond2 & (ix < 0x4b000000)); + GET_FLOAT_WORD (n, z, cond2); + VECTOR_COND_MOVE(n, n & 1, cond2); + VECTOR_COND_MOVE(y, __builtin_convertvector(n, v64sf), cond2); + VECTOR_COND_MOVE(n, n << 2, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF (n == 0, cond) + VECTOR_COND_MOVE(y, v64sf_sinf_aux (pi * y, __mask), cond); + VECTOR_ELSEIF (n == 1 | n == 2, cond) + VECTOR_COND_MOVE(y, v64sf_cosf_aux (pi * (0.5F - y), __mask), cond); + VECTOR_ELSEIF (n == 3 | n == 4, cond) + VECTOR_COND_MOVE(y, v64sf_sinf_aux (pi * (VECTOR_INIT(one) - y), __mask), cond); + VECTOR_ELSEIF (n == 5 | n == 6, cond) + VECTOR_COND_MOVE(y, -v64sf_cosf_aux (pi * (y - 1.5F), __mask), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE(y, v64sf_sinf_aux (pi * (y - 2.0F), __mask), cond); + VECTOR_ENDIF + + VECTOR_RETURN(-y, NO_COND); + FUNCTION_RETURN; +} + +DEF_VS_MATH_FUNC (v64sf, lgammaf_r, v64sf x, v64si *signgamp) +{ + FUNCTION_INIT (v64sf); + + v64sf t,y,z,nadj = VECTOR_INIT(0.0F),p,p1,p2,p3,q,r,w; + v64si i,hx,ix; + + GET_FLOAT_WORD(hx,x,NO_COND); + + /* purge off +-inf, NaN, +-0, and negative arguments */ + *signgamp = VECTOR_INIT(1); + ix = hx&0x7fffffff; + VECTOR_IF(ix>=0x7f800000, cond) + VECTOR_RETURN (x*x, cond); + VECTOR_ENDIF + VECTOR_IF(ix==0, cond) + VECTOR_COND_MOVE(*signgamp, VECTOR_INIT(-1), cond & (hx<0)); + VECTOR_RETURN(one/(x-x), cond); + VECTOR_ENDIF + VECTOR_IF (ix < 0x30800000, cond) /* |x|<2**-30, return -log(|x|) */ + VECTOR_IF2(hx<0, cond2, cond) + VECTOR_COND_MOVE(*signgamp, VECTOR_INIT(-1), cond); + VECTOR_RETURN (-v64sf_logf_aux(-x, __mask), cond2); + VECTOR_ELSE2(cond2, cond) + VECTOR_RETURN (-v64sf_logf_aux(x, __mask), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (hx < 0, cond) + VECTOR_IF2(ix>=0x4b000000, cond2, cond) /* |x|>=2**23, must be -integer */ + VECTOR_RETURN(one/(x-x), cond2); + VECTOR_ENDIF + VECTOR_COND_MOVE (t, v64sf_sin_pif (x), cond); + VECTOR_IF2(t==zero, cond2, cond) + /* tgamma wants NaN instead of INFINITY */ + VECTOR_RETURN(one/(x-x), cond2); /* -integer */ + VECTOR_ENDIF + VECTOR_COND_MOVE(nadj, v64sf_logf_aux(VECTOR_INIT(pi)/__builtin_gcn_fabsvf(t*x), __mask), cond); + VECTOR_COND_MOVE(*signgamp, VECTOR_INIT(-1), cond & (t < zero)); + VECTOR_COND_MOVE(x, -x, cond); + VECTOR_ENDIF + + /* purge off 1 and 2 */ + VECTOR_IF(ix==0x3f800000|ix==0x40000000, cond) + VECTOR_COND_MOVE(r, VECTOR_INIT(0.0F), cond); + /* for x < 2.0 */ + VECTOR_ELSEIF(ix<0x40000000, cond) + VECTOR_IF2(ix<=0x3f666666, cond2, cond) + /* lgamma(x) = lgamma(x+1)-log(x) */ + r = -v64sf_logf_aux(x, __mask); + VECTOR_IF2(ix>=0x3f3b4a20, cond3, cond2) + VECTOR_COND_MOVE(y, one-x, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(0), cond3); + VECTOR_ELSEIF2(ix>=0x3e6d3308, cond3, cond2) + VECTOR_COND_MOVE(y, x-(tc-one), cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(1), cond3); + VECTOR_ELSE2(cond3, cond2) + VECTOR_COND_MOVE(y, x, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(2), cond3); + VECTOR_ENDIF + VECTOR_ELSE2(cond2, cond) + VECTOR_COND_MOVE(r, VECTOR_INIT(zero), cond2); + VECTOR_IF2(ix>=0x3fdda618, cond3, cond2) /* [1.7316,2] */ + VECTOR_COND_MOVE(y, VECTOR_INIT(2.0F)-x, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(0), cond3); + VECTOR_ELSEIF2(ix>=0x3F9da620, cond3, cond2) /* [1.23,1.73] */ + VECTOR_COND_MOVE(y, x-tc, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(1), cond3); + VECTOR_ELSE2(cond3, cond2) + VECTOR_COND_MOVE(y, x-one, cond3); + VECTOR_COND_MOVE(i, VECTOR_INIT(2), cond3); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_IF2(i==0, cond2, cond) + VECTOR_COND_MOVE(z, y*y, cond2); + VECTOR_COND_MOVE(p1, a0+z*(a2+z*(a4+z*(a6+z*(a8+z*a10)))), cond2); + VECTOR_COND_MOVE(p2, z*(a1+z*(a3+z*(a5+z*(a7+z*(a9+z*a11))))), cond2); + VECTOR_COND_MOVE(p, y*p1+p2, cond2); + VECTOR_COND_MOVE(r, r + (p-(float)0.5*y), cond2); + VECTOR_ELSEIF2(i==1, cond2, cond) + VECTOR_COND_MOVE(z, y*y, cond2); + VECTOR_COND_MOVE(w, z*y, cond2); + VECTOR_COND_MOVE(p1, t0+w*(t3+w*(t6+w*(t9 +w*t12))), cond2); /* parallel comp */ + VECTOR_COND_MOVE(p2, t1+w*(t4+w*(t7+w*(t10+w*t13))), cond2); + VECTOR_COND_MOVE(p3, t2+w*(t5+w*(t8+w*(t11+w*t14))), cond2); + VECTOR_COND_MOVE(p, z*p1-(tt-w*(p2+y*p3)), cond2); + VECTOR_COND_MOVE(r, r + (tf + p), cond2); + VECTOR_ELSEIF2(i==2, cond2, cond) + VECTOR_COND_MOVE(p1, y*(u0+y*(u1+y*(u2+y*(u3+y*(u4+y*u5))))), cond2); + VECTOR_COND_MOVE(p2, one+y*(v1+y*(v2+y*(v3+y*(v4+y*v5)))), cond2); + VECTOR_COND_MOVE(r, r + (-(float)0.5*y + p1/p2), cond2); + VECTOR_ENDIF + VECTOR_ELSEIF(ix<0x41000000, cond) + /* x < 8.0 */ + VECTOR_COND_MOVE(i, __builtin_convertvector(x, v64si), cond); + VECTOR_COND_MOVE(t, VECTOR_INIT(zero), cond); + VECTOR_COND_MOVE(y, x-__builtin_convertvector(i, v64sf), cond); + VECTOR_COND_MOVE(p, y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6)))))), cond); + VECTOR_COND_MOVE(q, one+y*(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6))))), cond); + VECTOR_COND_MOVE(r, half*y+p/q, cond); + VECTOR_COND_MOVE(z, VECTOR_INIT(one), cond); /* lgamma(1+s) = log(s) + lgamma(s) */ + VECTOR_IF2(i==7, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+(float)6.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i==7 | i==6, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+(float)5.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i<=7 & i>=5, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+(float)4.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i<=7 & i>=4, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+(float)3.0), cond2); + VECTOR_ENDIF + VECTOR_IF2(i<=7 & i>=3, cond2, cond) + VECTOR_COND_MOVE(z, z * (y+(float)2.0), cond2); + VECTOR_COND_MOVE(r, r + v64sf_logf_aux(z, __mask), cond2); + VECTOR_ENDIF + /* 8.0 <= x < 2**58 */ + VECTOR_ELSEIF(ix < 0x5c800000, cond) + VECTOR_COND_MOVE(t, v64sf_logf_aux(x, __mask), cond); + VECTOR_COND_MOVE(z, one/x, cond); + VECTOR_COND_MOVE(y, z*z, cond); + VECTOR_COND_MOVE(w, w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6))))), cond); + VECTOR_COND_MOVE(r, (x-half)*(t-one)+w, cond); + VECTOR_ELSE(cond) + /* 2**58 <= x <= inf */ + VECTOR_COND_MOVE(r, x*(v64sf_logf_aux(x, __mask)-one), cond); + VECTOR_ENDIF + VECTOR_IF(hx<0, cond) + VECTOR_COND_MOVE(r, nadj - r, cond); + VECTOR_ENDIF + + VECTOR_RETURN(r, NO_COND); + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_log.c b/newlib/libm/machine/amdgcn/v64sf_log.c new file mode 100644 index 000000000..630ce2a73 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_log.c @@ -0,0 +1,111 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/sf_logarithm.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64sf_finitef_aux (v64sf, v64si); +v64si v64sf_isnanf_aux (v64sf, v64si); + +static const float a[] = { -0.64124943423745581147e+02, + 0.16383943563021534222e+02, + -0.78956112887481257267 }; +static const float b[] = { -0.76949932108494879777e+03, + 0.31203222091924532844e+03, + -0.35667977739034646171e+02 }; +static const float C1 = 0.693145752; +static const float C2 = 1.428606820e-06; + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_frexpvf_mant) \ + && __has_builtin (__builtin_gcn_frexpvf_exp) + +DEF_VS_MATH_FUNC (v64sf, logf, v64sf x) +{ + FUNCTION_INIT (v64sf); + + /* Check for domain/range errors here. */ + VECTOR_IF (x == 0.0f, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (-z_infinity_f.f), cond); + VECTOR_ELSEIF (x < 0.0f, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum_f.f), cond); + VECTOR_ELSEIF (~v64sf_finitef_aux (x, __mask), cond) + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (z_notanum_f.f), + VECTOR_INIT (z_infinity_f.f), + v64sf_isnanf_aux (x, __mask)), + cond); + VECTOR_ENDIF + + /* Get the exponent and mantissa where x = f * 2^N. */ + v64sf f = __builtin_gcn_frexpvf_mant (x); + v64si N = __builtin_gcn_frexpvf_exp (x); + + v64sf z = f - 0.5f; + + VECTOR_IF (f > (float) __SQRT_HALF, cond) + VECTOR_COND_MOVE (z, (z - 0.5f) / (f * 0.5f + 0.5f), cond); + VECTOR_ELSE (cond) + VECTOR_COND_MOVE (N, N - 1, cond); + VECTOR_COND_MOVE (z, z / (z * 0.5f + 0.5f), cond); + VECTOR_ENDIF + + v64sf w = z * z; + + /* Use Newton's method with 4 terms. */ + z += z * w * ((a[2] * w + a[1]) * w + a[0]) / (((w + b[2]) * w + b[1]) * w + b[0]); + + v64sf Nf = __builtin_convertvector(N, v64sf); + VECTOR_COND_MOVE (z, (Nf * C2 + z) + Nf * C1, N != 0); + + VECTOR_RETURN (z, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (logf, sf, sf) + +DEF_VS_MATH_FUNC (v64sf, log1pf, v64sf x) +{ + /* TODO: Implement algorithm with better precision. */ + return v64sf_logf_aux (1 + x, __mask); +} + +DEF_VARIANTS (log1pf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_log10.c b/newlib/libm/machine/amdgcn/v64sf_log10.c new file mode 100644 index 000000000..863836c08 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_log10.c @@ -0,0 +1,50 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/sf_logarithm.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_logf_aux (v64sf, v64si); + +static const float C3 = 0.4342944819; + +DEF_VS_MATH_FUNC (v64sf, log10f, v64sf x) +{ + return v64sf_logf_aux (x, __mask) * C3; +} + +DEF_VARIANTS (log10f, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_log2.c b/newlib/libm/machine/amdgcn/v64sf_log2.c new file mode 100644 index 000000000..290b8a34f --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_log2.c @@ -0,0 +1,26 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +#include "amdgcnmach.h" + +v64sf v64sf_logf_aux (v64sf, v64si); + +static const float C3 = 1.4426950408889634073599246810019; + +DEF_VS_MATH_FUNC (v64sf, log2f, v64sf x) +{ + return v64sf_logf_aux (x, __mask) * C3; +} + +DEF_VARIANTS (log2f, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_modf.c b/newlib/libm/machine/amdgcn/v64sf_modf.c new file mode 100644 index 000000000..d0d1dfe17 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_modf.c @@ -0,0 +1,69 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/sf_modf.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64sf_numtestf (v64sf); + +DEF_VS_MATH_FUNC (v64sf, modff, v64sf x, v64sf *iptr) +{ + FUNCTION_INIT (v64sf); + v64sf ret_i; + + v64si i0; + GET_FLOAT_WORD (i0, x, NO_COND); + v64si j0 = ((i0 >> 23) & 0xff) - 0x7f; /* exponent of x */ + v64sf zero; + SET_FLOAT_WORD (zero, i0 & 0x80000000,NO_COND); + + VECTOR_IF (j0 < 23, cond) /* integer part in x*/ + VECTOR_IF2 (j0 < 0, cond2, cond) /* |x|<1 */ + VECTOR_COND_MOVE (ret_i, zero, cond2); + VECTOR_RETURN (x, cond2); + VECTOR_ELSE2 (cond2, cond) + v64si i = (0x007fffff) >> j0; + + VECTOR_IF2 ((i0 & i) == 0, cond3, cond2) /* x is integral */ + VECTOR_COND_MOVE (ret_i, x, cond3); + VECTOR_RETURN (zero, cond3); + VECTOR_ELSE2 (cond3, cond2) + SET_FLOAT_WORD (ret_i, i0 & ~i, cond3); + VECTOR_RETURN (x - ret_i, cond3); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_ELSE (cond) /* no fraction part */ + VECTOR_COND_MOVE (ret_i, x, cond); + VECTOR_IF2 (v64sf_numtestf (x) == NAN, cond2, cond) + VECTOR_COND_MOVE (ret_i, x + x, cond2); + VECTOR_RETURN (ret_i, cond2); /* x is NaN, return NaN */ + VECTOR_ENDIF + VECTOR_RETURN (zero, cond); /* return +- 0 */ + VECTOR_ENDIF + + *iptr = ret_i; + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64sf_numtest.c b/newlib/libm/machine/amdgcn/v64sf_numtest.c new file mode 100644 index 000000000..1f3fbe936 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_numtest.c @@ -0,0 +1,59 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_numtest.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si +v64sf_numtestf (v64sf x) +{ + // Explicitly create mask for internal function. + v64si __mask = VECTOR_INIT (-1); + FUNCTION_INIT (v64si); + + v64si wx; + GET_FLOAT_WORD (wx, x, NO_COND); + v64si exp = (wx & 0x7f800000) >> 23; + + /* Check for a zero input. */ + VECTOR_RETURN (VECTOR_INIT (0), x == 0.0); + + /* Check for not a number or infinity. */ + VECTOR_IF (exp == 0xff, cond) + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (NAN), VECTOR_INIT (INF), + wx & 0x7fffff), + cond); + /* Otherwise it's a finite value. */ + VECTOR_ELSE (cond) + VECTOR_RETURN (VECTOR_INIT (NUM), cond); + VECTOR_ENDIF + + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64sf_pow.c b/newlib/libm/machine/amdgcn/v64sf_pow.c new file mode 100644 index 000000000..9cb1cc231 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_pow.c @@ -0,0 +1,306 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/math/ef_pow.c in Newlib. */ + +#include "amdgcnmach.h" + +static const float +bp[] = {1.0, 1.5,}, +dp_h[] = { 0.0, 5.84960938e-01,}, /* 0x3f15c000 */ +dp_l[] = { 0.0, 1.56322085e-06,}, /* 0x35d1cfdc */ +zero = 0.0, +one = 1.0, +two = 2.0, +two24 = 16777216.0, /* 0x4b800000 */ + /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */ +L1 = 6.0000002384e-01, /* 0x3f19999a */ +L2 = 4.2857143283e-01, /* 0x3edb6db7 */ +L3 = 3.3333334327e-01, /* 0x3eaaaaab */ +L4 = 2.7272811532e-01, /* 0x3e8ba305 */ +L5 = 2.3066075146e-01, /* 0x3e6c3255 */ +L6 = 2.0697501302e-01, /* 0x3e53f142 */ +P1 = 1.6666667163e-01, /* 0x3e2aaaab */ +P2 = -2.7777778450e-03, /* 0xbb360b61 */ +P3 = 6.6137559770e-05, /* 0x388ab355 */ +P4 = -1.6533901999e-06, /* 0xb5ddea0e */ +P5 = 4.1381369442e-08, /* 0x3331bb4c */ +lg2 = 6.9314718246e-01, /* 0x3f317218 */ +lg2_h = 6.93145752e-01, /* 0x3f317200 */ +lg2_l = 1.42860654e-06, /* 0x35bfbe8c */ +ovt = 4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */ +cp = 9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */ +cp_h = 9.6179199219e-01, /* 0x3f763800 =head of cp */ +cp_l = 4.7017383622e-06, /* 0x369dc3a0 =tail of cp_h */ +ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */ +ivln2_h = 1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/ +ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/ + +v64sf v64sf_sqrtf_aux (v64sf, v64si); +v64sf v64sf_scalbnf_aux (v64sf, v64si, v64si); + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, powf, v64sf x, v64sf y) +{ + FUNCTION_INIT (v64sf); + + v64si hx, hy; + GET_FLOAT_WORD (hx,x, NO_COND); + GET_FLOAT_WORD (hy,y, NO_COND); + v64si ix = hx&0x7fffffff; + v64si iy = hy&0x7fffffff; + + /* y==zero: x**0 = 1 */ + VECTOR_IF (FLT_UWORD_IS_ZERO(iy), cond) + VECTOR_RETURN (x + y, cond & v64sf_issignalingf_inline(x)); + VECTOR_RETURN (VECTOR_INIT (1.0f), cond); + VECTOR_ENDIF + + /* x|y==NaN return NaN unless x==1 then return 1 */ + VECTOR_IF (FLT_UWORD_IS_NAN(ix) | FLT_UWORD_IS_NAN(iy), cond) + VECTOR_IF2 (hx==0x3f800000 & ~v64sf_issignalingf_inline(y), cond2, cond) + VECTOR_RETURN (VECTOR_INIT (1.0f), cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (x + y, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + /* determine if y is an odd int when x < 0 + * yisint = 0 ... y is not an integer + * yisint = 1 ... y is an odd int + * yisint = 2 ... y is an even int + */ + v64si yisint = VECTOR_INIT (0); + + VECTOR_IF (hx < 0, cond) + VECTOR_IF2 (iy >= 0x4b800000, cond2, cond) + VECTOR_COND_MOVE (yisint, VECTOR_INIT (2), cond2); /* even integer y */ + VECTOR_ELSEIF2 (iy >= 0x3f800000, cond2, cond) + v64si k = (iy>>23)-0x7f; /* exponent */ + v64si j = iy>>(23-k); + VECTOR_COND_MOVE (yisint, 2-(j&1), cond2 & (j<<(23-k))==iy); + VECTOR_ENDIF + VECTOR_ENDIF + + /* special value of y */ + VECTOR_IF (FLT_UWORD_IS_INFINITE(iy), cond) /* y is +-inf */ + VECTOR_IF2 (ix==0x3f800000, cond2, cond) + VECTOR_RETURN (VECTOR_INIT (1.0f), cond2); /* +-1**+-inf = 1 */ + VECTOR_ELSEIF2 (ix > 0x3f800000, cond2, cond) /* (|x|>1)**+-inf = inf,0 */ + VECTOR_RETURN (y, cond2 & (hy >= 0)); + VECTOR_RETURN (VECTOR_INIT (0.0f), cond2); + VECTOR_ELSE2 (cond2, cond) /* (|x|<1)**-,+inf = inf,0 */ + VECTOR_RETURN (-y, cond2 & (hy<0)); + VECTOR_RETURN (VECTOR_INIT (0.0f), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (iy==0x3f800000, cond) /* y is +-1 */ + VECTOR_RETURN (VECTOR_INIT (1.0f) / x, cond & (hy<0)); + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + + VECTOR_RETURN (x*x, hy==0x40000000); /* y is 2 */ + /* y is 0.5 */ + /* x >= +0 */ + VECTOR_RETURN (v64sf_sqrtf_aux (x, __mask), (hy==0x3f000000) & (hx >= 0)); + + v64sf ax = __builtin_gcn_fabsvf(x); + /* special value of x */ + VECTOR_IF (FLT_UWORD_IS_INFINITE(ix)|FLT_UWORD_IS_ZERO(ix)|ix==0x3f800000, cond) + v64sf z = ax; /*x is +-0,+-inf,+-1*/ + VECTOR_COND_MOVE (z, VECTOR_INIT (1.0f) / z, cond & (hy < 0)); /* z = (1/|x|) */ + VECTOR_IF2 (hx<0, cond2, cond) + VECTOR_IF2 (((ix-0x3f800000)|yisint)==0, cond3, cond2) + /* (-1)**non-int is NaN */ + VECTOR_COND_MOVE (z, (z-z)/(z-z), cond3); + VECTOR_ELSEIF2 (yisint==1, cond3, cond2) + /* (x<0)**odd = -(|x|**odd) */ + VECTOR_COND_MOVE (z, -z, cond3); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_RETURN (z, cond); + VECTOR_ENDIF + + /* (x<0)**(non-int) is NaN */ + VECTOR_RETURN ((x-x)/(x-x), ((((hx >> 31) & 1) - 1)|yisint)==0); + + v64sf t1, t2; + + /* |y| is huge */ + VECTOR_IF (iy>0x4d000000, cond) /* if |y| > 2**27 */ + /* over/underflow if x is not close to one */ + VECTOR_IF2(ix<0x3f7ffff4, cond2, cond) + VECTOR_RETURN (v64sf_math_oflowf(VECTOR_INIT (0)), cond2 & (hy < 0)); + VECTOR_RETURN (v64sf_math_uflowf(VECTOR_INIT (0)), cond2); + VECTOR_ENDIF + VECTOR_IF2(ix>0x3f800007, cond2, cond) + VECTOR_RETURN (v64sf_math_oflowf(VECTOR_INIT (0)), cond2 & (hy > 0)); + VECTOR_RETURN (v64sf_math_uflowf(VECTOR_INIT (0)), cond2); + VECTOR_ENDIF + /* now |1-x| is tiny <= 2**-20, suffice to compute + log(x) by x-x^2/2+x^3/3-x^4/4 */ + v64sf t = ax-1; /* t has 20 trailing zeros */ + v64sf w = (t*t)*(0.5f-t*(0.333333333333f-t*0.25f)); + v64sf u = ivln2_h*t; /* ivln2_h has 16 sig. bits */ + v64sf v = t*ivln2_l-w*ivln2; + VECTOR_COND_MOVE (t1, u+v, cond); + v64si is; + GET_FLOAT_WORD(is,t1, cond); + SET_FLOAT_WORD(t1,is&0xfffff000, cond); + VECTOR_COND_MOVE (t2, v-(t1-u), cond); + VECTOR_RETURN (VECTOR_INIT (0.123456f), cond); + VECTOR_ELSE (cond) + v64si n = VECTOR_INIT (0); + /* take care subnormal number */ + VECTOR_IF2 (FLT_UWORD_IS_SUBNORMAL(ix), cond2, cond) + VECTOR_COND_MOVE (ax, ax * two24, cond); + VECTOR_COND_MOVE (n, n - 24, cond2); + GET_FLOAT_WORD(ix,ax, cond2); + VECTOR_ENDIF + n += (ix>>23)-0x7f; + v64si j = ix&0x007fffff; + /* determine interval */ + v64si ix = j|0x3f800000; /* normalize ix */ + v64si k; + VECTOR_IF2 (j<=0x1cc471, cond2, cond) + VECTOR_COND_MOVE (k, VECTOR_INIT (0), cond2); /* |x|>1)|0x20000000)+0x0040000+(k<<21), cond); + v64sf t_l = ax - (t_h-bp_k); + v64sf s_l = v*((u-s_h*t_h)-s_h*t_l); + /* compute log(ax) */ + v64sf s2 = s*s; + v64sf r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6))))); + r += s_l*(s_h+s); + s2 = s_h*s_h; + t_h = __builtin_convertvector(3.0f+s2+r, v64sf); + GET_FLOAT_WORD(is,t_h, cond); + SET_FLOAT_WORD(t_h,is&0xfffff000, cond); + t_l = r-((t_h-3.0f)-s2); + /* u+v = s*(1+...) */ + u = s_h*t_h; + v = s_l*t_h+t_l*s; + /* 2/(3log2)*(s+...) */ + v64sf p_h = u+v; + GET_FLOAT_WORD(is,p_h, cond); + SET_FLOAT_WORD(p_h,is&0xfffff000, cond); + v64sf p_l = v-(p_h-u); + v64sf z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */ + v64sf dp_l_k = VECTOR_MERGE (VECTOR_INIT (dp_l[1]), VECTOR_INIT (dp_l[0]), k == 1); + v64sf z_l = cp_l*p_h+p_l*cp+dp_l_k; + /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */ + v64sf t = __builtin_convertvector (n, v64sf); + v64sf dp_h_k = VECTOR_MERGE (VECTOR_INIT (dp_h[1]), VECTOR_INIT (dp_h[0]), k == 1); + VECTOR_COND_MOVE (t1, (((z_h+z_l)+dp_h_k)+t), cond); + GET_FLOAT_WORD(is,t1, cond); + SET_FLOAT_WORD(t1,is&0xfffff000, cond); + VECTOR_COND_MOVE (t2, z_l-(((t1-t)-dp_h_k)-z_h), cond); + VECTOR_ENDIF + + v64sf s = VECTOR_INIT (1.0f); /* s (sign of result -ve**odd) = -1 else = 1 */ + VECTOR_COND_MOVE (s, VECTOR_INIT (-1.0f), /* (-ve)**(odd int) */ + ((hx>>31) != 0)&(yisint == 1)); + + /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ + v64si is; + GET_FLOAT_WORD(is,y, NO_COND); + v64sf y1; + SET_FLOAT_WORD(y1,is&0xfffff000, NO_COND); + v64sf p_l = (y-y1)*t1+y*t2; + v64sf p_h = y1*t1; + v64sf z = p_l+p_h; + v64si j; + GET_FLOAT_WORD(j,z, NO_COND); + v64si i = j&0x7fffffff; + VECTOR_IF (j>0, cond) + VECTOR_RETURN (v64sf_math_oflowf(s<0), cond & i>FLT_UWORD_EXP_MAX); /* overflow */ + VECTOR_RETURN (v64sf_math_oflowf(s<0), cond & (i==FLT_UWORD_EXP_MAX) + & (p_l+ovt>z-p_h)); /* overflow */ + VECTOR_ELSE (cond) + VECTOR_RETURN (v64sf_math_uflowf(s<0), cond & (i>FLT_UWORD_EXP_MIN)); /* underflow */ + VECTOR_RETURN (v64sf_math_uflowf(s<0), cond & (i==FLT_UWORD_EXP_MIN) + & (p_l<=z-p_h)); /* underflow */ + VECTOR_ENDIF + /* + * compute 2**(p_h+p_l) + */ + v64si k = (i>>23)-0x7f; + v64si n = VECTOR_INIT (0); + VECTOR_IF (i>0x3f000000, cond) /* if |z| > 0.5, set n = [z+0.5] */ + VECTOR_COND_MOVE (n, j+(0x00800000>>(k+1)), cond); + k = ((n&0x7fffffff)>>23)-0x7f; /* new k for n */ + v64sf t; + SET_FLOAT_WORD(t,n&~(0x007fffff>>k), cond); + VECTOR_COND_MOVE (n, ((n&0x007fffff)|0x00800000)>>(23-k), cond); + VECTOR_COND_MOVE (n, -n, cond & (j<0)); + VECTOR_COND_MOVE (p_h, p_h - t, cond); + VECTOR_ENDIF + v64sf t = p_l+p_h; + GET_FLOAT_WORD(is,t, NO_COND); + SET_FLOAT_WORD(t,is&0xfffff000, NO_COND); + v64sf u = t*lg2_h; + v64sf v = (p_l-(t-p_h))*lg2+t*lg2_l; + z = u+v; + v64sf w = v-(z-u); + t = z*z; + t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); + v64sf r = (z*t1)/(t1-2.0f)-(w+z*w); + z = VECTOR_INIT (1.0f)-(r-z); + GET_FLOAT_WORD(j,z, NO_COND); + j += (n<<23); + VECTOR_IF ((j>>23)<=0, cond) + VECTOR_COND_MOVE (z, v64sf_scalbnf_aux(z, n, __mask), cond); /* subnormal output */ + VECTOR_ELSE (cond) + SET_FLOAT_WORD(z, j, cond); + VECTOR_ENDIF + VECTOR_RETURN (s*z, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (powf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_remainder.c b/newlib/libm/machine/amdgcn/v64sf_remainder.c new file mode 100644 index 000000000..5820498ac --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_remainder.c @@ -0,0 +1,85 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/ef_remainder.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_fmodf_aux (v64sf, v64sf, v64si); + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, remainderf, v64sf x, v64sf p) +{ + FUNCTION_INIT (v64sf); + + v64si hx; + GET_FLOAT_WORD (hx, x, NO_COND); + v64si hp; + GET_FLOAT_WORD (hp, p, NO_COND); + v64si sx = hx & 0x80000000; + hp &= 0x7fffffff; + hx &= 0x7fffffff; + + /* purge off exception values */ + /*if(hp==0) // p = 0 */ + /*if((hx>=0x7f800000)|| // x not finite + ((hp>0x7f800000))) // p is NaN */ + VECTOR_RETURN ((x*p) / (x*p), + (hp == 0) | (hx >= 0x7f800000) | (hp > 0x7f800000)); + + /* if (hp<=0x7effffff) // now x < 2p */ + VECTOR_COND_MOVE (x, v64sf_fmodf_aux (x, p+p, __mask), hp <= 0x7effffff); + + /*if ((hx-hp)==0) */ + VECTOR_RETURN (0.0f * x, (hx-hp) == 0); + + x = __builtin_gcn_fabsvf (x); + p = __builtin_gcn_fabsvf (p); + + VECTOR_IF (hp < 0x01000000, cond) + VECTOR_IF2 (x + x > p, cond2, cond) + VECTOR_COND_MOVE (x, x - p, cond2); + VECTOR_COND_MOVE (x, x - p, cond2 & (x + x >= p)); + VECTOR_ENDIF + VECTOR_ELSE (cond) + v64sf p_half = 0.5f * p; + VECTOR_IF2 (x > p_half, cond2, cond) + VECTOR_COND_MOVE (x, x - p, cond2); + VECTOR_COND_MOVE (x, x - p, cond2 & (x >= p_half)); + VECTOR_ENDIF + VECTOR_ENDIF + + GET_FLOAT_WORD (hx, x, NO_COND); + SET_FLOAT_WORD (x, hx ^ sx, NO_COND); + + VECTOR_RETURN (x, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (remainderf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_rint.c b/newlib/libm/machine/amdgcn/v64sf_rint.c new file mode 100644 index 000000000..f07602063 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_rint.c @@ -0,0 +1,76 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/sf_rint.c in Newlib. */ + +#include "amdgcnmach.h" + +static const float TWO23[2] = { + 8.3886080000e+06, /* 0x4b000000 */ + -8.3886080000e+06, /* 0xcb000000 */ +}; + +DEF_VS_MATH_FUNC (v64sf, rintf, v64sf x) +{ + FUNCTION_INIT (v64sf); + + v64si i0; + GET_FLOAT_WORD (i0, x, NO_COND); + v64si sx = (i0 >> 31) & 1; + v64sf two23 = VECTOR_MERGE (TWO23[1] + x, TWO23[0] + x, sx != 0); + v64si ix = (i0 & 0x7fffffff); + v64si j0 = (ix >> 23) - 0x7f; + VECTOR_IF (j0 < 23, cond) + VECTOR_RETURN (x, cond & FLT_UWORD_IS_ZERO (ix)); + VECTOR_IF2 (j0 < 0, cond2, cond) + v64si i1 = (i0 & 0x07fffff); + VECTOR_COND_MOVE (i0, i0 & 0xfff00000, cond2); + VECTOR_COND_MOVE (i0, i0 | (((i1 | -i1) >> 9) & 0x400000), cond2); + SET_FLOAT_WORD (x, i0, cond2); + v64sf w = two23 + x; + v64sf t = w - two23; + GET_FLOAT_WORD (i0, t, cond2); + SET_FLOAT_WORD (t, (i0&0x7fffffff)|(sx<<31), cond2); + VECTOR_RETURN (t, cond2); + VECTOR_ELSE2 (cond2, cond) + v64si i = (0x007fffff) >> j0; + VECTOR_RETURN (x, cond2 & ((i0 & i) == 0)); /* x is integral */ + i >>= 1; + VECTOR_COND_MOVE (i0, (i0 & (~i)) | (0x200000 >> j0), + cond2 & ((i0 & i) != 0)); + VECTOR_ENDIF + VECTOR_ELSE (cond) + VECTOR_RETURN (x + x, cond & ~FLT_UWORD_IS_FINITE (ix)); /* inf or NaN */ + VECTOR_RETURN (x, cond); /* x is integral */ + VECTOR_ENDIF + + SET_FLOAT_WORD (x, i0, NO_COND); + v64sf w = two23 + x; + VECTOR_RETURN (w - two23, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (rintf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_scalb.c b/newlib/libm/machine/amdgcn/v64sf_scalb.c new file mode 100644 index 000000000..1c3e34883 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_scalb.c @@ -0,0 +1,73 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/ef_scalb.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64sf_isnanf (v64sf); +v64si v64sf_finitef (v64sf); +v64sf v64sf_rintf_aux (v64sf, v64si); +v64sf v64sf_scalbnf_aux (v64sf, v64si, v64si); + +DEF_VS_MATH_FUNC (v64sf, scalbf, v64sf x, v64sf fn) +{ + FUNCTION_INIT (v64sf); + + VECTOR_IF (v64sf_isnanf(x) | v64sf_isnanf(fn), cond) + VECTOR_RETURN (x * fn, cond); + VECTOR_ENDIF + VECTOR_IF (~v64sf_finitef (fn), cond) + VECTOR_IF2 (fn > 0.0f, cond2, cond) + VECTOR_RETURN (x * fn, cond2); + VECTOR_ELSE2 (cond2, cond) + VECTOR_RETURN (x / (-fn), cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (v64sf_rintf_aux (fn, __mask) != fn, cond) + VECTOR_RETURN ((fn-fn)/(fn-fn), cond); + VECTOR_ENDIF +#if INT_MAX > 65000 + VECTOR_IF (fn > 65000.0f, cond) + VECTOR_RETURN (v64sf_scalbnf_aux (x, VECTOR_INIT (65000), __mask), cond); + VECTOR_ENDIF + VECTOR_IF (-fn > 65000.0f, cond) + VECTOR_RETURN (v64sf_scalbnf_aux (x, VECTOR_INIT (-65000), __mask), cond); + VECTOR_ENDIF +#else + VECTOR_IF (fn > 32000.0f, cond) + VECTOR_RETURN (v64sf_scalbnf_aux (x, VECTOR_INIT (32000), __mask), cond); + VECTOR_ENDIF + VECTOR_IF (-fn > 32000.0f, cond) + VECTOR_RETURN (v64sf_scalbnf_aux (x, VECTOR_INIT (-32000), __mask), cond); + VECTOR_ENDIF +#endif + VECTOR_RETURN (v64sf_scalbnf_aux (x, __builtin_convertvector (fn, v64si), __mask), + NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS2 (scalbf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_scalbn.c b/newlib/libm/machine/amdgcn/v64sf_scalbn.c new file mode 100644 index 000000000..52c18dc1a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_scalbn.c @@ -0,0 +1,92 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/common/sf_scalbn.c in Newlib. */ + +#include "amdgcnmach.h" +#include +#include + +#if INT_MAX > 50000 +#define OVERFLOW_INT 50000 +#else +#define OVERFLOW_INT 30000 +#endif + +static const float +two25 = 3.355443200e+07, /* 0x4c000000 */ +twom25 = 2.9802322388e-08, /* 0x33000000 */ +huge = 1.0e+30, +tiny = 1.0e-30; + +v64sf v64sf_copysignf_aux (v64sf, v64sf, v64si); + +DEF_VS_MATH_FUNC (v64sf, scalbnf, v64sf x, v64si n) +{ + FUNCTION_INIT (v64sf); + + const v64sf huge_v = VECTOR_INIT ((float) huge); + const v64sf tiny_v = VECTOR_INIT ((float) tiny); + + v64si ix; + GET_FLOAT_WORD (ix, x, NO_COND); + v64si hx = ix & 0x7fffffff; + v64si k = hx >> 23; /* extract exponent */ + VECTOR_IF (FLT_UWORD_IS_ZERO(hx), cond) + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_IF (~FLT_UWORD_IS_FINITE(hx), cond) /* NaN or Inf */ + VECTOR_RETURN (x + x, cond); + VECTOR_ENDIF + VECTOR_IF (FLT_UWORD_IS_SUBNORMAL (hx), cond); + VECTOR_COND_MOVE (x, x * two25, cond); + GET_FLOAT_WORD (ix, x, cond); + VECTOR_COND_MOVE (k, ((ix & 0x7f800000) >> 23) - 25, cond); + VECTOR_IF2 (n < -50000, cond2, cond) /*underflow*/ + VECTOR_RETURN (tiny * x, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF (n > OVERFLOW_INT, cond) // in case integer overflow in n+k + VECTOR_RETURN (huge_v * v64sf_copysignf_aux (huge_v, x, __mask), cond); + VECTOR_ENDIF + k = k + n; + VECTOR_IF (k > FLT_LARGEST_EXP, cond) /* overflow */ + VECTOR_RETURN (huge_v * v64sf_copysignf_aux (huge_v, x, __mask), cond); + VECTOR_ENDIF + VECTOR_IF (k > 0, cond) /* normal result */ + SET_FLOAT_WORD (x, (ix & 0x807fffff) | (k << 23), cond); + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + VECTOR_IF (k < FLT_SMALLEST_EXP, cond) /*underflow*/ + VECTOR_RETURN (tiny_v * v64sf_copysignf_aux (tiny_v, x, __mask), + k < FLT_SMALLEST_EXP); + VECTOR_ENDIF + + k += 25; /* subnormal result */ + SET_FLOAT_WORD (x, (ix & 0x807fffff) | (k << 23), NO_COND); + VECTOR_RETURN (x * twom25, NO_COND); + + FUNCTION_RETURN; +} diff --git a/newlib/libm/machine/amdgcn/v64sf_signif.c b/newlib/libm/machine/amdgcn/v64sf_signif.c new file mode 100644 index 000000000..ff7136e65 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_signif.c @@ -0,0 +1,38 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/mathfp/sf_signif.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_scalbf_aux (v64sf x, v64sf fn, v64si); +v64si v64sf_ilogbf_aux (v64sf x, v64si); + +DEF_VS_MATH_FUNC (v64sf, significandf, v64sf x) +{ + return v64sf_scalbf_aux (x, -__builtin_convertvector (v64sf_ilogbf_aux (x, __mask), v64sf), __mask); +} + +DEF_VARIANTS (significandf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_sin.c b/newlib/libm/machine/amdgcn/v64sf_sin.c new file mode 100644 index 000000000..cd43eb546 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_sin.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_sin.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_sinef_aux (v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, sinf, v64sf x) +{ + return v64sf_sinef_aux (x, 0, __mask); +} + +DEF_VARIANTS (sinf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_sine.c b/newlib/libm/machine/amdgcn/v64sf_sine.c new file mode 100644 index 000000000..ad118b1d3 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_sine.c @@ -0,0 +1,122 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based on newlib/libm/mathfp/sf_sine.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64sf_numtestf (v64sf); + +static const float HALF_PI = 1.570796326; +static const float ONE_OVER_PI = 0.318309886; +static const float r[] = { -0.1666665668, + 0.8333025139e-02, + -0.1980741872e-03, + 0.2601903036e-5 }; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, sinef, v64sf x, int cosine) +{ + const float YMAX = 210828714.0; + + FUNCTION_INIT (v64sf); + + v64si num_type = v64sf_numtestf (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum_f.f), cond); + VECTOR_ENDIF + + /* Use sin and cos properties to ease computations. */ + v64si sgn; + v64sf y; + + if (cosine) + { + sgn = VECTOR_INIT (0); + y = __builtin_gcn_fabsvf (x) + HALF_PI; + } + else + { + sgn = x < 0.0f; + y = VECTOR_MERGE (-x, x, x < 0.0f); + } + + /* Check for values of y that will overflow here. */ + VECTOR_IF (y > YMAX, cond) + errno = ERANGE; + VECTOR_RETURN (x, cond); + VECTOR_ENDIF + + /* Calculate the exponent. */ + v64si Nneg = __builtin_convertvector (y * ONE_OVER_PI - 0.5f, v64si); + v64si Npos = __builtin_convertvector (y * ONE_OVER_PI + 0.5f, v64si); + v64si N = VECTOR_MERGE (Nneg, Npos, y < 0.0f); + v64sf XN = __builtin_convertvector (N, v64sf); + + VECTOR_COND_MOVE (sgn, ~sgn, (N & 1) != 0); + + if (cosine) + XN -= 0.5; + + y = __builtin_gcn_fabsvf (x) - XN * (float) __PI; + + v64sf res; + + VECTOR_IF ((-z_rooteps_f < y) & (y < z_rooteps_f), cond) + VECTOR_COND_MOVE (res, y, cond); + VECTOR_ELSE (cond) + v64sf g = y * y; + + /* Calculate the Taylor series. */ + v64sf R = (((r[3] * g + r[2]) * g + r[1]) * g + r[0]) * g; + + /* Finally, compute the result. */ + VECTOR_COND_MOVE (res, y + y * R, cond); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, sgn); + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_sineh.c b/newlib/libm/machine/amdgcn/v64sf_sineh.c new file mode 100644 index 000000000..013b97a25 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_sineh.c @@ -0,0 +1,127 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/****************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + ******************************************************************/ + +/* Based in newlib/libm/mathfp/sf_sineh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_expf_aux (v64sf, v64si); +v64si v64sf_numtestf (v64sf); +v64si v64sf_isposf (v64sf); + +static const float q[] = { -0.428277109e+2 }; +static const float p[] = { -0.713793159e+1, + -0.190333399 }; +static const float LNV = 0.6931610107; +static const float INV_V2 = 0.2499930850; +static const float V_OVER2_MINUS1 = 0.1383027787e-4; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, sinehf, v64sf x, int cosineh) +{ + const float WBAR = 18.55; + + FUNCTION_INIT (v64sf); + + v64si sgn = VECTOR_INIT (0); + v64si v_cosineh = VECTOR_INIT (cosineh ? -1 : 0); + + /* Check for special values. */ + v64si num_type = v64sf_numtestf (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_MERGE (VECTOR_INIT (z_infinity_f.f), + VECTOR_INIT (-z_infinity_f.f), + v64sf_isposf (x)), + cond); + VECTOR_ENDIF + + v64sf y = __builtin_gcn_fabsvf (x); + + if (!cosineh) + VECTOR_COND_MOVE (sgn, VECTOR_INIT (-1), x < 0.0f); + + v64sf res; + + VECTOR_IF (((y > 1.0f) & ~v_cosineh) | v_cosineh, cond) + VECTOR_IF2 (y > (float) BIGX, cond2, cond) + v64sf w = y - LNV; + + /* Check for w > maximum here. */ + VECTOR_IF2 (w > (float) BIGX, cond3, cond2) + errno = ERANGE; + VECTOR_RETURN (x, cond3); + VECTOR_ENDIF + + v64sf z = v64sf_expf_aux (w, __mask); + + VECTOR_COND_MOVE (res, z * (V_OVER2_MINUS1 + 1.0f), + cond2 & (w > WBAR)); + VECTOR_ELSE2 (cond2, cond) + v64sf z = v64sf_expf_aux (y, __mask); + if (cosineh) { + VECTOR_COND_MOVE (res, (z + 1 / z) * 0.5f, cond2); + } else { + VECTOR_COND_MOVE (res, (z - 1 / z) * 0.5f, cond2); + } + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, sgn); + VECTOR_ELSE (cond) + /* Check for y being too small. */ + VECTOR_IF2 (y < z_rooteps_f, cond2, cond); + VECTOR_COND_MOVE (res, x, cond2); + VECTOR_ELSE2 (cond2, cond) + /* Calculate the Taylor series. */ + v64sf f = x * x; + v64sf Q = f + q[0]; + v64sf P = p[1] * f + p[0]; + v64sf R = f * (P / Q); + + VECTOR_COND_MOVE (res, x + x * R, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_sinh.c b/newlib/libm/machine/amdgcn/v64sf_sinh.c new file mode 100644 index 000000000..20530e8bf --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_sinh.c @@ -0,0 +1,41 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/* Based on newlib/libm/mathfp/sf_sinh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_sinehf_aux (v64sf, int, v64si); + +DEF_VS_MATH_FUNC (v64sf, sinhf, v64sf x) +{ + return v64sf_sinehf_aux (x, 0, __mask); +} + +DEF_VARIANTS (sinhf, sf, sf) diff --git a/newlib/libm/machine/amdgcn/v64sf_sqrt.c b/newlib/libm/machine/amdgcn/v64sf_sqrt.c new file mode 100644 index 000000000..c93b44c74 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_sqrt.c @@ -0,0 +1,103 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/***************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + *****************************************************************/ + +/* Based on newlib/libm/mathfp/sf_sqrt.c in Newlib. */ + +#include "amdgcnmach.h" + +v64si v64sf_numtestf (v64sf); +v64si v64sf_isposf (v64sf); + +#if defined (__has_builtin) \ + && __has_builtin (__builtin_gcn_frexpvf_mant) \ + && __has_builtin (__builtin_gcn_frexpvf_exp) \ + && __has_builtin (__builtin_gcn_ldexpvf) + +DEF_VS_MATH_FUNC (v64sf, sqrtf, v64sf x) +{ + FUNCTION_INIT (v64sf); + + /* Check for special values. */ + v64si num_type = v64sf_numtestf (x); + VECTOR_IF (num_type == NAN, cond) + errno = EDOM; + VECTOR_RETURN (x, cond); + VECTOR_ELSEIF (num_type == INF, cond) + VECTOR_IF2 (v64sf_isposf (x), cond2, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum_f.f), cond2); + VECTOR_ELSE2 (cond2,cond) + errno = ERANGE; + VECTOR_RETURN (VECTOR_INIT (z_infinity_f.f), cond); + VECTOR_ENDIF + VECTOR_ENDIF + + /* Initial checks are performed here. */ + VECTOR_IF (x == 0.0f, cond) + VECTOR_RETURN (VECTOR_INIT (0.0f), cond); + VECTOR_ENDIF + VECTOR_IF (x < 0.0f, cond) + errno = EDOM; + VECTOR_RETURN (VECTOR_INIT (z_notanum_f.f), cond); + VECTOR_ENDIF + + /* Find the exponent and mantissa for the form x = f * 2^exp. */ + v64sf f = __builtin_gcn_frexpvf_mant (x); + v64si exp = __builtin_gcn_frexpvf_exp (x); + v64si odd = (exp & 1) != 0; + + /* Get the initial approximation. */ + v64sf y = 0.41731f + 0.59016f * f; + + f *= 0.5f; + /* Calculate the remaining iterations. */ + y = y * 0.5f + f / y; + y = y * 0.5f + f / y; + + /* Calculate the final value. */ + VECTOR_COND_MOVE (y, y * (float) __SQRT_HALF, odd); + VECTOR_COND_MOVE (exp, exp + 1, odd); + exp >>= 1; + y = __builtin_gcn_ldexpvf (y, exp); + + VECTOR_RETURN (y, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (sqrtf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_tan.c b/newlib/libm/machine/amdgcn/v64sf_tan.c new file mode 100644 index 000000000..d1841e74e --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_tan.c @@ -0,0 +1,152 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* Based on newlib/libm/math/kf_tan.c in Newlib. */ + +#include "amdgcnmach.h" + +static const float +one = 1.0000000000e+00, /* 0x3f800000 */ +pio4 = 7.8539812565e-01, /* 0x3f490fda */ +pio4lo= 3.7748947079e-08, /* 0x33222168 */ +T[] = { + 3.3333334327e-01, /* 0x3eaaaaab */ + 1.3333334029e-01, /* 0x3e088889 */ + 5.3968254477e-02, /* 0x3d5d0dd1 */ + 2.1869488060e-02, /* 0x3cb327a4 */ + 8.8632395491e-03, /* 0x3c11371f */ + 3.5920790397e-03, /* 0x3b6b6916 */ + 1.4562094584e-03, /* 0x3abede48 */ + 5.8804126456e-04, /* 0x3a1a26c8 */ + 2.4646313977e-04, /* 0x398137b9 */ + 7.8179444245e-05, /* 0x38a3f445 */ + 7.1407252108e-05, /* 0x3895c07a */ + -1.8558637748e-05, /* 0xb79bae5f */ + 2.5907305826e-05, /* 0x37d95384 */ +}; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +static v64sf +v64sf_kernel_tanf (v64sf x, v64sf y, v64si iy, v64si __mask) +{ + FUNCTION_INIT (v64sf); + + v64si hx; + GET_FLOAT_WORD(hx, x, NO_COND); + v64si ix = hx & 0x7fffffff; /* high word of |x| */ + + VECTOR_IF(ix<0x31800000, cond) /* x < 2**-28 */ + VECTOR_IF2(__builtin_convertvector (x, v64si)==0, cond2, cond) /* generate inexact */ + VECTOR_RETURN (1.0f / __builtin_gcn_fabsvf (x), (ix|(iy+1))==0); + VECTOR_RETURN (x, cond2 & (iy == 1)); + VECTOR_RETURN (-1.0f / x, cond2); + VECTOR_ENDIF + VECTOR_ENDIF + VECTOR_IF(ix>=0x3f2ca140, cond) /* |x|>=0.6744 */ + VECTOR_COND_MOVE (x, -x, cond & (hx < 0)); + VECTOR_COND_MOVE (y, -y, cond & (hx < 0)); + v64sf z = pio4-x; + v64sf w = pio4lo-y; + VECTOR_COND_MOVE (x, z+w, cond); + VECTOR_COND_MOVE (y, VECTOR_INIT (0.0f), cond); + VECTOR_ENDIF + v64sf z = x*x; + v64sf w = z*z; + /* Break x^5*(T[1]+x^2*T[2]+...) into + * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + + * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) + */ + v64sf r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11])))); + v64sf v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12]))))); + v64sf s = z*x; + r = y + z*(s*(r+v)+y); + r += T[0]*s; + w = x+r; + VECTOR_IF(ix>=0x3f2ca140, cond) + v = __builtin_convertvector (iy, v64sf); + VECTOR_RETURN (__builtin_convertvector (1-((hx>>30)&2), v64sf) + * (v-2.0f*(x-(w*w/(w+v)-r))), cond); + VECTOR_ENDIF + VECTOR_RETURN (w, iy == 1); + /* if allow error up to 2 ulp, + simply return -1.0/(x+r) here */ + /* compute -1.0/(x+r) accurately */ + z = w; + v64si i; + GET_FLOAT_WORD(i,z, NO_COND); + SET_FLOAT_WORD(z,i&0xfffff000, NO_COND); + v = r - (z - x); /* z+v = r+x */ + v64sf a, t; + t = a = -1.0f/w; /* a = -1.0/w */ + GET_FLOAT_WORD(i,t, NO_COND); + SET_FLOAT_WORD(t,i&0xfffff000, NO_COND); + s = 1.0f+t*z; + VECTOR_RETURN (t+a*(s+t*v), NO_COND); + + FUNCTION_RETURN; +} + +static v64si +v64sf_rem_pio2f (v64sf x, v64sf *y) +{ + /* Work in double-precision for better accuracy. */ + v64df dx = __builtin_convertvector (x, v64df); + v64df r = dx * __INV_PI_OVER_TWO_2_24; + v64si n = (__builtin_convertvector (r, v64si) + 0x800000) >> 24; + dx = dx - __builtin_convertvector (n, v64df) * __PI_OVER_TWO; + + y[0] = __builtin_convertvector (dx, v64sf); + y[1] = __builtin_convertvector (dx, v64sf) - y[0]; + return n; +} + +DEF_VS_MATH_FUNC (v64sf, tanf, v64sf x) +{ + FUNCTION_INIT (v64sf); + + v64si ix; + GET_FLOAT_WORD (ix, x, NO_COND); + + /* |x| ~< pi/4 */ + ix &= 0x7fffffff; + VECTOR_RETURN (v64sf_kernel_tanf (x, VECTOR_INIT (0.0f), VECTOR_INIT (1), __mask), + ix <= 0x3f490fda); + + /* tan(Inf or NaN) is NaN */ + VECTOR_RETURN (x-x, ~FLT_UWORD_IS_FINITE(ix)); /* NaN */ + + /* argument reduction needed */ + v64sf y[2]; + v64si n = v64sf_rem_pio2f (x,y); + VECTOR_RETURN (v64sf_kernel_tanf (y[0], y[1], 1-((n&1)<<1), __mask), // 1 -- n even + NO_COND); // -1 -- n odd + + FUNCTION_RETURN; +} + +DEF_VARIANTS (tanf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_tanh.c b/newlib/libm/machine/amdgcn/v64sf_tanh.c new file mode 100644 index 000000000..2fd46231a --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_tanh.c @@ -0,0 +1,92 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * Copyright (c) 1994-2009 Red Hat, Inc. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the BSD License. This program is distributed in the hope that + * it will be useful, but WITHOUT ANY WARRANTY expressed or implied, + * including the implied warranties of MERCHANTABILITY or FITNESS FOR + * A PARTICULAR PURPOSE. A copy of this license is available at + * http://www.opensource.org/licenses. Any Red Hat trademarks that are + * incorporated in the source code or documentation are not subject to + * the BSD License and may only be used or replicated with the express + * permission of Red Hat, Inc. + */ + +/***************************************************************** + * The following routines are coded directly from the algorithms + * and coefficients given in "Software Manual for the Elementary + * Functions" by William J. Cody, Jr. and William Waite, Prentice + * Hall, 1980. + *****************************************************************/ + +/* Based on newlib/libm/mathfp/sf_tanh.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_expf_aux (v64sf, v64si); + +static const float LN3_OVER2 = 0.54930614433405484570; +static const float p[] = { -0.16134119023996228053e+4, + -0.99225929672236083313e+2, + -0.96437492777225469787 }; +static const float q[] = { 0.48402357071988688686e+4, + 0.22337720718962312926e+4, + 0.11274474380534949335e+3 }; + +#if defined (__has_builtin) && __has_builtin (__builtin_gcn_fabsvf) + +DEF_VS_MATH_FUNC (v64sf, tanhf, v64sf x) +{ + FUNCTION_INIT (v64sf); + + v64sf f = __builtin_gcn_fabsvf (x); + v64sf res; + + /* Check if the input is too big. */ + VECTOR_IF (f > (float) BIGX, cond) + VECTOR_COND_MOVE (res, VECTOR_INIT (1.0f), cond); + + VECTOR_ELSEIF (f > LN3_OVER2, cond) + VECTOR_COND_MOVE (res, 1.0f - 2.0f / (v64sf_expf_aux (2.0f * f, __mask) + 1.0f), + cond); + + /* Check if the input is too small. */ + VECTOR_ELSEIF (f < z_rooteps_f, cond) + VECTOR_COND_MOVE (res, f, cond); + + /* Calculate the Taylor series. */ + VECTOR_ELSE (cond) + v64sf g = f * f; + + v64sf P = (p[2] * g + p[1]) * g + p[0]; + v64sf Q = ((g + q[2]) * g + q[1]) * g + q[0]; + v64sf R = g * (P / Q); + + VECTOR_COND_MOVE (res, f + f * R, cond); + VECTOR_ENDIF + + VECTOR_COND_MOVE (res, -res, x < 0.0f); + + VECTOR_RETURN (res, NO_COND); + + FUNCTION_RETURN; +} + +DEF_VARIANTS (tanhf, sf, sf) + +#endif diff --git a/newlib/libm/machine/amdgcn/v64sf_tgamma.c b/newlib/libm/machine/amdgcn/v64sf_tgamma.c new file mode 100644 index 000000000..cfe045841 --- /dev/null +++ b/newlib/libm/machine/amdgcn/v64sf_tgamma.c @@ -0,0 +1,42 @@ +/* + * Copyright 2023 Siemens + * + * The authors hereby grant permission to use, copy, modify, distribute, + * and license this software and its documentation for any purpose, provided + * that existing copyright notices are retained in all copies and that this + * notice is included verbatim in any distributions. No written agreement, + * license, or royalty fee is required for any of the authorized uses. + * Modifications to this software may be copyrighted by their authors + * and need not follow the licensing terms described here, provided that + * the new terms are clearly indicated on the first page of each file where + * they apply. + */ + +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + * + */ + +/* Based on newlib/libm/math/ef_tgamma.c in Newlib. */ + +#include "amdgcnmach.h" + +v64sf v64sf_expf_aux (v64sf x, v64si __mask); +v64sf v64sf_lgammaf_r_aux (v64sf x, v64si *signgamp, v64si __mask); + +DEF_VS_MATH_FUNC (v64sf, tgammaf, v64sf x) +{ + v64si signgam_local; + v64sf y = v64sf_expf_aux(v64sf_lgammaf_r_aux(x, &signgam_local, __mask), __mask); + VECTOR_COND_MOVE(y, -y, signgam_local < 0); + return y; +} + +DEF_VARIANTS (tgammaf, sf, sf) -- 2.25.1