[all-commits] [llvm/llvm-project] c6c5aa: [X86] truncateVectorWithPACK - avoid concat_vector...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Fri Jul 21 11:12:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c6c5aad6a24311e855b6ab7054b861a0a066e08c
      https://github.com/llvm/llvm-project/commit/c6c5aad6a24311e855b6ab7054b861a0a066e08c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-07-21 (Fri, 21 Jul 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] truncateVectorWithPACK - avoid concat_vectors(extract_subvector(pack()),extract_subvector(pack())) for sub-128 bit vectors

As we start using this after type legalization, we must avoid creating concat_vectors nodes so late.


  Commit: 65c9153cf055d398a224adcbfdddf23059b433d1
      https://github.com/llvm/llvm-project/commit/65c9153cf055d398a224adcbfdddf23059b433d1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-07-21 (Fri, 21 Jul 2023)

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

  Log Message:
  -----------
  [X86] combineBitcastvxi1 - don't prematurely create PACKSS nodes.

Similar to Issue #63710 - by truncating the v8i16 result with a PACKSS node before type legalization, we fail to make use of various folds that rely on TRUNCATE nodes.

This required tweaks to LowerTruncateVecPackWithSignBits to recognise when the truncation source has been widened and to more closely match combineVectorSignBitsTruncation wrt truncating with PACKSS/PACKUS on AVX512 targets.

One of the last stages before we can finally get rid of combineVectorSignBitsTruncation.


Compare: https://github.com/llvm/llvm-project/compare/237784dd3005...65c9153cf055


More information about the All-commits mailing list