[AMDGPU] Extend macro fusion for ADDC and SUBB to SUBBREV
authorJay Foad <jay.foad@amd.com>
Wed, 11 Mar 2020 17:01:24 +0000 (17:01 +0000)
committerJay Foad <jay.foad@amd.com>
Wed, 11 Mar 2020 17:59:21 +0000 (17:59 +0000)
commita46dba24fa35ab52e9a1bbaa52666bcc37859927
tree85cf096aa23e4d8b57b81b3407c07e523d6a1c0d
parentbc6c8c4bbbee24fbcd288479651f2ffd9528342a
[AMDGPU] Extend macro fusion for ADDC and SUBB to SUBBREV

Summary:
There's a lot of test case churn but the overall effect is to increase
the number of back-to-back v_sub,v_subbrev pairs, which can execute with
no delay even on gfx10.

Reviewers: arsenm, rampitec, nhaehnle

Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D75999
llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp
llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
llvm/test/CodeGen/AMDGPU/bypass-div.ll
llvm/test/CodeGen/AMDGPU/macro-fusion-cluster-vcc-uses.mir
llvm/test/CodeGen/AMDGPU/srem64.ll
llvm/test/CodeGen/AMDGPU/sub-zext-cc-zext-cc.ll
llvm/test/CodeGen/AMDGPU/udiv64.ll
llvm/test/CodeGen/AMDGPU/urem64.ll
llvm/test/CodeGen/AMDGPU/wave32.ll