[PATCH] D126465: [RISCV] Use knowledge of VLEN to avoid over-aligning the stack
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 11:23:21 PDT 2022
reames added a comment.
In D126465#3540602 <https://reviews.llvm.org/D126465#3540602>, @craig.topper wrote:
> In D126465#3540599 <https://reviews.llvm.org/D126465#3540599>, @reames wrote:
>
>> I'm a bit confused by this patch. Where does the VLEN > 32 bit come from? All I kind find in the spec is that VLEN >= ELEN, and must be a power of 2. Given ELEN only has to be 8, shouldn't the smallest VLEN also be 8? This seems like an utterly useless configuration, but the spec seems to allow it?
>
> VLEN is determined by the Zvl32b, Zvl64b, Zvl128b, etc. extensions. V implies Zvl128b. Zve64* implies Zvl64b. Zve32* implies Zvl32b. VLEN can never be less than 32 with the currently defined extensions.
Thanks for the pointer. The wording here is as follows:
"Note: Explicit use of the Zvl32b extension string is not required for any standard vector extension as they all effectively mandate at least this minimum, but the string can be useful when stating hardware capabilities."
Reviewing 18.2 and 18.3 confirms that none of the proposed vector variants allow VLEN < 32.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126465/new/
https://reviews.llvm.org/D126465
More information about the llvm-commits
mailing list