projects
/
riscv-isa-sim.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Add fclass.{s|d} instructions
[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