-
Notifications
You must be signed in to change notification settings - Fork 138
transformations: (riscv-lower-parallel-mov) Add support for moving floats #5512
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
transformations: (riscv-lower-parallel-mov) Add support for moving floats #5512
Conversation
|
Depends on #5508 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5512 +/- ##
=======================================
Coverage 86.02% 86.02%
=======================================
Files 392 392
Lines 55813 55815 +2
Branches 6419 6420 +1
=======================================
+ Hits 48012 48016 +4
+ Misses 6269 6268 -1
+ Partials 1532 1531 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
16354ae to
7cc0b35
Compare
d89a58d to
3a4c85d
Compare
| type_to_op: dict[type[riscv.RISCVRegisterType], Callable[..., Operation]] = { | ||
| riscv.IntRegisterType: riscv.MVOp, | ||
| riscv.FloatRegisterType: riscv.FMVOp, | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please move this out to the top level, and call it _MV_OP_BY_REGISTER_TYPE?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, see #5533
3a4c85d to
5685655
Compare
5685655 to
f59ca31
Compare
|
depends on #5533 |
82e4110 to
1f0ad70
Compare
- unify the two different casts - makes is_allocated check nicer
|
This seems to include changes from #5523, which is marked as draft? |
Ended up adding the changes here since we need to change those casts here anyway. Will likely close the other PR. |
superlopuh
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great
In this PR, we extend the ParallelMovOp to support floats for lowering.
In the case of cyclic registers with no free registers, we cannot do the xor trick with floats, therefore we cannot handle this case and raise a PassFailedException.