Add kmpc function definition to libomptarget-nvptx.bc.
Diff Detail
- Repository
- rOMP OpenMP
- Build Status
Buildable 30991 Build 30990: arc lint + arc unit
Event Timeline
libomptarget/deviceRTLs/nvptx/src/interface.h | ||
---|---|---|
570 | I think you need to add __kmpc_powf(float), __kmpc_powl(long double), __kmpc_sinf(float), __kmpc_sinl(long double) |
I guess here, and other places, we will later need to add more function/type combinations. Given that they all follow the same scheme, we should probably use a template for generation soon.
libomptarget/deviceRTLs/nvptx/src/interface.h | ||
---|---|---|
585 | Shouldn't we do this with macros again? I would even propose a separate "math_macro.inc" file that is included | |
libomptarget/deviceRTLs/nvptx/src/math.cu | ||
21 | I was thinking we have some macro for float/double generation: #define __OPENMP_MATH_FUNC_1_FP(__fn, __kmpc_fn) \ __OPENMP_MATH_FUNC_1(float, __fn, __kmpc_fn) \ __OPENMP_MATH_FUNC_1(double, __fn, __kmpc_fn) \ so we can cut down further below | |
29 | I don't think we want the semicolon at the end. | |
34 | Wouldn't we get the correct conversion for: `__OPENMP_MATH_FUNC_2(long double, pow, __kmpc_powl);` If not, should we add a two type version that casts the arguments |
I think you need to add __kmpc_powf(float), __kmpc_powl(long double), __kmpc_sinf(float), __kmpc_sinl(long double)