aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorUsman Nadeem <mnadeem@quicinc.com>2024-03-13 09:05:55 -0700
committerGitHub <noreply@github.com>2024-03-13 09:05:55 -0700
commit57b991ab39348d91d8552787958ba7db1e7ceb8a (patch)
tree381e2796bd283a58903d06e25c05ac233d1e00e2 /flang/lib/Frontend/CompilerInvocation.cpp
parentf15a790fd383665ec4defa0711e975476fd8b18b (diff)
downloadllvm-57b991ab39348d91d8552787958ba7db1e7ceb8a.zip
llvm-57b991ab39348d91d8552787958ba7db1e7ceb8a.tar.gz
llvm-57b991ab39348d91d8552787958ba7db1e7ceb8a.tar.bz2
[AArch64] Improve lowering of truncating uzp1 (#82457)
There were two existing patterns: `concat_vectors(trunc(x), trunc(y)) -> uzp1(x, y)` `concat_vectors(assertzext(trunc(x)), assertzext(trunc(y))) -> uzp1(x, y)` Move them into a class and add the following `assertsext` pattern to it: `concat_vectors(assertsext(trunc(x)), assertsext(trunc(y))) -> uzp1(x, y)` Add the following transform for v8i8 and v4i16 result types to help with pattern matching: `truncating uzp1(x, y) -> trunc(concat(x, y))` And a pattern to go with it: `trunc(concat_vectors(x, y)) -> uzp1 (x, y)` Add another isel pattern for v8i8 and v4i16 result vector types, similar to the existing concat pattern, but with a trunc node in the begining: `trunc(concat_vectors(assertext_trunc(x), assertext_trunc(y))) -> xtn(uzp1(x, y))`
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions