[all-commits] [llvm/llvm-project] acbc5e: [X86][SSE] getFauxShuffle - support insert(truncat...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sun Apr 26 07:31:38 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: acbc5ede9916a22b06341647d94e5dff51af32a2
      https://github.com/llvm/llvm-project/commit/acbc5ede9916a22b06341647d94e5dff51af32a2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-04-26 (Sun, 26 Apr 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/buildvec-extract.ll
    M llvm/test/CodeGen/X86/buildvec-insertvec.ll
    M llvm/test/CodeGen/X86/extract-concat.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll

  Log Message:
  -----------
  [X86][SSE] getFauxShuffle - support insert(truncate/extend(extract(vec0,c0)),vec1,c1) shuffle patterns at the byte level

Followup to the PR45604 fix at rGe71dd7c011a3 where we disabled most of these cases.

By creating the shuffle at the byte level we can handle any extension/truncation as long as we track how small the scalar got and assume that the upper bytes will need to be zero.




More information about the All-commits mailing list