VLST arguments are coerced to VLATs at the function boundary for
consistency with the VLAT ABI. They are then bitcast back to VLSTs in
the function prolog. Previously, this conversion is done through memory.
With the introduction of the llvm.vector.{insert,extract} intrinsic, we
can avoid going through memory here.
Depends on D92761
clang-tidy: warning: 'auto *VecTy' can be declared as 'const auto *VecTy' [llvm-qualified-auto]
not useful