temporary undoing of renaming
[riscv-isa-sim.git] / softfloat / s_sub192.c
1
2 #include <stdint.h>
3 #include "platform.h"
4 #include "primitives.h"
5
6 struct uint192
7 softfloat_sub192(
8 uint64_t a128,
9 uint64_t a64,
10 uint64_t a0,
11 uint64_t b128,
12 uint64_t b64,
13 uint64_t b0
14 )
15 {
16 struct uint192 z;
17 unsigned int borrow64, borrow128;
18
19 z.v0 = a0 - b0;
20 borrow64 = ( a0 < b0 );
21 z.v64 = a64 - b64;
22 borrow128 = ( a64 < b64 );
23 z.v128 = a128 - b128;
24 borrow128 += ( z.v64 < borrow64 );
25 z.v64 -= borrow64;
26 z.v128 -= borrow128;
27 return z;
28
29 }
30