Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FPU Integration #2

Open
bryanperris opened this issue Mar 11, 2019 · 0 comments
Open

FPU Integration #2

bryanperris opened this issue Mar 11, 2019 · 0 comments

Comments

@bryanperris
Copy link
Owner

bryanperris commented Mar 11, 2019

Here is a list of things done so far for the FPU:

C# Interpreter:

  • Load/Store: Complete
  • Add, Sub, Div, Mult: Passes Tests
  • Sqrt, Abs, Mov, Neg: Passes Tests
  • Round, Ceil, Floor, Truncate: Passes Tests
  • Convert: Passes Tests
  • Compare: Passes Tests
  • Mandelbrot: Passes Test
  • Exception Handling: Hard to directly handle in C# while being cross-platform agnostic

IL Recompiler: Everything works as expected like with the Interpreter, some of it does fallback to using the Interpreter to hand it.

FPU control/status: Partially implemented

FPU Rounding Support: round single/double results before each writeback

CFloat: A C# FPU interpreter class using C code to drive FPU operations. This will be an optional FPU interpreter backend that can be used to analyze FPU operations with more accuracy such as real exception handling, and round control.

For DotNetCode: Optionally use SIMD to perform float arithmetic, rounding, comparisons

@bryanperris bryanperris added help wanted Extra attention is needed work-in-progress Tasks that are being worked on and removed help wanted Extra attention is needed labels Mar 11, 2019
@bryanperris bryanperris changed the title FPU Progress FPU Integration Mar 11, 2019
@bryanperris bryanperris removed the work-in-progress Tasks that are being worked on label Apr 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant