[PATCH] D108253: [WIP][X86] Introduce 'blend with broadcast' shuffle lowering strategy (PR50971)

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 17 16:01:30 PDT 2021


lebedev.ri created this revision.
lebedev.ri added reviewers: RKSimon, craig.topper, adpatel6, efriedma.
lebedev.ri added a project: LLVM.
Herald added subscribers: pengfei, hiraditya.
lebedev.ri requested review of this revision.

This needs more tests, but something along these lines is needed to catch the last motivational case from https://bugs.llvm.org/show_bug.cgi?id=50971

          .globl  _Z6float1Dv4_dS_                # -- Begin function _Z6float1Dv4_dS_
          .p2align        4, 0x90
          .type   _Z6float1Dv4_dS_, at function
  _Z6float1Dv4_dS_:                       # @_Z6float1Dv4_dS_
          .cfi_startproc
  # %bb.0:
          vbroadcastsd    %xmm1, %ymm1
          vblendps        $192, %ymm1, %ymm0, %ymm0       # ymm0 = ymm0[0,1,2,3,4,5],ymm1[6,7]
          retq
  .Lfunc_end0:
          .size   _Z6float1Dv4_dS_, .Lfunc_end0-_Z6float1Dv4_dS_
          .cfi_endproc
                                          # -- End function
          .ident  "clang version 14.0.0 (https://github.com/llvm/llvm-project.git 41e3ac398c3ae9dfba5a57d80c420c122c1ec700)"
          .section        ".note.GNU-stack","", at progbits


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D108253

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/horizontal-sum.ll
  llvm/test/CodeGen/X86/subvector-broadcast.ll
  llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D108253.367045.patch
Type: text/x-patch
Size: 13606 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210817/2ab40adf/attachment.bin>


More information about the llvm-commits mailing list