[all-commits] [llvm/llvm-project] 51a276: [X86] Teach combineTruncatedArithmetic to push tru...

topperc via All-commits all-commits at lists.llvm.org
Mon May 25 12:19:37 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 51a276c759c90c844bbabf5066195aaf42fb0c6e
      https://github.com/llvm/llvm-project/commit/51a276c759c90c844bbabf5066195aaf42fb0c6e
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2020-05-25 (Mon, 25 May 2020)

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

  Log Message:
  -----------
  [X86] Teach combineTruncatedArithmetic to push truncate through subtracts where only one of the inputs is free to truncate.

Fix combineSubToSubus to handle the new DAG to avoid a regression.

There are still regressions in test14/test15/test16. Where it
looks like were trying to set up cases we could match to
umin+trunc+subus but the handling was never finished. The
regression here isn't unique to sub. Its a lost opportunity for
taking an AND with two truncated inputs and producing a larger
AND with a single truncate. The same thing could happen with
any other node we handle in combineTruncatedArithmetic since we
are moving the truncate up the DAG.

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




More information about the All-commits mailing list