[all-commits] [llvm/llvm-project] a7d8d1: [X86] combineConcatVectorOps - constant fold vecto...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Dec 11 08:24:53 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a7d8d11a144fb09afb3fcbef62fe302ae2fef897
      https://github.com/llvm/llvm-project/commit/a7d8d11a144fb09afb3fcbef62fe302ae2fef897
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-11 (Mon, 11 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-concatvectors.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] combineConcatVectorOps - constant fold vector load concatenation directly into a new load.

Create a new constant pool entry directly instead of going via a BUILD_VECTOR node, which makes constant pool reuse more difficult.

Helps with some regressions in #73509


  Commit: 33819f3bfb9cd14f3d9603ac4698f55cd2f285b8
      https://github.com/llvm/llvm-project/commit/33819f3bfb9cd14f3d9603ac4698f55cd2f285b8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-11 (Mon, 11 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
    M llvm/test/CodeGen/X86/combine-concatvectors.ll

  Log Message:
  -----------
  [X86] X86FixupVectorConstants - create f32/f64 broadcast constants if the source constant data was ANY floating point type

We don't need an exact match, this is mainly cleanup for cases where v2f32 style types have been cast to f64 etc.


Compare: https://github.com/llvm/llvm-project/compare/7e761ba8546e...33819f3bfb9c


More information about the All-commits mailing list