[flang-commits] [clang] [libcxx] [compiler-rt] [libc] [flang] [llvm] [clang-tools-extra] [libcxxabi] [openmp] [mlir] [AArch64] Add custom lowering for load <3 x i8>. (PR #78632)
Florian Hahn via flang-commits
flang-commits at lists.llvm.org
Thu Jan 25 09:09:22 PST 2024
fhahn wrote:
> > Thanks, this is indeed more compact. I tried to massage the SelectionDAG nodes to generate it ([7cc78c5](https://github.com/llvm/llvm-project/commit/7cc78c52f481161d7195ac4c7f9ec05b1cd1f442)) but it appears there are some cases where this results in slightly more code. I can check where those differences are coming from.
>
> It looks like the INSERT_VECTOR_ELT is getting "optimized" into a BUILD_VECTOR, or something like that, instead of doing a shuffle like it does with your original sequence.
@efriedma-quic ok I managed to track down where the issue is. The only workaround I could come up with is extending `ReconstructShuffle` to support the case where one element is a load via `shuffleWithSingleLoad`. WDYT?
https://github.com/llvm/llvm-project/pull/78632
More information about the flang-commits
mailing list