[all-commits] [llvm/llvm-project] b48558: [X86][SSE] Fix targetShrinkDemandedConstant consta...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Wed Jul 1 04:19:39 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b485586482af213cf04a1e97712283db1707435b
      https://github.com/llvm/llvm-project/commit/b485586482af213cf04a1e97712283db1707435b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-07-01 (Wed, 01 Jul 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shrink-const.ll

  Log Message:
  -----------
  [X86][SSE] Fix targetShrinkDemandedConstant constant vector sign extensions

D82257/rG3521ecf1f8a3 was incorrectly sign-extending a constant vector from the lsb, this is fine if all the constant elements are 'allsignbits' in the active bits, but if only some of the elements are, then we are corrupting the constant values for those elements.

This fix ensures we sign extend from the msb of the active/demanded bits instead.




More information about the All-commits mailing list