brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1017 B · 5ef9ad5 Raw
36 lines · plain
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include <clc/internal/clc.h>10 11_CLC_OVERLOAD _CLC_DEF float __clc_rsqrt(float x) {12  return __builtin_r600_recipsqrt_ieeef(x);13}14 15#define __CLC_FLOAT_ONLY16#define __CLC_FUNCTION __clc_rsqrt17#define __CLC_BODY <clc/shared/unary_def_scalarize.inc>18#include <clc/math/gentype.inc>19#undef __CLC_FUNCTION20 21#ifdef cl_khr_fp6422 23#pragma OPENCL EXTENSION cl_khr_fp64 : enable24 25_CLC_OVERLOAD _CLC_DEF double __clc_rsqrt(double x) {26  return __builtin_r600_recipsqrt_ieee(x);27}28 29#define __CLC_DOUBLE_ONLY30#define __CLC_FUNCTION __clc_rsqrt31#define __CLC_BODY <clc/shared/unary_def_scalarize.inc>32#include <clc/math/gentype.inc>33#undef __CLC_FUNCTION34 35#endif36