aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2023-06-06 09:29:40 +0000
committerLuke Lau <luke@igalia.com>2023-06-12 10:21:04 +0100
commit2a1716dec57e8b3dd668df17ecbedfc77a4112e5 (patch)
tree29538961c9560832965cf24cf7a48d981c05e06b /clang/lib/CodeGen/CodeGenFunction.cpp
parentbbeda83090adcb3609f9c1331b2345e7fa547f90 (diff)
downloadllvm-2a1716dec57e8b3dd668df17ecbedfc77a4112e5.zip
llvm-2a1716dec57e8b3dd668df17ecbedfc77a4112e5.tar.gz
llvm-2a1716dec57e8b3dd668df17ecbedfc77a4112e5.tar.bz2
[LegalizeTypes][VP] Widen load/store of fixed length vectors to VP ops
If we have a load/store with an illegal fixed length vector result type that needs widened, e.g. `x:v6i32 = load p` Instead of just widening it to: `x:v8i32 = load p` We can widen it to the equivalent VP operation and set the EVL to the exact number of elements needed: `x:v8i32 = vp_load a, b, mask=true, evl=6` Provided that the target supports vp_load/vp_store on the widened type. Scalable vectors are already widened this way where possible, so this largely reuses the same logic. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D148713
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions