<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/86103>86103</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[RISCV][MC][xthead] Wrong AsmParser error for `th.ldia`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:RISC-V
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
fpetrogalli
</td>
</tr>
</table>
<pre>
Maybe I am missing something from the specs [1], but I think that the first assembly instruction in the test `llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s` should be reporting an error at column 10 (for `0(a0)`) and not column 23 (the first immediate operand, `0`):
```
th.ldia 0(a0), (a1), 0, 0 # CHECK: :[[@LINE]]:23: error: invalid operand for instruction
```
[1] Quoting https://github.com/T-head-Semi/thead-extension-spec/blob/master/xtheadmemidx/ldia.adoc
```
Mnemonic
th.ldia rd, (rs1), imm5, imm2
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8k99v4zYMx_8a5oVIINOxHT_4IU3PWLF12HbD7Vm26Fg7_QgkuWj_-0Gus96GwwUBJcEURX6-pIxRXx1zB9UDVI87uaTZh266cQr-Ko3Ru8Grt-5Zvg2MTygtWh2jdleM3nKa824K3mKaGeONx4hQPRRQPQJdcFgSPmH2-opplmn1mnSICWWMbAfzhtrFFJYxae8QtVtdEseEUAtjXixQn49A_fMFqP_j6fPlC1AfXurja5pZKstWq9e9di_SaHWIUAuMs1-MwoEx8M2HlNOUDjkEH1AmHL1ZrMNCINBp8iE_JoBOUgC1UGeL0il0_l9fKrPvRwHaWlZaJkZ_4yCdygWvYdbrUJ5BPIK421ps__WY5oNRWuL99_F2DkInWWx7sRpEoBIvP326_AzlGXPsrNcDHMUvT79-yrSrRyjPVObPa5V5syG5J4i50G9wfzezzb5riL8vfmU3p3SL-VnqgfqrTvMyHEafxflzn0XYf2ars1TrgV8Tu6i92-eWAOoH4weg3sqYOAD13yoH1GcWB6n8-ANkz46td3r8L8CgNmIh3pFpa6ttpf9F2qmuVG3Zyh13RVMUojhWVb2bO5L1VHBDZTOJVo5EoxqncuC2KWXTjrTTHQk6ipIK0R7boj6oqW5EWVSqPk3cNCMcBVupzSH37MGH607HuHB3qgtR7owc2MR1yogGOX5lp6A852befwGiPHuhy1f3w3KNcBRGxxQ_giWdzDql7_2fBX94vryv7zCzXH8F7654jvY3GSKHrd-3_t6QZQxLMN0PJN3Gbk3nFvzfPObxW-uJQP1a0j8BAAD__y0oRlg">