<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63877>63877</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLVM MCA does not match uops.info/Agner measurements
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
SeeSpring
</td>
</tr>
</table>
<pre>
According to uops.info and Agner these instructions all have a throughput of 0.50 on Zen 4
```
vminps %ymm0, %ymm1, %ymm2
vfmadd213ps %ymm0, %ymm1, %ymm2
vcmpltps %ymm0, %ymm1, %ymm2
```
llvm-mca claims they have a RThroughput of 1.00
[Godbolt of llvm-mca](https://godbolt.org/#g:!((g:!((g:!((h:codeEditor,i:(filename:'1',fontScale:14,fontUsePx:'0',j:1,lang:analysis,selection:(endColumn:1,endLineNumber:1,positionColumn:1,positionLineNumber:1,selectionStartColumn:1,selectionStartLineNumber:1,startColumn:1,startLineNumber:1),source:'vminps++++++++%25ymm0,+%25ymm1,+%25ymm2%0Avfmadd213ps+++%25ymm0,+%25ymm1,+%25ymm2%0Avcmpltps++++++%25ymm0,+%25ymm1,+%25ymm2'),l:'5',n:'0',o:'Analysis+source+%231',t:'0')),k:37.5,l:'4',n:'0',o:'',s:0,t:'0'),(g:!((h:compiler,i:(compiler:llvm-mcatrunk,deviceViewOpen:'1',filters:(b:'0',binary:'1',binaryObject:'1',commentOnly:'0',debugCalls:'1',demangle:'0',directives:'0',execute:'1',intel:'1',libraryCode:'0',trim:'1'),flagsViewOpen:'1',fontScale:14,fontUsePx:'0',j:2,lang:analysis,libs:!(),options:'--mcpu%3Dznver4',overrides:!(),selection:(endColumn:1,endLineNumber:1,positionColumn:1,positionLineNumber:1,selectionStartColumn:1,selectionStartLineNumber:1,startColumn:1,startLineNumber:1),source:1),l:'5',n:'0',o:'+llvm-mca+(trunk)+(Editor+%231)',t:'0')),k:62.5,l:'4',m:100,n:'0',o:'',s:1,t:'0')),l:'2',m:100,n:'0',o:'',t:'0')),version:4)
<details>
<summary>Version</summary>
```
LLVM (http://llvm.org/):
LLVM version 17.0.0git
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: skylake-avx512
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_32 - AArch64 (little endian ILP32)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
arm64_32 - ARM64 (little endian ILP32)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
loongarch32 - 32-bit LoongArch
loongarch64 - 64-bit LoongArch
mips - MIPS (32-bit big endian)
mips64 - MIPS (64-bit big endian)
mips64el - MIPS (64-bit little endian)
mipsel - MIPS (32-bit little endian)
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc32le - PowerPC 32 LE
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
riscv32 - 32-bit RISC-V
riscv64 - 64-bit RISC-V
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
ve - VE
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore
Compiler returned: 0
```
</details>
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWF9v4roS_zThxQIlDgnhgQca2t1K7S5qu73ovBw5yRB86tiR7VDYT3_lxAkJhW7vvW93hbZ45vebGc-f2IEoRXMOsHCCGydYjUild0IungGeS0l5PkpEdlws01TIjPIcaYEqUaoJ5VuBCM_QMucgkd6BAkS50rJKNRVcIcIY2pE9IIL0Tooq35WVRmKL3EngIsHRX8DR1HFXjrt0Qtd-6uW-oLxUyMHBsShcB8f2q3f6ii1yW5Asw55fKoS-REiLkumvGT-LirF9MS5SglJGaKHMno_tDp9eBlv0Jq4lOcHNN5ElgtXy1oQTrBwc7bQuleMvHXzn4Lu8gU2EzGuBn9cqz8GRg6Pri53jL1ORwW1GtZAOjmmtjbaUAScF1KuZ5-CZg-Ot4Po5JcxIvakV_FKwPjQwt4H9Y9QOjhnhxhfhhB0VVQ6OFTCoC9w4AZ7FglUFtwTg2QPl8KMqEpBWVgpFDWMAbIUf0J2DZ02kHnCGqo_Mj4RLuLlRiEqmNjNNszn45son6Bqlt_SGS-zgYNCM_x3f9ub_EMWs2R9rthY01eSD2opmtexqemOz0RjybafoPmnemH1z_KU_mwQnD9NPPDQL0-DuBXvx5T4uSsqg18WdxO_mT8uKvzk4zmBPU3il8P6zBD5sc8o0yGa2omQQXEI5kccBuhH9TP6BVA8UqSgK4PonZ8eBjQySKo8JY2oAz6AgPGcwxFJpmnYPaiCGA6SVHg4n5RrYQMJoIok8xiIbGtWSFn2gyeeWkVxdzsbXhx5fHHpGE9UrlfEmyvop3xgYj4u0rBwc-KvffA_SdoXYg5Q0g3Pu_9kzxPvyzDn4pjsBzLRFtpXnzap9gndzOP98FEN8YRRNX3iu--eh9K5Ytubwf2Dukpk9SNWUeGoEzWHY_O_HGWhCzfTcdiJVFUU9mLevLTN28N1JPDAxPJkfHl4fkT1Qu_PUZLo7TOdGXGMRqtE2POTNJu7EzalutT9LTQv6GzKUVJRlEytfwZZUTCNNZA5mv-gQhX-H03HF37h452NGeXUY57xqDX0XSqN4_ctg1duRkTcYk_0h8HB_Jwg9QU6VBgkZeqmNq16sCBEi0104NV_RGC2XzcrBEaNaM0DAM0p4l-Ie5W8ff0ZB9w9rH5-ILSuBM1ZC84teiixPOWoDe1yhb_EP9G39S7UGZYHaf2O0fHrscWVht2RVf9ySIZgNXUOf76bhQNJ3cm0zZC_7geoCGFq-PqFHmkqRCq6lYOYI6iwn5bZHuFnf1c1n6n0h9KTc9sKw4Cs5NVh2jr2elR0cSC64hX9vVic1I5zQztqDWVklE4Lnpt51Rn08TqhGD0Zoyt6z0OLCKRqjcHoRV9D68m3dPN6vn03U1uiVjRpO2wEnjnXwKafJzwfO9SQZWpvUD-F9QlPl1Hc72vParJzgBg4lSGquBYSZa3xD4PtSH7oc_Hi9X90v0fplY3N7MlsDu3HuAZt9WGBZpmZ4LWot3kGuY-Tjk50aweADAj3cDkB14Vp1OD3TfTAQTgcGZOi6vckwM77-pdD3Fd5sNuPvq3Cz2fTQVKV7G3fXVU_3z_H49QzUJcBW7xykSiLTzu-zWZ0pbUWt8hR0rdzPB8rXXlnVUWkofrf6evXXSa13VXEa1hezOlPaWbbKT2Z5D6j3kHhtA3wnqmhrO0b_gmSpFBQJO35oFYM8zUgfOeiVQxT2_Nisb6LQnDtr4JpWxXgtm5d1kog9nDwconB88mBrYam3j-H0pXnDf1z1G-eQCgmdv00spLUY26s6kqArySEzZtyLB3Zztp9uAaNs4Wdzf05GsPDCaO7P5lEQjHYLb4vnAd4G2wxHWxxN_VmGgyiNprM09LIoGdEFdrHvzrzAdT03CCZznKZJikMv9bw0m86dqQsFoWzS3gdGVKkKFqEfzWYjRhJgqv7xA2MO76hWOhg7wWokF_VtLaly5UxdRpVWJyuaagaL-i7xGC9RJkAhLjQqiE53p99IHHzX_EJSAFGVBPPgUKNKssXZ2z_VuyqZpKKwVxf7Z1xKUb-X4Ls6NOXguzr0fwcAAP__GTbycw">