With this patch, OpenMP on AMDGCN will use the math functions provided by ROCm ocml library. Linking device code to the ocml will be done in the next patch. Reviewed By: JonChesterfield, jdoerfert, scchan Differential Revision: https://reviews.llvm.org/D104904
31 lines
643 B
Plaintext
31 lines
643 B
Plaintext
#pragma once
|
|
|
|
#include <stdlib.h>
|
|
|
|
#if __cplusplus >= 201703L
|
|
extern int abs (int __x) throw() __attribute__ ((__const__)) ;
|
|
extern long int labs (long int __x) throw() __attribute__ ((__const__)) ;
|
|
#else
|
|
extern int abs (int __x) __attribute__ ((__const__)) ;
|
|
extern long int labs (long int __x) __attribute__ ((__const__)) ;
|
|
#endif
|
|
|
|
namespace std
|
|
{
|
|
|
|
using ::abs;
|
|
|
|
inline long
|
|
abs(long __i) { return __builtin_labs(__i); }
|
|
|
|
inline long long
|
|
abs(long long __x) { return __builtin_llabs (__x); }
|
|
|
|
float fabs(float __x) { return __builtin_fabs(__x); }
|
|
|
|
float abs(float __x) { return fabs(__x); }
|
|
double abs(double __x) { return fabs(__x); }
|
|
|
|
}
|
|
|