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

[mono] [RISC-V] re-implement floating point arithmetic without r4fp #84470

Merged
merged 3 commits into from
Apr 8, 2023

Conversation

Xinlong-Wu
Copy link
Contributor

This patch re-implement floating point arithmetic for RISC-V as #84418 mentioned

@ghost ghost added the community-contribution Indicates that the PR has been added by a community member label Apr 7, 2023
@vargaz
Copy link
Contributor

vargaz commented Apr 7, 2023

mini-riscv.h needs to define
#define MONO_ARCH_FLOAT32_SUPPORTED 1

@am11 am11 added the arch-riscv Related to the RISC-V architecture label Apr 7, 2023
@vargaz vargaz merged commit 568292a into dotnet:main Apr 8, 2023
@Xinlong-Wu Xinlong-Wu deleted the fix-no-r4fp branch April 8, 2023 05:24
@@ -1703,12 +1702,14 @@ mono_arch_decompose_opts (MonoCompile *cfg, MonoInst *ins)

case OP_IMUL:
case OP_LMUL:
case OP_RMUL:
Copy link
Member

@am11 am11 Apr 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Xinlong-Wu, can we also handle long_mul_ovf_un here? In qemu, I'm getting:

# built with runtimeFlavor: mono
$ /runtime/artifacts/bin/testhost/net8.0-linux-Debug-riscv64/dotnet \
     bin/Release/net8.0/helloworld.dll

Can't decompose the OP long_mul_ovf_un
* Assertion: should not be reached at /runtime/src/mono/mono/mini/mini-riscv.c:1731


=================================================================
	Native Crash Reporting
=================================================================
Got a SIGABRT while executing native code. This usually indicates
...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure,I will submit a pr of the progress so far.
I think it may fix this problem.
And I plan to use monthly and half monthly pr to synchronize changes in the future

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

have submit a pr #85445
Now we are searching for when to push/pop lmf so that tey-catch can be executed correctly and mono can print the call stack correctly.

@ghost ghost locked as resolved and limited conversation to collaborators May 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-riscv Related to the RISC-V architecture area-VM-meta-mono community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants