Skip to content

Conversation

@anominos
Copy link
Contributor

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.

@anominos
Copy link
Contributor Author

Depends on #5508

@codecov
Copy link

codecov bot commented Dec 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.02%. Comparing base (915bd94) to head (011afe8).
⚠️ Report is 3 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@anominos anominos force-pushed the riscv-parallel-move-lowering/floats branch from 16354ae to 7cc0b35 Compare January 1, 2026 13:01
@anominos anominos marked this pull request as ready for review January 1, 2026 13:05
@anominos anominos force-pushed the riscv-parallel-move-lowering/floats branch from d89a58d to 3a4c85d Compare January 2, 2026 15:47
Comment on lines 23 to 26
type_to_op: dict[type[riscv.RISCVRegisterType], Callable[..., Operation]] = {
riscv.IntRegisterType: riscv.MVOp,
riscv.FloatRegisterType: riscv.FMVOp,
}
Copy link
Member

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?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, see #5533

@superlopuh superlopuh added the transformations Passes, rewrites label Jan 3, 2026
@anominos anominos force-pushed the riscv-parallel-move-lowering/floats branch from 3a4c85d to 5685655 Compare January 6, 2026 13:45
@anominos anominos force-pushed the riscv-parallel-move-lowering/floats branch from 5685655 to f59ca31 Compare January 6, 2026 20:44
@anominos
Copy link
Contributor Author

anominos commented Jan 6, 2026

depends on #5533

@anominos anominos marked this pull request as draft January 6, 2026 20:45
@anominos anominos force-pushed the riscv-parallel-move-lowering/floats branch from 82e4110 to 1f0ad70 Compare January 7, 2026 19:42
@anominos anominos marked this pull request as ready for review January 7, 2026 19:55
- unify the two different casts

- makes is_allocated check nicer
@superlopuh
Copy link
Member

This seems to include changes from #5523, which is marked as draft?

@anominos
Copy link
Contributor Author

anominos commented Jan 8, 2026

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.

Copy link
Member

@superlopuh superlopuh left a comment

Choose a reason for hiding this comment

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

Great

@superlopuh superlopuh merged commit 990496f into xdslproject:main Jan 8, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

transformations Passes, rewrites

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants