[all-commits] [llvm/llvm-project] 1cb991: [X86] Add test case for pr52567. NFC

Craig Topper via All-commits all-commits at lists.llvm.org
Fri Nov 19 21:51:25 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1cb991e754053ce2b5d551eb6c1a0ce759ab381e
      https://github.com/llvm/llvm-project/commit/1cb991e754053ce2b5d551eb6c1a0ce759ab381e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-11-19 (Fri, 19 Nov 2021)

  Changed paths:
    A llvm/test/CodeGen/X86/pr52567.ll

  Log Message:
  -----------
  [X86] Add test case for pr52567. NFC


  Commit: a4373f6753fa9aa89d39fbd4ec9e273f76459a58
      https://github.com/llvm/llvm-project/commit/a4373f6753fa9aa89d39fbd4ec9e273f76459a58
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-11-19 (Fri, 19 Nov 2021)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/pr52567.ll

  Log Message:
  -----------
  [X86] Don't combine (x86cmp (trunc (movmsk (bitcast X))), 0) if the truncate discards unknown bits.

We have transform that tries turn a pmovmskb into movmskps/pd or
movmskps to movmskpd. This transform isn't valid if the truncate
discarded bits that might be set by the original movmsk.

We could fix this by inserting an AND after the new movmsk to discard
the equivalent of the truncated bits, but I've left that for later
patch.

Fixes PR52567.

Differential Revision: https://reviews.llvm.org/D114306


Compare: https://github.com/llvm/llvm-project/compare/0dec59305a52...a4373f6753fa


More information about the All-commits mailing list