<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58844>58844</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AMDGPU][MC] Assembler incorrectly handles SGPRs with VOP3 VINTRP instructions
</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>
VOP3 VINTRP instructions should only allow VGPRs as src operands. However assembler also accepts SGPRs or crashes while attempting to handle them. The issue may be observed on GFX8-GFX10.
An example of failed test:
v_interp_p1_f32_e64 v5, 0.5, attr0.w
Expected output:
An error message.
Actual result:
UNREACHABLE executed
A fix is pending.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1Ut9vozAM_mvgxRoiAVp44IGtXXfSbVftl-6tCsGU3AWCktBu__2ZrrvbpF0UxU4c299nuzbNa_n8Y5vA87e7x_stqMF5O0mvzODAdWbSDZhBv4LQ2hzhebO9dyDIZCWYEa0YGhfBjTniAS0ZHPa1njXtDAgpcfQOHk5exoK0wnXo4NgpjSC8x370atiDN9BRKHr0HfYRPHYIyrkJoRevUCOY2qE94AwGNtc_8ws6WBwF8SqIq7ezGgBfRD9SENNCKyhFAx6dD5Lq4z-gddipwaMddyPbtQnf4SKFQxbwK4ijkyBsNo6OH_3WLyNKP0OY_Dh9FXVGYC3x7NE5scfP8KSfhAaLbtJfOT_d3a-rq5vq8vuaeKCcKNUnf2jVCxUFRhwaqtk5eIglWyyWecJyzsKmTJoiKUTolddYBtlldbvabJ-CbEX67RVJqP42SQ3SWEukqL9v5X_v1VH5Dv43F-Fkddl5P7qZBr-mvaf_Ux1J09NF68O7uBit-UUJ6HpqpyMly_M0Dbsyyxu-bBdsUUjGl2LJcixq1giRtTlrmzbUokbtZhIB57WQv4k4ZTwz4nzuE4leznq2ClXJY84Zi5csTbKER0lSZHW8SOsWeYpFEaQx9jQX0QwtMnYf2vKEsp72joxaOe_-GWma1X5APCNoRoumtuKcTUy-M7Z8fw1P_MoTuT9RQguf">