<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64735>64735</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
llvm-mca reporting error on valid x86 assembly.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
tools:llvm-mca
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hiraditya
</td>
</tr>
</table>
<pre>
```asm
h:
push r14
push rbx
push rax
mov r14, qword ptr [rdi]
cmp r14, qword ptr [rdi + 8]
je .LBB2_3
mov rbx, rdi
.LBB2_2:
mov edi, dword ptr [r14]
call f(int)@PLT
add r14, 4
cmp r14, qword ptr [rbx + 8]
jne .LBB2_2
.LBB2_3:
add rsp, 8
pop rbx
pop r14
ret
```
$ ./build/bin/llvm-mca -mtriple x86_64-unknown-linux-gnu -iterations=20 a.s
```sh
a.s:5:28: error: unexpected token in argument list
mov r14, qword ptr [rdi]
^
a.s:6:28: error: unexpected token in argument list
cmp r14, qword ptr [rdi + 8]
^
a.s:8:9: error: unknown use of instruction mnemonic without a size suffix
mov rbx, rdi
^
a.s:10:28: error: unexpected token in argument list
mov edi, dword ptr [r14]
^
a.s:11:19: error: expected register here
call f(int)@PLT
^
a.s:12:9: error: unknown use of instruction mnemonic without a size suffix
add r14, 4
^
a.s:13:28: error: unexpected token in argument list
cmp r14, qword ptr [rbx + 8]
^
a.s:16:9: error: unknown use of instruction mnemonic without a size suffix
add rsp, 8
^
a.s:1:1: error: symbol 'h' is already defined
h:
^
a.s:5:28: error: unexpected token in argument list
mov r14, qword ptr [rdi]
^
a.s:6:28: error: unexpected token in argument list
cmp r14, qword ptr [rdi + 8]
^
a.s:8:9: error: unknown use of instruction mnemonic without a size suffix
mov rbx, rdi
^
a.s:9:1: error: symbol '.LBB2_2' is already defined
.LBB2_2:
^
a.s:10:28: error: unexpected token in argument list
mov edi, dword ptr [r14]
^
a.s:11:19: error: expected register here
call f(int)@PLT
^
a.s:12:9: error: unknown use of instruction mnemonic without a size suffix
add r14, 4
^
a.s:13:28: error: unexpected token in argument list
cmp r14, qword ptr [rbx + 8]
^
a.s:15:1: error: symbol '.LBB2_3' is already defined
.LBB2_3:
^
a.s:16:9: error: unknown use of instruction mnemonic without a size suffix
add rsp, 8
^
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV01zozgT_jXi0mUXSAKbAwd7_Po0h_ew9ymBBCgjJFYfib2_fkv-jEkc79ZMai9R2YClVn88_ahpM-dkp4WoUL5G-SZhwffGVr20jEu_Z0lt-L5CRXr8MDegdIPSVY_I6vgEY3A9AIDNKJymTuOyUu_urbDLymCe4aQG4W_w54uxHEZvAeVryyXKN7cqmmH8SB4QXsPyuutJHLfNv6_X-Ae51XWxXe-irsP2g8BRGl-DPUsKLqMkv7Ga0bdeMqXivUV4KbVHuEQ0_f_3P26lGOfnOOi_iDLCehvlaTxpAWfXX8VBrnG8MnxQ78aofjnJkhlhkr_L1JtkW-GPExeynH6-vmIKc4S3dZCKx7vUCG-Veh5mQ8NgNngrRyVgtyx-FHQW9E9tXvRMSR12s04HmEkvLPPSaIfIBqfA5u4dM2cPXH-ciFJklSOywktEViCsNTY-BC12o2i84ODNT6FBamC2C4PQHpR0_g5PHnEU5f97bbn4ZcuRB_-Q6ffHxKvoUDlx6gA4BCfAtCC18zY0EW4YtBiMlg28SN-b4IGBk38JcKFt5e4tTNejdLs28SFLf1tSHh7JqeksXm4BuBi2opPOCwu9sOKdI_3xeb4LeYY_C_PLSb4tI1P75POYeLcaPWZiVnwmLO8Xt6kLp-_VA7cfaqMA4UWP8AKkA6asYHwPXLRSCz59E040_kK5-aozv7vOlB-k9_ym_CDJ0z7gq4p9VbG3sOQPSUYek4zcJdl_WSQnTR0kvCK8JCVLRJUVJc7KgmY06StC24zX2TKlGc3TJmtKjNO8EU2Tl4uGkERWOMUkXWZFRgkhdJ6TJSEtbfEiz_O2ThFNxcCkmse-cG5sl0jngqgKuiB5olgtlDv8XcG4Dh3CGOFvCGNvjIownbvJuJBvElsdJurQOUTTSAR3VeylV6K69J9WjMZ6qbsjwmA0PDMleexHgTknhlrt55AEq6re-zGaQ3iL8LaTvg_1vDHDqZ89t7WjNU-i8QhvD0E4hLeHOP4OAAD__zL2wvs">