aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
diff options
context:
space:
mode:
authorPaul Walker <paul.walker@arm.com>2020-05-18 19:12:38 +0100
committerPaul Walker <paul.walker@arm.com>2020-06-23 09:39:03 +0000
commit499c63288f4e3385e8d7311b214fb4f743e33234 (patch)
tree578ad250cc9740041ed8e1068782407b45e0d748 /llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
parentb9c26a9cfe53da7ef96e13ef1aa7fe793b1b5d28 (diff)
downloadllvm-499c63288f4e3385e8d7311b214fb4f743e33234.zip
llvm-499c63288f4e3385e8d7311b214fb4f743e33234.tar.gz
llvm-499c63288f4e3385e8d7311b214fb4f743e33234.tar.bz2
[SVE] Code generation for fixed length vector loads & stores.
Summary: This patch adds base support for code generating fixed length vector operations targeting a known SVE vector length. To achieve this we lower fixed length vector operations to equivalent scalable vector operations, whereby SVE predication is used to limit the elements processed to those present within the fixed length vector. Specifically this patch implements load and store operations, which get lowered to their masked counterparts thusly: V = load(Addr) => V = extract_fixed_vector(masked_load(make_pred(V.NumElts), Addr)) store(V, (Addr)) => masked_store(insert_fixed_vector(V), make_pred(V.NumElts), Addr)) Reviewers: rengolin, efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80385
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyIndVar.cpp')
0 files changed, 0 insertions, 0 deletions