| Issue |
71685
|
| Summary |
[AMDGPU] SIFoldOperands can create V_FMA_F32_e64 instruction that violates constant bus restriction
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
jayfoad
|
Test case: [r.txt](https://github.com/llvm/llvm-project/files/13297858/r.txt)
```
$ llc -march=amdgcn -mcpu=gfx1100 -x mir r.txt -run-pass si-fold-operands -verify-machineinstrs
# After SI Fold Operands
# Machine code for function fma_sgpr_sgpr_use: IsSSA, NoPHIs
bb.0:
%0:sgpr_32 = IMPLICIT_DEF
%1:sgpr_32 = S_MOV_B32 1234567
%3:vgpr_32 = V_FMA_F32_e64 0, %0:sgpr_32, 0, 1234567, 0, %1:sgpr_32, 0, 0, implicit $mode, implicit $exec
S_ENDPGM 0, implicit %3:vgpr_32
# End machine code for function fma_sgpr_sgpr_use.
*** Bad machine code: VOP* instruction violates constant bus restriction ***
- function: fma_sgpr_sgpr_use
- basic block: %bb.0 (0x194d4d0)
- instruction: %3:vgpr_32 = V_FMA_F32_e64 0, %0:sgpr_32, 0, 1234567, 0, %1:sgpr_32, 0, 0, implicit $mode, implicit $exec
LLVM ERROR: Found 1 machine code errors.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs