Skip to content

[RISCV] Add CodeGen support for Zilsd #139775

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

Open
topperc opened this issue May 13, 2025 · 4 comments
Open

[RISCV] Add CodeGen support for Zilsd #139775

topperc opened this issue May 13, 2025 · 4 comments
Assignees

Comments

@topperc
Copy link
Collaborator

topperc commented May 13, 2025

I'm working on initial codegen support Zilsd. Focusing on i64 loads/stores in SelectionDAG and f64 loads and stores with Zdinx.

Filing this ticket to increase visibility while I work on the patches.

@topperc topperc self-assigned this May 13, 2025
@llvmbot
Copy link
Member

llvmbot commented May 13, 2025

@llvm/issue-subscribers-backend-risc-v

Author: Craig Topper (topperc)

I'm working on initial codegen support Zilsd. Focusing on i64 loads/stores in SelectionDAG and f64 loads and stores with Zdinx.

Filing this ticket to increase visibility while I work on the patches.

@lenary
Copy link
Member

lenary commented May 13, 2025

cc @anmolparalkar-nxp who I think had similar downstream patches against llvm 18 in their branch for some Zilsd support. I don't know how that upstreaming effort is going

Here are some other places that might benefit:

  • callee-save spills/reloads two at a time (this was iirc on NXP's branch)
  • adding Zilsd in the load/store pairing pass from MIPs (by @djtodoro)

We are interested in more Zilsd support in codegen, so thank you for focussing on this more

@topperc
Copy link
Collaborator Author

topperc commented May 13, 2025

I've been referencing this commit: nxp-auto-tools@d677c41#diff-1d077b8beaff531e8d78ba5bb21c368714f270f1b13ba47bb23d5ad2a5d1f01b a bit, but it doesn't use getMemIntrinsicNode or preserve the memory operand.

@topperc
Copy link
Collaborator Author

topperc commented May 13, 2025

adding Zilsd in the load/store pairing pass from MIPs (by @djtodoro)

MIPs has separate encoding for both registers. Zilsd requires paired registers which makes this harder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants