CT_01_024 - Support RVV Segment loads/stores in autovectorization (LLVM)

CT_01_024 - Support RVV Segment loads/stores in autovectorization (LLVM)

About

RISC-V Vector (RVV) provides vector segment load/store instructions that efficiently handle interleaved memory layouts and can replace gather/scatter generated by the loop vectorizer.

Goals:

  1. Enable tail-folding for loops with interleaved groups by using masked segment loads/stores, avoiding fallback to indexed (gather/scatter) accesses.

  2. Lower masked segment loads/stores to unmasked segment loads/stores with an explicit vector length (EVL).

Update:

[Landed] Enable masked interleave access #151665https://github.com/llvm/llvm-project/pull/151665

[Landed] Support interleaved access with tail folding by EVL #152070https://github.com/llvm/llvm-project/pull/152070

Stakeholders/Partners

RISE:

Shih-Po Hung, SiFive

Dependencies

 

Status

Development

COMPLETE

 

Development Timeline

NA

 

Upstreaming

COMPLETE

 

Upstream Version

 

 

 

 

Contacts

Shih-Po Hung (SiFive)

 

Dependencies

 

 

 

Updates

Oct 2, 2025

  • Page created