1/* 2Copyright (c) 1990 The Regents of the University of California. 3All rights reserved. 4 5Redistribution and use in source and binary forms are permitted 6provided that the above copyright notice and this paragraph are 7duplicated in all such forms and that any documentation, 8and/or other materials related to such 9distribution and use acknowledge that the software was developed 10by the University of California, Berkeley. The name of the 11University may not be used to endorse or promote products derived 12from this software without specific prior written permission. 13THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 14IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 15WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 16 */ 17#include <picolibc.h> 18 19 .globl _fast_sin 20_fast_sin: 21 fsin.l [ap],[ap] 22 mov.d [ap],r0 23 ret #0 24 25 26 .globl _fast_sinf 27_fast_sinf: 28 fsin.s [ap],[ap] 29 mov.w [ap],r0 30 ret #0 31 32 33 .globl _fast_cos 34_fast_cos: 35 fcos.l [ap],[ap] 36 mov.d [ap],r0 37 ret #0 38 39 40 .globl _fast_cosf 41_fast_cosf: 42 fcos.s [ap],[ap] 43 mov.w [ap],r0 44 ret #0 45 46 47 .globl _fast_tan 48_fast_tan: 49 ftan.l [ap],[ap] 50 mov.d [ap],r0 51 ret #0 52 53 54 .globl _fast_tanf 55_fast_tanf: 56 ftan.s [ap],[ap] 57 mov.w [ap],r0 58 ret #0 59 60 61 62 .globl _fast_fabs 63_fast_fabs: 64 fabs.l [ap],[ap] 65 mov.d [ap],r0 66 ret #0 67 68 69 .globl _fast_fabsf 70_fast_fabsf: 71 fabs.s [ap],[ap] 72 mov.w [ap],r0 73 ret #0 74 75 76 .globl _fast_sqrt 77_fast_sqrt: 78 fsqrt.l [ap],[ap] 79 mov.d [ap],r0 80 ret #0 81 82 83 .globl _fast_sqrtf 84_fast_sqrtf: 85 fsqrt.s [ap],[ap] 86 mov.w [ap],r0 87 ret #0 88 89 90 .globl _fast_acos 91_fast_acos: 92 facos.l [ap],[ap] 93 mov.d [ap],r0 94 ret #0 95 96 97 .globl _fast_acosf 98_fast_acosf: 99 facos.s [ap],[ap] 100 mov.w [ap],r0 101 ret #0 102 103 104 .globl _fast_asin 105_fast_asin: 106 fasin.l [ap],[ap] 107 mov.d [ap],r0 108 ret #0 109 110 111 .globl _fast_asinf 112_fast_asinf: 113 fasin.s [ap],[ap] 114 mov.w [ap],r0 115 ret #0 116 117 118 .globl _fast_atan 119_fast_atan: 120 fatan.l [ap],[ap] 121 mov.d [ap],r0 122 ret #0 123 124 125 .globl _fast_atanf 126_fast_atanf: 127 fatan.s [ap],[ap] 128 mov.w [ap],r0 129 ret #0 130 131 132 .globl _fast_cosh 133_fast_cosh: 134 fcosh.l [ap],[ap] 135 mov.d [ap],r0 136 ret #0 137 138 139 .globl _fast_coshf 140_fast_coshf: 141 fcosh.s [ap],[ap] 142 mov.w [ap],r0 143 ret #0 144 145 146 .globl _fast_sinh 147_fast_sinh: 148 fsin.l [ap],[ap] 149 mov.d [ap],r0 150 ret #0 151 152 153 .globl _fast_sinhf 154_fast_sinhf: 155 fsin.s [ap],[ap] 156 mov.w [ap],r0 157 ret #0 158 159 160 .globl _fast_tanh 161_fast_tanh: 162 ftanh.l [ap],[ap] 163 mov.d [ap],r0 164 ret #0 165 166 167 .globl _fast_tanhf 168_fast_tanhf: 169 ftanh.s [ap],[ap] 170 mov.w [ap],r0 171 ret #0 172 173 174 .globl _fast_atanh 175_fast_atanh: 176 fatanh.l [ap],[ap] 177 mov.d [ap],r0 178 ret #0 179 180 181 .globl _fast_atanhf 182_fast_atanhf: 183 fatanh.s [ap],[ap] 184 mov.w [ap],r0 185 ret #0 186 187 .globl _fast_exp2 188_fast_exp2: 189 fexp2.l [ap],[ap] 190 mov.d [ap],r0 191 ret #0 192 193 194 .globl _fast_exp2f 195_fast_exp2f: 196 fexp2.s [ap],[ap] 197 mov.w [ap],r0 198 ret #0 199 200 201 .globl _fast_exp10 202_fast_exp10: 203 fexp10.l [ap],[ap] 204 mov.d [ap],r0 205 ret #0 206 207 208 .globl _fast_exp10f 209_fast_exp10f: 210 fexp10.s [ap],[ap] 211 mov.w [ap],r0 212 ret #0 213 214 215 .globl _fast_expe 216_fast_expe: 217 fexpe.l [ap],[ap] 218 mov.d [ap],r0 219 ret #0 220 221 222 .globl _fast_expef 223_fast_expef: 224 fexpe.s [ap],[ap] 225 mov.w [ap],r0 226 ret #0 227 228 229 .globl _fast_log2 230_fast_log2: 231 flog2.l [ap],[ap] 232 mov.d [ap],r0 233 ret #0 234 235 236 .globl _fast_log2f 237_fast_log2f: 238 flog2.s [ap],[ap] 239 mov.w [ap],r0 240 ret #0 241 242 .globl _fast_log10 243_fast_log10: 244 flog10.l [ap],[ap] 245 mov.d [ap],r0 246 ret #0 247 248 249 .globl _fast_log10f 250_fast_log10f: 251 flog10.s [ap],[ap] 252 mov.w [ap],r0 253 ret #0 254 255 256 .globl _fast_loge 257_fast_loge: 258 floge.l [ap],[ap] 259 mov.d [ap],r0 260 ret #0 261 262 263 .globl _fast_logef 264_fast_logef: 265 floge.s [ap],[ap] 266 mov.w [ap],r0 267 ret #0 268 269 270