aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/TextAPI/Platform.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2021-05-11 09:32:19 -0700
committerCraig Topper <craig.topper@sifive.com>2021-05-11 09:42:48 -0700
commitce6e4f27dd72f834502f47176d84869a1f509d7b (patch)
tree9e1e19153b3764f7d2ccd76df21ff315957cb203 /llvm/lib/TextAPI/Platform.cpp
parent5f78ba001ca23ab826b9be823fc8ac0a0e5d2237 (diff)
downloadllvm-ce6e4f27dd72f834502f47176d84869a1f509d7b.zip
llvm-ce6e4f27dd72f834502f47176d84869a1f509d7b.tar.gz
llvm-ce6e4f27dd72f834502f47176d84869a1f509d7b.tar.bz2
[RISCV] Use fractional LMULs for fixed length types smaller than riscv-v-vector-bits-min.
My thought process is that if v2i64 is an LMUL=1 type then v2i32 should be an LMUL=1/2 type. We limit the fractional LMUL so that SEW=64 clips to LMUL=1, SEW=32 clips to LMUL=1/2, etc. This ensures there's always a fractional LMUL available to truncate a type. This does reduce the number of vsetvlis in some cases. Some tests increase vsetvlis because the best container type for a mask type is dependent on the LMUL+SEW that the mask was produced from, but you can't tell that from the type. I think this is something we need to solve this in the machine IR when optimizing vsetvlis. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D101215
Diffstat (limited to 'llvm/lib/TextAPI/Platform.cpp')
0 files changed, 0 insertions, 0 deletions