[all-commits] [llvm/llvm-project] 792052: [X86][AVX] combineBitcastvxi1 - improve handling o...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Mar 24 07:12:10 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7920527796eacd596d362ab5266e23189565892e
      https://github.com/llvm/llvm-project/commit/7920527796eacd596d362ab5266e23189565892e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-03-24 (Wed, 24 Mar 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
    M llvm/test/CodeGen/X86/vector-reduce-or-bool.ll
    M llvm/test/CodeGen/X86/vector-reduce-xor-bool.ll

  Log Message:
  -----------
  [X86][AVX] combineBitcastvxi1 - improve handling of vectors truncated to vXi1

If we're truncating to vXi1 from a wider type, then prefer the original wider vector as is simplifies folding the separate truncations + extensions.

AVX1 this is only worth it for v8i1 cases, not v4i1 where we're always better off truncating down to v4i32 for movmsk.

Helps with some regressions encountered in D96609




More information about the All-commits mailing list