Split floating-point operations into four steps. 1. Load operands from register and convert it into a form suitable for host. 2. Execute operations specified by opcode. 3. Normalize Nans if host and guest architctures handled them differently. 4. Encode results as required by RISC-V (if host doesn't do that). Bug: 265372622 Test: berberis_host_tests/berberis_host_tests Change-Id: I5e4566577ef0d747147a5a7e26345b80fa7c8446
Berberis: dynamic binary translator to run Android apps with riscv64 native code on x86_64 devices or emulators.