[PATCH] D146131: [AMDGPU] Avoid constant bus limitation on V_BFE GISel pattern

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 15 05:53:32 PDT 2023


Pierre-vh marked an inline comment as done.
Pierre-vh added inline comments.


================
Comment at: llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir:170
+    ; GCN-NEXT: [[V_MOV_B32_e32_1:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
+    ; GCN-NEXT: [[V_BFE_I32_e64_:%[0-9]+]]:vgpr_32 = V_BFE_I32_e64 [[V_AND_B32_e32_]], [[V_MOV_B32_e32_1]], [[V_MOV_B32_e32_]], implicit $exec
     ; GCN-NEXT: $vgpr0 = COPY [[V_BFE_I32_e64_]]
----------------
arsenm wrote:
> Can you also add and end to end test that shows the same issue
I think those get folded out later because out of all the tests affected by the constant bus limit assert, none had any regression other than the MIR tests (because they just run ISel)
```
[build] Failed Tests (6):
[build]   LLVM :: CodeGen/AMDGPU/GlobalISel/bswap.ll
[build]   LLVM :: CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
[build]   LLVM :: CodeGen/AMDGPU/GlobalISel/inst-select-sext.mir
[build]   LLVM :: CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir
[build]   LLVM :: CodeGen/AMDGPU/GlobalISel/mul.ll
[build]   LLVM :: CodeGen/AMDGPU/mad-mix-hi.ll
```

I still added a small test case to show it's indeed folded out, but that one wasn't affected by the constant bus violation so not sure if it's that useful


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146131



More information about the llvm-commits mailing list