[PATCH] D87936: [GISel] Add new combines for G_ADD

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 18 16:10:33 PDT 2020


arsenm added inline comments.


================
Comment at: llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll:54-62
+; GFX9-NEXT:    s_lshl_b32 s1, s0, 1
+; GFX9-NEXT:    s_set_gpr_idx_on s1, gpr_idx(SRC0)
 ; GFX9-NEXT:    s_waitcnt vmcnt(0)
 ; GFX9-NEXT:    v_mov_b32_e32 v0, v2
 ; GFX9-NEXT:    v_mov_b32_e32 v1, v3
+; GFX9-NEXT:    s_set_gpr_idx_off
+; GFX9-NEXT:    s_or_b32 s0, s0, 1
----------------
mkitzan wrote:
> arsenm wrote:
> > This is a much more interesting regression
> I noticed regressions in this test file too. The combine causing them is the: `G_ADD(x, y)` -> `G_OR(x, y)` (iff x and y share no common bits). That combine rule is the cause of nearly all the AMDGPU test changes (with the exception of three or four tests).
So we need the equivalent utility for SelectionDAG::isBaseWithConstantOffset(


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D87936/new/

https://reviews.llvm.org/D87936



More information about the llvm-commits mailing list