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

Reply via email to