aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2025-01-21 10:08:42 +0700
committerGitHub <noreply@github.com>2025-01-21 10:08:42 +0700
commit7786266dc7b4e89feadcb01ff21f9e3cf2022a6b (patch)
tree92ae2b057bd035b3527b89d6e59b339ee48cddd6 /flang/lib/Frontend/CompilerInvocation.cpp
parente87b843811e147db8d1edd7fe2dd52bb90be6ebc (diff)
downloadllvm-7786266dc7b4e89feadcb01ff21f9e3cf2022a6b.zip
llvm-7786266dc7b4e89feadcb01ff21f9e3cf2022a6b.tar.gz
llvm-7786266dc7b4e89feadcb01ff21f9e3cf2022a6b.tar.bz2
AMDGPU: Expand shuffle testing with generated tests (#123574)
Add some generated tests with every shuffle permutation for relevant vector element types and sizes. Not sure if this is going overboard with the number of tests. I pruned out the largest cases (16 and 32-bit cases are impractically large), and there's redundancy when testing the pointer cases (at least for SelectionDAG). This uses inline assembly to produce sample values because of how the ABI is lowered when using a function argument. Since we break all arguments into 32-bit pieces, a shuffle never ends up forming. We need separate handling to reconstruct shuffles in contexts involving physical registers in ABI contexts. I wrote a small tool to generate these, so I can easily change the exact test body. Not sure if it's worth posting anywhere. This is in preparation for making better use of v_pk_mov_b32, v_mov_b64 and s_mov_b64 in shuffles.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions