summaryrefslogtreecommitdiffstats
path: root/lib/libcompiler_rt/fp_extend.h
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-10 21:14:10 +0000
committerpatrick <patrick@openbsd.org>2020-08-10 21:14:10 +0000
commitf2119caf99b8ed409235597050ceebdc9102f562 (patch)
treecfb90cfe994f47cfaf95506823ca0dac2d08b04d /lib/libcompiler_rt/fp_extend.h
parentUn-hook and re-hook libcompiler_rt. (diff)
downloadwireguard-openbsd-f2119caf99b8ed409235597050ceebdc9102f562.tar.xz
wireguard-openbsd-f2119caf99b8ed409235597050ceebdc9102f562.zip
Tedu compiler-rt 8.0.1.
Diffstat (limited to 'lib/libcompiler_rt/fp_extend.h')
-rw-r--r--lib/libcompiler_rt/fp_extend.h89
1 files changed, 0 insertions, 89 deletions
diff --git a/lib/libcompiler_rt/fp_extend.h b/lib/libcompiler_rt/fp_extend.h
deleted file mode 100644
index 6d95a068070..00000000000
--- a/lib/libcompiler_rt/fp_extend.h
+++ /dev/null
@@ -1,89 +0,0 @@
-//===-lib/fp_extend.h - low precision -> high precision conversion -*- C -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Set source and destination setting
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef FP_EXTEND_HEADER
-#define FP_EXTEND_HEADER
-
-#include "int_lib.h"
-
-#if defined SRC_SINGLE
-typedef float src_t;
-typedef uint32_t src_rep_t;
-#define SRC_REP_C UINT32_C
-static const int srcSigBits = 23;
-#define src_rep_t_clz __builtin_clz
-
-#elif defined SRC_DOUBLE
-typedef double src_t;
-typedef uint64_t src_rep_t;
-#define SRC_REP_C UINT64_C
-static const int srcSigBits = 52;
-static __inline int src_rep_t_clz(src_rep_t a) {
-#if defined __LP64__
- return __builtin_clzl(a);
-#else
- if (a & REP_C(0xffffffff00000000))
- return __builtin_clz(a >> 32);
- else
- return 32 + __builtin_clz(a & REP_C(0xffffffff));
-#endif
-}
-
-#elif defined SRC_HALF
-typedef uint16_t src_t;
-typedef uint16_t src_rep_t;
-#define SRC_REP_C UINT16_C
-static const int srcSigBits = 10;
-#define src_rep_t_clz __builtin_clz
-
-#else
-#error Source should be half, single, or double precision!
-#endif //end source precision
-
-#if defined DST_SINGLE
-typedef float dst_t;
-typedef uint32_t dst_rep_t;
-#define DST_REP_C UINT32_C
-static const int dstSigBits = 23;
-
-#elif defined DST_DOUBLE
-typedef double dst_t;
-typedef uint64_t dst_rep_t;
-#define DST_REP_C UINT64_C
-static const int dstSigBits = 52;
-
-#elif defined DST_QUAD
-typedef long double dst_t;
-typedef __uint128_t dst_rep_t;
-#define DST_REP_C (__uint128_t)
-static const int dstSigBits = 112;
-
-#else
-#error Destination should be single, double, or quad precision!
-#endif //end destination precision
-
-// End of specialization parameters. Two helper routines for conversion to and
-// from the representation of floating-point data as integer values follow.
-
-static __inline src_rep_t srcToRep(src_t x) {
- const union { src_t f; src_rep_t i; } rep = {.f = x};
- return rep.i;
-}
-
-static __inline dst_t dstFromRep(dst_rep_t x) {
- const union { dst_t f; dst_rep_t i; } rep = {.i = x};
- return rep.f;
-}
-// End helper routines. Conversion implementation follows.
-
-#endif //FP_EXTEND_HEADER