Skip to content

Commit

Permalink
WIP: Fix FPU types (#536)
Browse files Browse the repository at this point in the history
Update remill's FPU semantics to use 80-bit floats, at least on x86/amd64.

Co-authored-by: Artem Dinaburg <[email protected]>
  • Loading branch information
kumarak and artemdinaburg authored Aug 25, 2021
1 parent 1e7710b commit 9006baf
Show file tree
Hide file tree
Showing 17 changed files with 606 additions and 361 deletions.
6 changes: 4 additions & 2 deletions include/remill/Arch/Runtime/Intrinsics.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ __remill_write_memory_64(Memory *, addr_t, uint64_t);
[[gnu::used, gnu::const]] extern float64_t __remill_read_memory_f64(Memory *,
addr_t);

[[gnu::used]] extern float64_t __remill_read_memory_f80(Memory *, addr_t);
[[gnu::used]] extern float80_t __remill_read_memory_f80(Memory *, addr_t);

[[gnu::used]] extern float64_t __remill_read_memory_f128(Memory *, addr_t);

Expand All @@ -68,7 +68,7 @@ __remill_write_memory_f32(Memory *, addr_t, float32_t);
__remill_write_memory_f64(Memory *, addr_t, float64_t);

[[gnu::used]] extern Memory *__remill_write_memory_f80(Memory *, addr_t,
float64_t);
float80_t);

[[gnu::used]] extern Memory *__remill_write_memory_f128(Memory *, addr_t,
float64_t);
Expand All @@ -85,6 +85,8 @@ __remill_write_memory_f64(Memory *, addr_t, float64_t);

[[gnu::used, gnu::const]] extern float64_t __remill_undefined_f64(void);

[[gnu::used, gnu::const]] extern float80_t __remill_undefined_f80(void);

// Generic error.
[[gnu::used]] extern Memory *__remill_error(State &, addr_t addr, Memory *);

Expand Down
Loading

0 comments on commit 9006baf

Please sign in to comment.