This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Use v8-v23 as argument registers to conform to the proposal.
ClosedPublic

Authored by HsiangKai on Jan 21 2021, 7:11 AM.

Details

Summary

The maximum LMUL is 8. We need 16 vector registers for two LMUL-8 arguments. The modification follows the proposal of psABI in https://github.com/riscv/riscv-elf-psabi-doc/pull/171

There are lots of test files need to be updated. It is too large to contain all of these test files in one commit to upload. I only add vadd test files to demonstrate the modification. If this patch is accepted, I will update all of these test files and commit them to the repository.

Diff Detail

Event Timeline

HsiangKai created this revision.Jan 21 2021, 7:11 AM
HsiangKai requested review of this revision.Jan 21 2021, 7:11 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 21 2021, 7:11 AM
Herald added a subscriber: MaskRay. · View Herald Transcript

Add a dedicated test file to demonstrate and verify the ABI would be better.

This revision is now accepted and ready to land.Jan 21 2021, 1:54 PM

Add a dedicated test file to demonstrate and verify the ABI would be better.

I would add test cases for ABI in D94465. In D94465, we could demonstrate how to pass vector arguments between caller and callee. In addition, we could show how to pass vector arguments through memory by reference.

This revision was landed with ongoing or failed builds.Jan 21 2021, 3:59 PM
This revision was automatically updated to reflect the committed changes.