[all-commits] [llvm/llvm-project] 932d9c: [NVPTX] Generalize and extend upsizing when loweri...
Drew Kersnar via All-commits
all-commits at lists.llvm.org
Tue Dec 17 15:23:43 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 932d9c13faa3de1deca3874d3b864901aa5ec9a5
https://github.com/llvm/llvm-project/commit/932d9c13faa3de1deca3874d3b864901aa5ec9a5
Author: Drew Kersnar <dakersnar at me.com>
Date: 2024-12-17 (Tue, 17 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/LoadStoreVectorizer.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/ldg-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-scalars.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors.ll
R llvm/test/CodeGen/NVPTX/load-store.ll
M llvm/test/CodeGen/NVPTX/shuffle-vec-undef-init.ll
M llvm/test/CodeGen/NVPTX/vector-stores.ll
Log Message:
-----------
[NVPTX] Generalize and extend upsizing when lowering 8/16-bit-element vector loads/stores (#119622)
This addresses the following issue I opened:
https://github.com/llvm/llvm-project/issues/118851.
This change generalizes the Type Legalization mechanism that currently
handles `v8[i/f/bf]16` upsizing to include loads _and_ stores of `v8i8`
+ `v16i8`, allowing all of the mentioned vectors to be lowered to ptx as
vectors of `b32`. This extension also allows us to remove the DagCombine
that only handled exactly `load v16i8`, thus centralizing all the
upsizing logic into one place.
Test changes include adding v8i8, v16i8, and v8i16 cases to
load-store.ll, and updating the CHECKs for other tests to match the
improved codegen.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list