-
Notifications
You must be signed in to change notification settings - Fork 15.3k
[SPARC] Remove CCIfConsecutiveRegs for f128 returns #170133
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
base: main
Are you sure you want to change the base?
Conversation
|
There's also another failure reported there: the frexpl_interceptor.cpp failure which seem to happen because the sanitizer parts are built with system LLVM, which still doesn't have the Any idea what should I do for it? |
|
I fear this is just a hack at best:
The buildbot cannot run full two-stage builds for performance reasons: to address this, one would have to use a fixed Even for the 2-stage build, the two I'm pretty certain that this patch is wrong at least for the 2-stage case (though I'm currently testing it). Besides, only the 32-bit tests Besides, the 32-bit However, |
From a cursory look this seems like a genuine case of ABI mismatch bug; the caller expects an sret return but the callee returns the value in the register. Will look into it, thanks! For the rest... |
|
Good: I've now switched the buildbot over to a current
Agreed: this matches my testing with and without this patch. |
Finally :-) That's great news, I'll give the patch a try myself. |
It appears that using it will result in callers mistakenly thinking that complex f128 returns is done the sret-way.
|
Okay, reworked the PR, it should fix the remaining SIGILL issues in 2-stage builds. |
It does indeed, thanks a lot. I'll wait until this PR has been committed, than replace the |
It appears that using it will result in callers mistakenly thinking that complex f128 returns is done the sret-way, when it should be returned in registers.