-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[RISC-V] Clean up code gen for floating comparisons #111626
base: main
Are you sure you want to change the base?
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
41d470bf is being scheduled for building and testingGIT: |
a711137 is being scheduled for building and testingGIT: |
@dotnet/jit-contrib PTAL |
IL opcodes aren't required to generate such code. You can recognize patterns such as |
f67b60a is being scheduled for building and testingGIT: Release-build FAILEDCloning into '/godata/pipelines/Release-build/runtime'...
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 4702 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
|
True, we can add them when these patterns are recognized and these code gens can be tested. |
There are ways to generate better code for equals-or-unordered and not-equals-and-ordered. However, there are no IL opcodes for them (ceq.un, beq.un, bne) so these code gens can't happen.
As a bonus, flip the comparison result with one instruction.
Part of #84834, cc @dotnet/samsung