<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59173>59173</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AMDGPU][MC] Assembler triggers an assert when a mandatory literal value is -1
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU,
mc
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dpreobra
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dpreobra
</td>
</tr>
</table>
<pre>
An example of failed test for GFX11:
v_fmaak_f32 v5, v1, v2, -1
Expected output:
v_fmaak_f32 v5, v1, v2, 0xffffffff ; encoding: [0x01,0x05,0x0a,0x5a,0xff,0xff,0xff,0xff]
Actual result:
an assert.
It turned out that code emitter uses a magic value to indicate an invalid literal and this value happens to be -1.
A fix is pending.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVUk1v2zAM_TX2hUhgyXYSH3xwmrXYocAuA3YrJJmytcof0EeW_vvRjrv20MsIQU8SKfI9gnJq3-pmBLyJYbYIkwYtjMUWAvoAenLw9PiLsSRvkuySZNsOZNcXPQjx-qJzDtcy4Q9wZevOl33HPsd_u82oAmWdYphj-O9s2U1vBqsl-RlwVFNrxo6SQVKes1u2fCAo7yBWKO-g9ddQXj4TaVSIwoJDH-1XJMUIwnt0Yf_Z8z1AiG68q4PQiwDEDAEHEwI6iB49CBhEZxRchY0IYQIztkaJgEtSM9KzacEaiicCYqT-98Zv0b2YZxz98ksidXar3oA2N6Aoci6N2KdYs8Oh4vxUHau0rfO2yiuRBhMs1tSi5vny9OPnork8Pz8QQkNqBmmJZHCm69D5D43wp8dx5T22Ikzu7R-9OysqvGNpdLbuQ5j90i7-SKszoY9yr6aBLtZe32E3u-k3TQFdjfcRPR3Kih3ztK9ZfjywI9ccj4UumMSyUEq0hZKqLYs8S62QaP0iIuFcCvVKkqnipoivQ0IwqOVcXlJT84xzxnjOTgUvqr1sdZGdKllV8lChzpMiw4Emfb9Q20-uS129spSx8-S0xgf_4aSWmG5E3Bi0s8NJOrFVEzH0k6vfX9NVX72K-wv61QiF">