4 #include "primitives.h"
7 softfloat_mul128To256( uint64_t a64
, uint64_t a0
, uint64_t b64
, uint64_t b0
)
9 struct uint128 p0
, p64
, p128
;
12 p0
= softfloat_mul64To128( a0
, b0
);
14 p64
= softfloat_mul64To128( a64
, b0
);
15 z
.v64
= p64
.v0
+ p0
.v64
;
16 z
.v128
= p64
.v64
+ ( z
.v64
< p64
.v0
);
17 p128
= softfloat_mul64To128( a64
, b64
);
19 z
.v192
= p128
.v64
+ ( z
.v128
< p128
.v0
);
20 p64
= softfloat_mul64To128( a0
, b64
);
22 p64
.v64
+= ( z
.v64
< p64
.v0
);
24 z
.v192
+= ( z
.v128
< p64
.v64
);