[all-commits] [llvm/llvm-project] 4b529f: [X86] Fold extractsubvector(permv3(src0, mask, src1)...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Sep 18 04:09:08 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4b529f840c7a28245f4462d9fde34f1686e96351
      https://github.com/llvm/llvm-project/commit/4b529f840c7a28245f4462d9fde34f1686e96351
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-18 (Wed, 18 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll

  Log Message:
  -----------
  [X86] Fold extractsubvector(permv3(src0,mask,src1),c) -> extractsubvector(permv3(src0,widensubvector(extractsubvector(mask,c)),src1),0) iff c != 0

For cross-lane shuffles, extract the mask operand (uppper) subvector directly, and make use of the free implicit extraction of the lowest subvector of the result.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list