[all-commits] [llvm/llvm-project] fce1a6: Revert "AMDGPU: Try to commute sub of boolean ext"

Tim Renouf via All-commits all-commits at lists.llvm.org
Fri Dec 13 04:49:40 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fce1a6f5848d644d56ab72d5bac71aa8053f8f2e
      https://github.com/llvm/llvm-project/commit/fce1a6f5848d644d56ab72d5bac71aa8053f8f2e
  Author: Tim Renouf <tim.renouf at amd.com>
  Date:   2019-12-13 (Fri, 13 Dec 2019)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/combine-cond-add-sub.ll
    A llvm/test/CodeGen/AMDGPU/sub-zext-cc-zext-cc.ll

  Log Message:
  -----------
  Revert "AMDGPU: Try to commute sub of boolean ext"

This reverts commit 69fcfb7d3597e0cdb5554b4e672e9032b411b167.

As shown in the test I attached to this commit, the change I reverted
causes a problem with "zext(cc1) - zext(cc2)". It commuted
the operands to the sub and used different logic to select the addc/subc
instruction:
   sub zext (setcc), x => addcarry 0, x, setcc
   sub sext (setcc), x => subcarry 0, x, setcc

... but that is bogus. I believe it is not possible to fold those commuted
patterns into any form of addcarry or subcarry. It may have worked as
intended before "AMDGPU: Change boolean content type to 0 or 1" because
the setcc was considered to be -1 rather than 1.

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

Change-Id: If2139421aa6c935cbd1d925af58fe4a4aa9e8f43




More information about the All-commits mailing list