<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/72193>72193</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
llvm-exegesis does not work for one snippet with RSP defined
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
9Tempest
</td>
</tr>
</table>
<pre>
```
# LLVM-EXEGESIS-MEM-DEF test1 4096 2147483647
# LLVM-EXEGESIS-MEM-MAP test1 1048576
# LLVM-EXEGESIS-DEFREG RAX 100000
# LLVM-EXEGESIS-DEFREG RBX 100000
# LLVM-EXEGESIS-DEFREG RCX 100000
# LLVM-EXEGESIS-DEFREG RDX 100000
# LLVM-EXEGESIS-DEFREG RSI 100000
# LLVM-EXEGESIS-DEFREG RDI 100000
# LLVM-EXEGESIS-DEFREG RBP 100000
# LLVM-EXEGESIS-DEFREG RSP 100000
# LLVM-EXEGESIS-DEFREG R8 100000
# LLVM-EXEGESIS-DEFREG R9 100000
# LLVM-EXEGESIS-DEFREG R10 100000
# LLVM-EXEGESIS-DEFREG R11 100000
# LLVM-EXEGESIS-DEFREG R12 100000
# LLVM-EXEGESIS-DEFREG R13 100000
# LLVM-EXEGESIS-DEFREG R14 100000
movq %r14, (%rax)
```
This code snippet is tested by the following command
```
llvm-exegesis --mode=inverse_throughput -execution-mode=subprocess --snippets-file=llvm-exe-test/1.test
```
Version of llvm-exegsis is based on SHA https://github.com/llvm/llvm-project/commit/2a1f1b5fde0a2e03f94fa2cb5c7765d405fda0de
Output is
```
---
mode: inverse_throughput
key:
instructions:
- 'MOVDQUrm XMM1 RDI i_0x1 %noreg i_0x0 %noreg'
- 'MOVDQUrm XMM0 RSI i_0x1 %noreg i_0x0 %noreg'
- 'PCMPEQBrr XMM0 XMM0 XMM1'
- 'PMINUBrr XMM0 XMM0 XMM1'
- 'PXORrr XMM1 XMM1 XMM1'
- 'PCMPEQBrr XMM0 XMM0 XMM1'
- 'PMOVMSKBrr EAX XMM0'
- 'TEST64rr RAX RAX'
config: ''
register_initial_values:
- 'RAX=0x10000'
- 'RBX=0x10000'
- 'RCX=0x10000'
- 'RDX=0x10000'
- 'RSI=0x10000'
- 'RDI=0x10000'
- 'RBP=0x10000'
- 'RSP=0x10000'
- 'R8=0x10000'
- 'R9=0x10000'
- 'R10=0x10000'
- 'R11=0x10000'
- 'R12=0x10000'
- 'R13=0x10000'
- 'R14=0x10000'
- 'R15=0x10000'
- 'XMM0=0x10000'
- 'XMM1=0x10000'
- 'XMM2=0x10000'
- 'XMM3=0x10000'
- 'XMM4=0x10000'
- 'XMM5=0x10000'
- 'XMM6=0x10000'
- 'XMM7=0x10000'
- 'XMM8=0x10000'
- 'XMM9=0x10000'
- 'XMM10=0x10000'
- 'XMM11=0x10000'
- 'XMM12=0x10000'
- 'XMM13=0x10000'
- 'XMM14=0x10000'
- 'XMM15=0x10000'
cpu_name: skylake-avx512
llvm_triple: x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements: []
error: 'The benchmarking subprocess sent unexpected signal: Segmentation fault'
info: ''
assembled_snippet: 554157415641554154534989FC4989F548BF0000000000000000488D350000000048C1EE0C48C1E60C4881EE0010000048B80B000000000000000F054C8D05000000004C89E74C01C748C1EF0C48C1E70C4881C70010000048BE00F0FFFFFF7F00004829FE48B80B000000000000000F0548BF00E0FFFFFF7F000048BE001000000000000048BA030000000000000049BA01001000000000004D89E849B9000000000000000048B809000000000000000F0548BF000001000000000048BE001000000000000048BA030000000000000049BA010010000000000049B804E0FFFFFF7F0000458B0049B9000000000000000048B809000000000000000F0548BC00F0FFFFFF7F000048B8000001000000000048BB000001000000000048B9000001000000000048BA000001000000000048BE000001000000000048BF000001000000000048BD000001000000000048BC000001000000000049B8000001000000000049B9000001000000000049BA000001000000000049BB000001000000000049BC000001000000000049BD000001000000000049BE000001000000000049BF00000100000000004883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F04244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F0C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F14244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F1C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F24244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F2C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F34244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062F17E086F3C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F04244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F0C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F14244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F1C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F24244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F2C244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F34244883C4104883EC10C7042400000100C744240400000000C744240800000000C744240C0000000062717E086F3C244883C41050575648BF00E0FFFFFF7F00008B3F48BE032400000000000048B810000000000000000F055E5858F30F6F0FF30F6F06660F74C1660FDAC1660FEFC9660F74C1660FD7C04885C0F30F6F0FF30F6F06660F74C1660FDAC1660FEFC9660F74C1660FD7C04885C0F30F6F0FF30F6F06660F74C1660FDAC1660FEFC9660F74C1660FD7C04885C0F30F6F0FF30F6F06660F74C1660FDAC1660FEFC9660F74C1660FD7C04885C048BF00E0FFFFFF7F00008B3F48BE012400000000000048B810000000000000000F0548BF000000000000000048B83C000000000000000F055B415C415D415E415F5DC3
...
```
Interestingly, if you remove the line `# LLVM-EXEGESIS-DEFREG RSP 100000`, `llvm-exegesis` works correctly on my machine, generated the output
```
---
mode: inverse_throughput
key:
instructions:
- 'MOV64mr RAX i_0x1 %noreg i_0x0 %noreg R14'
config: ''
register_initial_values:
- 'RAX=0x100000'
- 'RBX=0x100000'
- 'RCX=0x100000'
- 'RDX=0x100000'
- 'RSI=0x100000'
- 'RDI=0x100000'
- 'RBP=0x100000'
- 'R8=0x100000'
- 'R9=0x100000'
- 'R10=0x100000'
- 'R11=0x100000'
- 'R12=0x100000'
- 'R13=0x100000'
- 'R14=0x100000'
cpu_name: skylake-avx512
llvm_triple: x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements:
- { key: inverse_throughput, value: 1.1839, per_snippet_value: 1.1839 }
error: ''
info: ''
assembled_snippet: 55415641554154534989FC4989F548BF0000000000000000488D350000000048C1EE0C48C1E60C4881EE0010000048B80B000000000000000F054C8D05000000004C89E74C01C748C1EF0C48C1E70C4881C70010000048BE00F0FFFFFF7F00004829FE48B80B000000000000000F0548BF00E0FFFFFF7F000048BE001000000000000048BA030000000000000049BA01001000000000004D89E849B9000000000000000048B809000000000000000F0548BF000010000000000048BE001000000000000048BA030000000000000049BA010010000000000049B804E0FFFFFF7F0000458B0049B9000000000000000048B809000000000000000F0548BC00F0FFFFFF7F000048B8000010000000000048BB000010000000000048B9000010000000000048BA000010000000000048BE000010000000000048BF000010000000000048BD000010000000000049B8000010000000000049B9000010000000000049BA000010000000000049BB000010000000000049BC000010000000000049BD000010000000000049BE000010000000000050575648BF00E0FFFFFF7F00008B3F48BE032400000000000048B810000000000000000F055E58584C89304C89304C89304C893048BF00E0FFFFFF7F00008B3F48BE012400000000000048B810000000000000000F0548BF000000000000000048B83C000000000000000F055B415C415D415E5DC3
...
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVuPqzgS_jXkxSKyjQ34IQ_hNtvaYU9P95mjvEUEnMTbXLIY-vLvVyZJ5-YBeneiPSsNigBXfS5_Liq4XCRSik3J-cygnkGDSdI226qese-82HHZTFZV9jEzbHj4wcCAcwNb4Ndff8RmuAh_CZ8fns04jM0gjEDDZYMAgcwGGBGHuJZNnL5O8fzx0AlB4lLH_iNwEEZP4S_gab4ACKpjCOiNBfpjgcFY4PPDWItjgd7j2KHHAt2RODYSh-BYIBoLxGOB1lgguQR256J6_RcwMK0RMbAPDOyqRvJuYHaAXQb_962QIK0yDmQpdjveACG7EOYZWH2AZsvBusrz6k2UG5BWRZGUmdZQnr8WJn_nGy6FBKZZVBk3rECUr7yWfNls66rdbHdtAxQqbRtRlUeQbFe7ukq5VB0PPKS5FrlSHg2bipWBIzTtbnQcfvBaiqoE1Rp80lFshASrRPIMVCV4_tscbJtmJw1rbuDIwNFGNNt2NU2rwsCR6ne4mLu6-idP1Zhq4kLd4ASt0YquMw4TzKG1ZmSd4HRFU8exaUYgXWcJzPj5I_nWNmraQmo5m6Z5fHLKF3Nwdtw6bw994R-KfXcPRCmbuk2VP-VJCgAwgYGd-NuP4Lff6wIs4hh1f1GxhO9IhUhZ1XzTNeFn08BOjwHYvQy-aODRjx_D37y63ls4npAGGT_84_dRwMW3pz0MnU4n2JeH_fYjfv67gobzRYe8BX0Pn7_bpK67V_bTfHGGSKtyLTYXj05pT4Cab4RseL0UpWhEki9fk7zlZw-rG0EZtQL43v2nbwk8ef1qv18d9KufH_p796u9x37j_Wq3V8t6tQj2q1G_GverrX416VfTPnUXZf36Xu6LOO4lv4jjXvaLOO6lv4jjIf72gN4Z0Pc-90Uc9z555Z9BBw55sP_5K8CQD_tjQAF0Xkx37bJMiu51L18-8uSFm8nrO0X4tJYum1rs8g7y7tpLm5ht-VJWb6WZi7J9NzdluweXbbGs-Y434rgE7NOCw6rCE9nWvOBl06n2efFex-u6qi-XHPWm23Kw4mW6LZL6Ra36Z6uz5GUD2pK_73iqMgSVbCe5MvHMN2qMRHEA66TNm8_ZinJdXS1s5-_HREperHKeLQ8rv8JSShB1CKI2Qd09oRZhLov87kyJ60Xw6iCuG1j01PJRGEK_u9rq6qo2RAet50LvykAEKfHdAJ5s-C4LHeJD5Dudnehgz9nb850ze6EyEHWHE-1lmEXhH47UzSC86uF9MjzNw5tD62qmzJsr2DmSBC4LXcI8dusXz4XX0k8G8MLMf8WAeS4kVzOirtdpvsLKv_Wk52qYehoZ08jm-lneyHTeCDQy_0bGNPyYhgvTcGGaeTDtGLdcmGYeTDcP1wp9BH0HEkyOWt8hqkWOqEPbvWr7x7aNI-SE0LUjZUXZ9An6823797ON7sgb3ZE3viNvfEfe1h15W3fg7dwxvp07xrdzx_h27hjfzh3j27ljfDt3jG9HE98UUofauozB9ayoW80s_DkGPKyYl6v4fnWlIXWpG1kwstUSu7_atg0jh_hIXYP5_hpGPruQO76aI_Xh_2_vXg-icR7UZ56ea_kab3sEUZ8gGhBEQ4JoRAPf2qe90-lUWw_anx_KhtdcNqLc5B8G9oFYg4-qBTUvqlfeleVyUXKguo2oniqUr8AXVTrDhuCtql8kSKu65mmTf4CqBMUHKJJ0K0quOm14yetEJftq0KqrZY0rZI2qXg2Xr2xS7KsuvXUnoLbj42sygyWZz238eVVmqCwDr2pQF0WZoarMUFlmqC4zVJgZKL0M1F6Gii9D1Zeh8stQ_WWoAPMzbK6P_ExgOB7Yh7nuX4B90IVbZ22KXIsp0Y7Xxx3w8koNDOd6y34ezf_xBvuvzfXdN9foEvsTb66vmHoaGdPI5vpZ3sh03ghuZEzDhWnGZZpxmYbzYSN9JdONe8P5z066VLxbUHP-nyYlfQnJJJtZGbNYMuEzZDPGsMscMtnOnBSz1HKxm6wgzijFbJVaPFu7ZM1tN7EmYoYhthBCBGLMLDJNKacZtBK0ShnkMDUI5EUi8ql6G0-rejMRUrZ85mDErEmerHguu2_4GJf8DXRKA2ODBpN61iUxq3YjDQJzIRt5stKIJuezy2-RWcUlKKumy3XAuqpBVZ4-d76JZtulShlfi5Jnk7bOZ1_-QNgRlAaOugn8OwAA__8E0aFt">