<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/137332>137332</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang++-20 incorrect instruction encoding for VPDPBUSD on znver5 (only)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    Steps to reproduce:

1. git clone https://github.com/official-stockfish/Stockfish.git
2. cd stockfish/src
3. Apply this patch to force `march=znver5`

```
diff --git a/src/Makefile b/src/Makefile
index 76b94785..f65f6f90 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -626,7 +626,7 @@ endif
 ### 3.3 Optimization
 ifeq ($(optimize),yes)
 
-       CXXFLAGS += -O3 -funroll-loops
+ CXXFLAGS += -O3 -funroll-loops -march=znver5 -mtune=znver5
 
        ifeq ($(comp),gcc)
                ifeq ($(OS), Android)
```

4. Compile with `make build ARCH=x86-64-vnni512 COMP=clang CXX=clang++-20 CC=clang-20 LD=ldd-20`
5. Run the binary on a Zen5 system, type `go infinite`
6. Program crashes in:

=> 0x00005555555b73ae <+5998>:  {vex} vpdpbusd 0xc580(%rcx),%ymm0,%ymm1

If I have to guess, due to some issue with AVXVNNI vs VNNI512 encoding. This does not happen if you target znver4.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMVF9v2zYQ_zTnl4MEmtTfBz3Idr0FaJug2YJgbxRFSVwkUiMpz-6nH2g5aZsVw4gDeOTx7n68f9w51WspK0h3kB42fPGDsVUv5k1j2kv16OXs0Bu0cramXYQEVgMJtI2xVx7FaLTEwfvZBRE9Aj32yg9LEwszAT2arlNC8TFy3oiXTrkB6PHxlY975YHUNEbR4vcvnBVAahZjPc_jBf2gHM7ciyGg6YwVEiEjE7diAHb4qk_SppCRFVtgViJ1q7oOoyhg5Te79PiJv8hOjRKbf10BqZVu5RnzrCmTvEjjuMvSLutKgltCsiQBUkdR9BNrwTPdrfRzy5AQSAhGGc2A7nMEuntjV5HUreqA1AiUrYQsZng_ezWpr9wro4NUdfIvBFoATYAWZpVKoCXQ_UW6wAQbpI5wXfvn5-PH-pfH4BLYAaN7hlG3aGvGMRqNmd2K_n88xOjHsGM0-UXLb2lYPd8cv4MqzDSvMHshbjDfrR8V7h_X51jr1hrVrjrfZxhIncS4N9McMvq38sNaGi8Sm0WNLdZf9r8CO5yLLMqS6KS1SrcU9_efHoAdxMh1H379yq_5iyjB_f71Lpw-HoAdxraN6M1vGuOXRaMfJDZKc3tBo5HjH1Kn6C7OyynA9pf5Wqq9QaU7pZWXq3oW44M1veUTCsvdIB0q_dZewA7APiA5E0JIuq4mZ1wisD3QXVqWBbAPwGpEyHcneYb8gKe5nZvFtUjOIi3INYipFec1hEDTyzSRN267urrr8A4HfpKhtfpFOhdwt8v17MwkUTm33CJbPz0_ff58hyeHYQ-BlFqYVuk-xt9Cl7ZGOtTG48DnWWpUHV7Mgp7bXnq8lkgSb9qKtSUr-UZW2zxJ06IoynwzVLnMGSeEku02T2na5kXLiMxyXpRJ2pXNRlWU0JQkNN2ypNjmMae0k62QZUG7JMtLSIicuBrjcTxNsbH95gq_2rKcMboZeSNHdx14lN4STsPss1VQiJqld5CQUTnvvpnwyo-yelcfSgtjrRQelXbeLiJ051s4wpTCp4fDw-73x0MojVu3hH7V4wVouVnsWP3H6Azeb1s0W_OnFB7o8fobB_R4-9Cpov8EAAD__0fstMs">