[all-commits] [llvm/llvm-project] 0eeab8: [RISCV] Add -riscv-v-fixed-length-vector-elen-max ...
Craig Topper via All-commits
all-commits at lists.llvm.org
Fri Aug 27 10:19:31 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0eeab8b2825ca9582b211fb5fbe782f702b30db7
https://github.com/llvm/llvm-project/commit/0eeab8b2825ca9582b211fb5fbe782f702b30db7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2021-08-27 (Fri, 27 Aug 2021)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
Log Message:
-----------
[RISCV] Add -riscv-v-fixed-length-vector-elen-max to limit the ELEN used for fixed length vectorization.
This adds an ELEN limit for fixed length vectors. This will scalarize
any elements larger than this. It will also disable some fractional
LMULs. For example, if ELEN=32 then mf8 becomes illegal, i32/f32
vectors can't use any fractional LMULs, i16/f16 can only use mf2,
and i8 can use mf2 and mf4.
We may also need something for the scalable vectors, but that has
interactions with the intrinsics and we can't scalarize a scalable
vector.
Longer term this should come from one of the Zve* features
More information about the All-commits
mailing list