Skip to content
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

Packed SIMD gcc, binutils #22

Open
5 of 13 tasks
jjscheel opened this issue Mar 17, 2023 · 23 comments
Open
5 of 13 tasks

Packed SIMD gcc, binutils #22

jjscheel opened this issue Mar 17, 2023 · 23 comments
Assignees

Comments

@jjscheel
Copy link
Contributor

jjscheel commented Mar 17, 2023

Technical Group

Packed SIMD Task Group tech-p-ext

ratification-pkg

Packed SIMD

Technical Liaison

Kevin Chen

Task Category

Compilers/Toolchain

Task Sub Category

  • gcc
  • binutils
  • gdb
  • intrinsics
  • Java
  • KVM
  • ld
  • llvm
  • Linux kernel
  • QEMU
  • Spike

Ratification Target

1Q2025

Statement of Work (SOW)

Component names:

  • GCC Toolchain
  • LLVM Toolchain
  • Qemu
  • Spike

Requirements:
(prose describing what has to be done and what the end result is)

Deliverables:

Accepted PRs to the upstream communities for each of the components:

Acceptance Criteria:

Projected timeframe: (best guess date)

SOW Signoffs: (delete those not needed)

  • Task group liaison sign-off date:
  • Development partner sign-off date:
  • Toolchains & Runtimes sign-off date (if gcc, LLVM, binutils, gdb work):

Waiver

  • Freeze
  • Ratification

Pull Request Details

No response

@jjscheel jjscheel self-assigned this Mar 17, 2023
@jjscheel jjscheel moved this from As-planned to Blocked in RISC-V DevPartner Work Mar 17, 2023
@lazyparser
Copy link

@pz9115 and @ChunyuLiao may provide more info on this area.

@pz9115
Copy link

pz9115 commented Nov 20, 2023

We had already updated porting the Packed SIMD gcc into GCC13 in downstream repo,
https://github.com/plctlab/riscv-gcc/tree/gcc13-p-rebase
porting Binutils into 2.41 is WIP.

@jjscheel
Copy link
Contributor Author

Good to know. Thanks.

But the spec hasn't even been reviewed internally and thus may change!

@ChunyuLiao
Copy link

llvm has some patches under review, but are not active.
[RISCV] Implement the MC layer support of P extension https://reviews.llvm.org/D95588
[RISCV] Support experimental 'P' extension 0.9.11 https://reviews.llvm.org/D108189
[RISCV] Implement intrinsics for P extension https://reviews.llvm.org/D99158
[RISCV] Add vector types to GPR for P extension and explict type to existing codegen patterns https://reviews.llvm.org/D100288
[RISCV] Support Zbpbo extension v0.9.11 https://reviews.llvm.org/D128604

@pz9115
Copy link

pz9115 commented Nov 28, 2023

P-ext TG has been active recently, discussing some instruction design in the community, waiting for their update.

https://lists.riscv.org/g/tech-p-ext/topic/102843596#268

@jjscheel
Copy link
Contributor Author

Good to know. However, any work before Architecture Review completes may need to be re-done. I'm going to leave in "Blocked" state, but please do any work which you deem reasonable given the risk.

@pz9115
Copy link

pz9115 commented Nov 28, 2023

Agree!

@jjscheel
Copy link
Contributor Author

I reached out to the P-Ext Chair and they will indeed need help with toolchain. I need to get them enabled. Work is on my end.

@pz9115
Copy link

pz9115 commented Jan 30, 2024

John Hauser sent a new version draft specification for Packed SIMD, still wait it move into a stable specification,maybe need take a few month.

https://lists.riscv.org/g/tech-p-ext/message/291

@jjscheel jjscheel moved this from Blocked to As-planned in RISC-V DevPartner Work Feb 1, 2024
@jjscheel
Copy link
Contributor Author

Specification work continues by John Hauser.

@jjscheel
Copy link
Contributor Author

@fuhle044, please see the first entry for the issue (this is our SOW) and propose new text (as a comment) for the Requirements, Deliverables, and Acceptance Criteria sections.

@jjscheel
Copy link
Contributor Author

@lazyparser, am I correct in assuming you plan on working on LLVM too? Are there any other pieces besides these 3?

@fuhle044
Copy link

fuhle044 commented Jul 24, 2024 via email

@pz9115
Copy link

pz9115 commented Aug 6, 2024

We have a SOW here, and need Rich help to add the P spec link that need to be implement.

https://docs.google.com/document/d/1dCnLq8eSgOnD-bYrembB5aU4IVejn2q4OSJceVRIJpU/edit?usp=sharing

@jjscheel
Copy link
Contributor Author

jjscheel commented Aug 6, 2024

@pz9115, @fuhle044, I have taken the SOW information and put it into the first entry above SOW. Please review and provide any comments.

@jjscheel
Copy link
Contributor Author

jjscheel commented Aug 6, 2024

@lazyparser please see my previous comments about the SOW. I'd appreciate your feedback as well.

@pz9115
Copy link

pz9115 commented Aug 20, 2024

We found a draft doc here https://lists.riscv.org/g/tech-p-ext/files/Drafts/RVP-baseInstrs-A-010.pdf, but it still need add encoding and some instructions descriptions to make sure we can implement it clear in toolchain part.

@jjscheel
Copy link
Contributor Author

I have requested specification changes in an email to the TG: https://lists.riscv.org/g/tech-p-ext/topic/specification_details/108017701

@pz9115
Copy link

pz9115 commented Sep 30, 2024

Keep waiting specificaction doc.

@jjscheel
Copy link
Contributor Author

I talked with Rich Fuhler at RISC-V Summit NA and encouraged him to update Asciidoc version of document with all other design information. Offered to help as needed.

I did not get a target date for this work completing, but they understand that it's needed.

@pz9115
Copy link

pz9115 commented Oct 29, 2024

Find the new draft p-ext instructions and encoding docs in https://www.jhauser.us/RISCV/ext-P/

Now working on the Binutils part, plans to complete it within the next month

  • Add instructions endocing marco.
  • Support register pair feature.
  • Support register operands check.
  • Add testcases.

https://github.com/ruyisdk/riscv-binutils/tree/p-dev

@jjscheel
Copy link
Contributor Author

@pz9115, I think we have to be a little careful with the document you found given that it's not in the official repo for the spec. But, it's likely a safe starting place for your work.

@pz9115
Copy link

pz9115 commented Nov 12, 2024

Still work in progress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: As-planned
Development

No branches or pull requests

5 participants