[llvm] [NVPTX] Generalize and extend upsizing when lowering 8/16-bit-element vector loads/stores (PR #119622)
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 13 11:26:32 PST 2024
================
@@ -3211,14 +3236,19 @@ NVPTXTargetLowering::LowerSTOREVector(SDValue Op, SelectionDAG &DAG) const {
EVT EltVT = ValVT.getVectorElementType();
unsigned NumElts = ValVT.getVectorNumElements();
+ if (UpsizeElementTypes) {
+ auto [NewNumElts, NewEltVT] = GetUpsizedNumEltsAndEltVT(NumElts, EltVT);
+ NumElts = NewNumElts;
+ EltVT = NewEltVT;
----------------
Artem-B wrote:
Right. We can't use `auto [X, Y]` on existing variables.
For that we need `std::tie()`: https://godbolt.org/z/TqcxrPjrG
```
std::tie(NumElts, EltVT) = GetUpsizedNumEltsAndEltVT(NumElts, EltVT);
```
https://github.com/llvm/llvm-project/pull/119622
More information about the llvm-commits
mailing list