| Issue |
182243
|
| Summary |
Machine verifier fails to catch v_cndmask_b32_e64 with invalid operands
|
| Labels |
backend:AMDGPU,
accepts-invalid
|
| Assignees |
|
| Reporter |
arsenm
|
The machine verifier fails to diagnose this malformed instruction. V_CNDMASK_B32_e64 has source modifier operands before each source operands.
```
# RUN: llc -mtriple=amdgcn-- -mcpu=gfx1030 -run-pass=none %s
---
name: invalid_test_v_cndmask_e64
tracksRegLiveness: true
stack:
- { id: 0, size: 12}
machineFunctionInfo:
scratchRSrcReg: '$sgpr0_sgpr1_sgpr2_sgpr3'
frameOffsetReg: '$sgpr33'
stackPtrOffsetReg: '$sgpr32'
body: |
bb.0:
liveins: $sgpr4
renamable $vgpr2 = V_MOV_B32_e32 0, implicit $exec
renamable $vgpr0 = V_CNDMASK_B32_e64 %stack.0, killed $vgpr2, 0, 0, $sgpr4, implicit $exec
SI_RETURN
...
```
The first operand %stack.0 must be an immediate encoding a source modifier mask.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs