<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVNuOmzAQ_RryMtoITCCbBx6y3VZdqTf1_mrwAG6NTX1Jln59x8CmUVX1pRLCZsaeOTPnDLURU_UuePC9dPSyJnQ9KHUaboaGQ8Ju4QE8Oo8CjIbOiNoon7Bn4KRukJw9PyFw-CK1MGcHjRnG4NHGI1DPgXECx6dlM58Gb4P-DhbbJL1P0mPv_eiS_JiwF_R00veh3lIg-ojhpEJ7g4-jMjbG_atNOhfQ0SZnZU6wD0vk5X3quRCjg8dh2BEuWvJ1gSUlPIIcMossYXcWMzmw6-tnAgTUjjEk-f1PfUKbAdciFkQ1uKA8UO-ct1x3qCZAPTeReqeNx_lYwliWpvQGqRdDcceS4p7apcKgY7OOnUYLL0wXm-VgD8bCLRWyhTcxClfO0E2-MkUPVwoydntTS08wOkkcWTczY-YUInAFoxwRVszHz19ZUYJAJzsNwqCjxHsfKUPC5Q2Mik_b69IfNJUVGi-J-wfdmkjS4i7uMsJP31RbHt4Sf092ttpfcY-6mS72fLW__7iojGRy8e1W32s-vTJcXOzFb_sHT1RfHOXqeMndBynwedti413s-ac_yF-RXjq-IoE1K6xZYA0KVyW7S7kZEH2QblkBf4gJVjUt69NhOlqkhOYIgzn9gB9nYwWM3sYs9jZiX27srpF-iTozRJ1d1cb2NJIIOgw12SICop00BUJaKpekdpJO1gpjtHXWwBtPvDdTo5CYDdovWiFRmLaFelpExIfo2ogqF4f8wDc8-N7YauC2MSf_DTfBquofcxn_EOtyM1rzjeBcT2GRsx3b9NUecS-wZKkQbckP6aHEjAlxKMs98mbfbhSvUbmK2kLDofEMcwjaU482_49AVixlLM2yfZYWGWPbok0POdYla5oyxQKTXYoDl2ob42yN7Ta2mkPWoXPkVDRW7reTuzg7iDNgQuilV1hdfpdP2ui5gzNK4lwtQzCTt5nBVTOyX8TysyA>53242</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            llvm-mca vhaddps has weird latency 100 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          marcovtje
      </td>
    </tr>
</table>

<pre>
    Put this through llvm-mca ( I tested on godbolt, since I have a Windows computer,  but they say they have  trunk ref
https://github.com/compiler-explorer/compiler-explorer/issues/3263 )

vhaddps xmm4,xmm3,xmm3 // x im1re2+re1im2

with -mcpu=znver1 and the result is strangely enough (note the "100" in the [2] column, Agner Fog says 7 or 8). Note also that this is all 128-bit registers, so the dual pipe znver1 AVX256 design doesn't come into play.

Instruction Info:
[1]: #uOps
[2]: Latency
[3]: RThroughput
[4]: MayLoad
[5]: MayStore
[6]: HasSideEffects (U)

[1] [2] [3] [4] [5] [6] Instructions:
1 100 0.25 vhaddps xmm4, xmm3, xmm3
1 1 0.50 * movq qword ptr [r8], xmm4

With other -mcpu's te number 100 is not directly visible, but the total cycle count is also off by that amount
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9U9uOnDAM_RrmxdoRhGEuDzzMdlt1pd7U-2sgBtKGhM1lZunX1wF2drSqKqEk2Il97HNcGTGWn4IH30lHizWh7UCpU3_T1xwStod78Og8CjAaWiMqo3zCXoGTukZydvyEwOGH1MKcHdSmH4JHG69ANQXGERwf58N0G7wN-jdYbJL0LkmPnfeDS_Jjwt7Q10rfhWpNgegnhpMK7Q0-DsrYGPefNulcQEeHnG1zgn2YI8_rqeNCDA4e-35DuGjLlw3mlPAIss8ssoTdWsxkz66fnwkQUDuGkOR3f_QJbQZci1gQ1eCC8kC9c95y3aIaAfXUROqdNh6nawljWZrSClLPhuKWJcUdtUuFXsdmHVuNFt6YNjbLwQ6MhT0VsoYPMQpXztBLvjBFH1cKMra_qaQnGK0kjqybmDFTChG4gkEOCAvm4_efrNiCQCdbDcKgo8Q7HylDwuUNDIqP6-vS7zWVFWovift73ZhI0uwubjPCT_9UWx4-En9PdrbY33GPuh4v9nyxf_46q4xkcvFtFt97Pr4zXFzsxbP9iyeqL47t4njL3Rcp8HXTYO1d7Pm3F-QvSC8dX5DAkhWWLLAEhauS3aXcDIg-SNesgBdigkVN8_50ma4WKaE5Qm9OD_BwNlbA4G3MYvcR-_xic430R9SZIersoja2o5FE0KGvyBYREO2kKRDSUrkktZN0slIYoy2zBt544r0ea4XEbNB-1gqJwjQNVOMsIt5H10qUuTjkB77y0issL3P_VGTHHZxREng1szmhWAWryv8MbQyzbDeDNb8I6_WIFjnbsFVXNqKpGp6LVNQbzOrDgdW7LC-KvNkedrg5rBSvULmSekaTo_EMUwg6UwNXsmQpY2mW7bK0yBhbF016yLHasrreplhgskmx51KtI461se3KzgVWoXXkVDQx7tnJXRwLxCkdxefBd8aWPbe1OflfuJqSlxP4v34GnXo">