[PATCH] D63653: [DAGCombine] narrowInsertExtractVectorBinOp - add CONCAT_VECTORS support

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 21 08:25:22 PDT 2019


RKSimon created this revision.
RKSimon added reviewers: spatel, craig.topper.
Herald added subscribers: nhaehnle, jvesely.
Herald added a project: LLVM.

We already split extract_subvector(binop(insert_subvector(v,x),insert_subvector(w,y))) -> binop(x,y).

This patch adds support for extract_subvector(binop(concat_vectors(),concat_vectors())) cases as well.

In particular this means we don't have to wait for X86 lowering to convert concat_vectors to insert_subvector chains, which helps avoid some cases where demandedelts/combine calls occur too late to split large vector ops.

The fast-isel-store.ll regression is annoying but I don't think is that critical?


Repository:
  rL LLVM

https://reviews.llvm.org/D63653

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/AMDGPU/fmax_legacy.f16.ll
  test/CodeGen/AMDGPU/fmin_legacy.f16.ll
  test/CodeGen/X86/fast-isel-store.ll
  test/CodeGen/X86/machine-combiner-int-vec.ll
  test/CodeGen/X86/nontemporal-2.ll
  test/CodeGen/X86/vec_saddo.ll
  test/CodeGen/X86/vec_ssubo.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63653.206004.patch
Type: text/x-patch
Size: 22024 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190621/9855082c/attachment-0001.bin>


More information about the llvm-commits mailing list