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

Add support for compiling float operations to x86-64 #417

Merged
merged 5 commits into from
Jan 2, 2018
Merged

Conversation

myreen
Copy link
Contributor

@myreen myreen commented Dec 30, 2017

No description provided.

acjf3 and others added 4 commits December 28, 2017 14:23
Requires changes under backend/.

Some changes to ASM were made:
- fp_ok now checks for two_reg_arith. However, FPAbs and FPNeg are unusual in that they require the source and destination to be distinct.
- The semantics of FPToInt and FPFromInt have been changed (for 64-bit architectures) to only support a 32-bit integer values. Supporting 64 bits would have required a longer sequence of instructions and the use of an "avoid" general purpose register, which is otherwise unnecessary.

The second change has broken the MIPS support for floating-point. It has been disabled by setting fp_reg_count to zero. It shouldn't be that difficult to support the new semantics under MIPS.
@xrchz
Copy link
Member

xrchz commented Dec 30, 2017

This breaks the bootstrap. Reopen when fixed.

@xrchz xrchz closed this Dec 30, 2017
@tanyongkiam
Copy link
Contributor

bootstrap/translation now builds

@tanyongkiam tanyongkiam reopened this Jan 1, 2018
@xrchz xrchz merged commit 3fe9b31 into master Jan 2, 2018
@xrchz xrchz deleted the x86-float branch January 2, 2018 04:33
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

Successfully merging this pull request may close these issues.

4 participants