<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">