For D141247 - if that pattern was used by GISel it could cause constant bus limitation failures.
Just use inline immediates instead of S_MOV to avoid the issue.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir | ||
---|---|---|
170 ↗ | (On Diff #505450) | Can you also add and end to end test that shows the same issue |
llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zext.mir | ||
---|---|---|
170 ↗ | (On Diff #505450) | 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 |
llvm/lib/Target/AMDGPU/VOP3Instructions.td | ||
---|---|---|
266 | These are both inline immediate so you could just directly put the immediate in the output operands |
These are both inline immediate so you could just directly put the immediate in the output operands