[all-commits] [llvm/llvm-project] 8cefc3: [DAGCombine] visitEXTRACT_SUBVECTOR - 'little to b...

RotateRight via All-commits all-commits at lists.llvm.org
Mon Dec 23 07:21:47 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8cefc37be5aba4948936c7beb97cde7a68449f1f
      https://github.com/llvm/llvm-project/commit/8cefc37be5aba4948936c7beb97cde7a68449f1f
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2019-12-23 (Mon, 23 Dec 2019)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/ARM/combine-vmovdrr.ll
    M llvm/test/CodeGen/X86/avg-mask.ll
    M llvm/test/CodeGen/X86/madd.ll
    M llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll

  Log Message:
  -----------
  [DAGCombine] visitEXTRACT_SUBVECTOR - 'little to big' extract_subvector(bitcast()) support

This moves the X86 specific transform from rL364407
into DAGCombiner to generically handle 'little to big' cases
(for example: extract_subvector(v2i64 bitcast(v16i8))). This
allows us to remove both the x86 implementation and the aarch64
bitcast(extract_subvector(bitcast())) combine.

Earlier patches that dealt with regressions initially exposed
by this patch:
rG5e5e99c041e4
rG0b38af89e2c0

Patch by: @RKSimon (Simon Pilgrim)

Differential Revision: https://reviews.llvm.org/D63815




More information about the All-commits mailing list