[all-commits] [llvm/llvm-project] dd7ba3: [X86] matchTruncateWithPACK - consistently prefer ...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Thu Aug 17 04:23:57 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dd7ba3807865d41afccd2172c53999d5d13ceace
      https://github.com/llvm/llvm-project/commit/dd7ba3807865d41afccd2172c53999d5d13ceace
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-08-17 (Thu, 17 Aug 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
    M llvm/test/CodeGen/X86/masked_store_trunc_usat.ll
    M llvm/test/CodeGen/X86/vector-trunc-packus.ll
    M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
    M llvm/test/CodeGen/X86/vector-trunc-usat.ll

  Log Message:
  -----------
  [X86] matchTruncateWithPACK - consistently prefer shuffles for truncation to sub-64-bit vXi16

If we're truncating from v2i32 / v2i64 then PSHUFLW / PSHUFD+PSHUFLW should more easily allow further shuffle combines than a PACK chain will


  Commit: 3c2432690ad2bcc7a4d186f94dad2efcdee55cef
      https://github.com/llvm/llvm-project/commit/3c2432690ad2bcc7a4d186f94dad2efcdee55cef
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-08-17 (Thu, 17 Aug 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/movmsk-cmp.ll
    M llvm/test/CodeGen/X86/pmulh.ll
    M llvm/test/CodeGen/X86/psubus.ll
    M llvm/test/CodeGen/X86/sext-vsetcc.ll
    M llvm/test/CodeGen/X86/srem-seteq-illegal-types.ll
    M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
    M llvm/test/CodeGen/X86/vector-trunc-packus.ll
    M llvm/test/CodeGen/X86/vector-trunc-ssat.ll
    M llvm/test/CodeGen/X86/vector-trunc-usat.ll
    M llvm/test/CodeGen/X86/vselect-avx.ll

  Log Message:
  -----------
  [X86] Remove combineVectorSignBitsTruncation and leave TRUNCATE -> PACKSS/PACKUS to legalization/lowering

Don't prematurely fold TRUNCATE nodes to PACKSS/PACKUS target nodes - we miss out on generic TRUNCATE folds.

Helps some regressions from D152928 and #63946

Fixes #63710


Compare: https://github.com/llvm/llvm-project/compare/7b8f5f7df71c...3c2432690ad2


More information about the All-commits mailing list