aboutsummaryrefslogtreecommitdiff
path: root/softfloat/s_mul64To128.c
diff options
context:
space:
mode:
Diffstat (limited to 'softfloat/s_mul64To128.c')
-rwxr-xr-xsoftfloat/s_mul64To128.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/softfloat/s_mul64To128.c b/softfloat/s_mul64To128.c
deleted file mode 100755
index c17780b..0000000
--- a/softfloat/s_mul64To128.c
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#include <stdint.h>
-#include "platform.h"
-#include "primitives.h"
-
-struct uint128 softfloat_mul64To128( uint64_t a, uint64_t b )
-{
- uint32_t a32, a0, b32, b0;
- struct uint128 z;
- uint64_t mid1, mid2, mid;
-
- a32 = a>>32;
- a0 = a;
- b32 = b>>32;
- b0 = b;
- z.v0 = (uint64_t) a0 * b0;
- mid1 = (uint64_t) a32 * b0;
- mid2 = (uint64_t) a0 * b32;
- z.v64 = (uint64_t) a32 * b32;
- mid = mid1 + mid2;
- z.v64 += ( (uint64_t) ( mid < mid1 ) )<<32 | mid>>32;
- mid <<= 32;
- z.v0 += mid;
- z.v64 += ( z.v0 < mid );
- return z;
-
-}
-