v86/src/rust/lib.rs
Fabian b96f984963 Use softfloat f80 for x87 fpu
This fixes several long-standing issues with x87 float emulation, in particular:

- 80 bit precision floats, fixing Haiku after its switch to musl libc (hrev53728)
- the precision bit in the x87 control word
- fucom and fucomi (unordered comparisons)
- aliasing of x87 and mmx registers
- rounding during conversion to integers

Operations that are not implemented in softfloat were implemented by
converting to f64 (sine, pow, ln, etc.) and thus operate with lower
precision.

Softfloat has been combined into a single file using a script [0] and checked into the repository.

[0] 57df21e2eb/contrib/single_file_libs/combine.sh
2020-12-31 19:14:32 -06:00

37 lines
440 B
Rust

#![feature(const_fn)]
#![feature(extern_types)]
#![feature(or_patterns)]
#[cfg(test)]
#[macro_use]
extern crate quickcheck;
#[macro_use]
mod dbg;
#[macro_use]
mod paging;
pub mod cpu;
pub mod js_api;
pub mod profiler;
mod analysis;
mod codegen;
mod config;
mod cpu_context;
mod gen;
mod jit;
mod jit_instructions;
mod leb;
mod modrm;
mod opstats;
mod page;
mod prefix;
mod regs;
mod softfloat;
mod state_flags;
mod util;
mod wasmgen;