<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/72741>72741</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[llvm-exegesis] Values of registers r11 and rcx not set properly
</td>
</tr>
<tr>
<th>Labels</th>
<td>
tools:llvm-exegesis
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
boomanaiden154
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
boomanaiden154
</td>
</tr>
</table>
<pre>
Currently, llvm-exegesis fails to preserve the values of `%r11` and `%rcx` after they are set. A minimal example demonstrating this behavior for `%rcx`:
```asm
# LLVM-EXEGESIS-DEFREG RCX 5
# LLVM-EXEGESIS-DEFREG R14 127
# LLVM-EXEGESIS-DEFREG R15 0
cmpq $0x5, %rcx
cmovneq %r14, %r15
movq $60, %rax
movq %r15, %rdi
syscall
```
and a minimal example for `%r11`:
```asm
# LLVM-EXEGESIS-DEFREG R11 5
# LLVM-EXEGESIS-DEFREG R14 127
# LLVM-EXEGESIS-DEFREG R15 0
cmpq $0x5, %r11
cmovneq %r14, %r15
movq $60, %rax
movq %r15, %rdi
syscall
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVE1vnDAQ_TXmMtqVP_CyOXDYZnejSuklkaJcDQzgymBiG8T--wovabPtIVIPrYT4eG-e8bzRs_JeNz1iTuQXwnlhbad6pSvsmUwJ50QeEzWG1rr8lksKW13y-9E57IO5EH4PxkzdBmds0GsPtdLGQ7AwOPToJoTQIkzKjOjB1kB2lHDpGCM7Cqqv3oFyjkAd0C2KCyiH4DFs4QCd7nWnDOCsusEgVNjZ3gengu4bCK32UGCrJm0d1NbdLEnEgdAjoYflPV7KdyvCBTw-vnzbnF5PD6fnr8-b4-n8dHqAp_tXkJ_VsBQYzz6tkkDXmngvu-ENCE_pLBfv1m2ulJ16fIsYS99ZJj_KOztF-dLglVfzDRMFK1XpK-UvvlTG_GbD9XOZgPrD4A8mxkH9lYmM_UMTGfsvJiZVLqo7cacSzFlGKd_LXSqSNud1llVMYpkKVSmeMiYoy4p9SSVmd5lIdM4pF4yxPZUipWKblRJ3pdgXVVlklaxJSrFT2myXfG2taxLt_Yh5xrOUJUYVaPwa32Ct8UQcbpK4ptjlES3GxpOUGu2D_7Vi0MHEM-BWKY_w8jOwDhvtAzoPjrGYWFfO0NuwpBMGZwd05pKMzuRtCMOyD8LPhJ8bHdqx2Ja2I_y8_GB9bAZnv2MZCD_Hjjzh59jUjwAAAP__okhQqw">