[PATCH] D147668: [RFC][X86 isel] Remove lane requirement from lowerShuffleAsUNPCKAndPermute

Han Zhu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 5 15:51:06 PDT 2023


zhuhan0 created this revision.
Herald added subscribers: hoy, wenlei, pengfei, hiraditya.
Herald added a project: All.
zhuhan0 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

lowerShuffleAsUNPCKAndPermute requires the shuffle mask element to be in the
same lane in both the input and output vectors. This prevents it from matching
certain patterns for example in GHI
61964 <https://github.com/llvm/llvm-project/issues/61964>. Removing the lane
requirement fixes the issue.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D147668

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/oddshuffles.ll
  llvm/test/CodeGen/X86/pr61964.ll
  llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
  llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
  llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
  llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
  llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
  llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
  llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
  llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147668.511226.patch
Type: text/x-patch
Size: 343467 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230405/80ba2402/attachment-0001.bin>


More information about the llvm-commits mailing list