[analyzer][NFC] Factor out SymbolManager::get<*> (#121781)
[llvm-project.git] / libclc / generic / lib / math / clc_sw_binary.inc
blobb701d78878c6a556803ca18ee99fec1a01c9110d
1 #include <clc/utils.h>
3 #define __CLC_SW_FUNC(x) __CLC_CONCAT(__clc_, x)
5 #if __CLC_FPSIZE > 16
6 _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_FUNC(__CLC_GENTYPE x, __CLC_GENTYPE y) {
7   return __CLC_SW_FUNC(__CLC_FUNC)(x, y);
9 #elif __CLC_FPSIZE == 16
10 #ifdef __CLC_SCALAR
11 _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_FUNC(__CLC_GENTYPE x,
12                                                 __CLC_GENTYPE y) {
13   return convert_half(
14       __CLC_SW_FUNC(__CLC_FUNC)(convert_float(x), convert_float(y)));
16 #else
17 _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE __CLC_FUNC(__CLC_GENTYPE x,
18                                                 __CLC_GENTYPE y) {
19   return __CLC_XCONCAT(convert_half, __CLC_VECSIZE)(__CLC_SW_FUNC(__CLC_FUNC)(
20       __CLC_XCONCAT(convert_float, __CLC_VECSIZE)(x),
21       __CLC_XCONCAT(convert_float, __CLC_VECSIZE)(y)));
23 #endif
24 #endif
26 #undef __CLC_SW_FUNC