/
CT_01_018 - Fixed length vector calling convention(LLVM)
CT_01_018 - Fixed length vector calling convention(LLVM)
About
Fixed vectors are currently passed using the same rules as structs. Sizes smaller than 2*XLEN are passed in scalar registers. Large sizes are passed in memory. This is not an efficient way to handle vectors.
Specifications:
PSABI https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/418
C-API https://github.com/riscv-non-isa/riscv-c-api-doc/pull/68
Stakeholders/Partners
RISE:
SiFive: Kito Cheng, Brandon Wu
Dependencies
Status
Updates
- https://github.com/llvm/llvm-project/pull/100346 was recently merged
- Moved to 20251H
- Patch nearing completion https://github.com/llvm/llvm-project/pull/100346
- Created project
- Created project
, multiple selections available,
Related content
CT_01_014 - Vector calling convention (LLVM)
CT_01_014 - Vector calling convention (LLVM)
More like this
CT_01_001 - Autovectorization -- Basic Functionality (LLVM)
CT_01_001 - Autovectorization -- Basic Functionality (LLVM)
More like this
CT_01_008 - Autovectorization -- Improvements (LLVM)
CT_01_008 - Autovectorization -- Improvements (LLVM)
More like this
CT_01_007 - CRC Optimization (LLVM)
CT_01_007 - CRC Optimization (LLVM)
Read with this
CT_01_010 - Landing pad (LLVM)
CT_01_010 - Landing pad (LLVM)
Read with this
CT_01_012 - Improve shrink-wrapping (LLVM)
CT_01_012 - Improve shrink-wrapping (LLVM)
Read with this