[all-commits] [llvm/llvm-project] f59123: [X86] combineSelect - canonicalize (vXi1 bitcast(i...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Tue Mar 15 05:16:45 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f591231cadb8c539cc24afa522160b704b6dfe1d
      https://github.com/llvm/llvm-project/commit/f591231cadb8c539cc24afa522160b704b6dfe1d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-03-15 (Tue, 15 Mar 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-bo-select.ll

  Log Message:
  -----------
  [X86] combineSelect - canonicalize (vXi1 bitcast(iX Cond)) with combineToExtendBoolVectorInReg before legalization

This replaces the attempt in 20af71f8ec47319d375a871db6fd3889c2487cbd to use combineToExtendBoolVectorInReg to create X86ISD::BLENDV masks directly, instead we use it to canonicalize the iX bitcast to a sign-extended mask and then truncate it back to vXi1 prior to legalization breaking it apart.

Fixes #53760




More information about the All-commits mailing list