File: svml.isph

package info (click to toggle)
ispc 1.26.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 95,356 kB
  • sloc: cpp: 55,778; python: 6,681; yacc: 3,074; lex: 1,095; ansic: 714; sh: 283; makefile: 16
file content (44 lines) | stat: -rw-r--r-- 2,229 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// -*- mode: c++ -*-
// Copyright (c) 2024, Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause

// @file svml.isph
// @brief Interface between ISPC standard library and ISPC builtin functions
// that call Intel SVML library functions.

#pragma once

#define READNONE __attribute__((memory("none")))
#define EXT __attribute__((unmangled)) __attribute__((cdecl)) unmasked

// TODO! nounwind readnone alwaysinline
EXT READNONE inline varying float __svml_sinf(varying float);
EXT READNONE inline varying float __svml_asinf(varying float);
EXT READNONE inline varying float __svml_cosf(varying float);
EXT READNONE inline varying float __svml_acosf(varying float);
EXT inline void __svml_sincosf(varying float, uniform int8 *uniform, uniform int8 *uniform);
EXT READNONE inline varying float __svml_tanf(varying float);
EXT READNONE inline varying float __svml_atanf(varying float);
EXT READNONE inline varying float __svml_atan2f(varying float, varying float);
EXT READNONE inline varying float __svml_expf(varying float);
EXT READNONE inline varying float __svml_logf(varying float);
EXT READNONE inline varying float __svml_powf(varying float, varying float);
EXT READNONE inline varying float __svml_sqrtf(varying float);
EXT READNONE inline varying float __svml_invsqrtf(varying float);

EXT READNONE inline varying double __svml_sind(varying double);
EXT READNONE inline varying double __svml_asind(varying double);
EXT READNONE inline varying double __svml_cosd(varying double);
EXT READNONE inline varying double __svml_acosd(varying double);
EXT inline void __svml_sincosd(varying double, uniform int8 *uniform, uniform int8 *uniform);
EXT READNONE inline varying double __svml_tand(varying double);
EXT READNONE inline varying double __svml_atand(varying double);
EXT READNONE inline varying double __svml_atan2d(varying double, varying double);
EXT READNONE inline varying double __svml_expd(varying double);
EXT READNONE inline varying double __svml_logd(varying double);
EXT READNONE inline varying double __svml_powd(varying double, varying double);
EXT READNONE inline varying double __svml_sqrtd(varying double);
EXT READNONE inline varying double __svml_invsqrtd(varying double);

#undef READNONE
#undef EXT