<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/109012>109012</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
SPEC CPU 2017 511.povray_r fails at runtime when built with clang-cl on Windows
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
pulidocr
</td>
</tr>
</table>
<pre>
Hi,
I'm trying to run SPEC CPU 2017 C/C++ benchmarks on Windows with clang-cl, but for some reason it is failing at runtime for 511.povray_r. It fails with `-clang:-O3 -clang:-ffast-math` which suggests it might be a miscompilation. Any help reducing the problem further would be appreciated - for now, I have provided a small config file.
Additional details:
- It used to work with LLVM 17 but fails with LLVM 18.
- Happens on both x64 and ARM64 Windows.
Minimal config file:
```
CC_VERSION_OPTION = ""
CXX_VERSION_OPTION = ""
CC = clang-cl.exe /TC
CLD = clang-cl.exe
CXX = clang-cl.exe /TP
CXXLD = clang-cl.exe
OBJ = .obj
PORTABILITY = /DSPEC_P64
OPTIMIZE = -clang:-O3 -clang:-ffast-math
CXXOPTIMIZE = /EHsc
```
Repro steps:
1. Obtain SPEC CPU 2017 and set it up for Windows
2. Download Visual Studio 2022 and install the "Desktop development with C++" workload.
3. Install clang/LLVM through LLVM's installer.
4. Copy and paste the above config file contents to `spec2017\config\test.cfg`
5. Open x64 Native Tools Command Prompt for VS2022
6. If clang-cl.exe is not already on PATH, `set "PATH=path\to\LLVM\bin;%PATH%`
7. `cd path\to\spec2017`
8. `shrc.bat`
9. `runcpu -a validate --rebuild --size test --iterations 1 -c test 511.povray_r`
10. Observe that the benchmark builds successfully, but fails at runtime with LLVM 18. Works with LLVM 17.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVd9v4jgQ_mvMyyhRYkiABx5oKCqndkEt1927l8pJBuKtY0e2A8v99Sc7gUKv0l4VpY37zef58c0MM4bvJeKMJHckWQxYayulZ00reKkKPchVeZo9cEIzEi1INO_eK0LHNVh94nIPVoFuJbxs7jPINn8CjeIxZIQuM0LvCL2DHGVR1Uy_G1ASvnNZqqOBI7cVFILJfVAIQjPIWws7pcGoGkEjM0oCt8AN7BgX7iZm3U2W1-iBSRyHjTpodnrTIaysx_XEJI0CT06G82A9hI-P3Y4ZG9TMViSN4FjxogLT7vdorHH31XxfWcgRGNTcFKpuuGCWKxnCXJ6gQtGAxrItfOwVQqNVLrCGXatthRqOqhWlJ2gajQVnFksIvMdSHV2kK6jYwRseeIklMDA1EwIKJXd8DzsuMLxO97wsufOACSjRuiDJcH4NCFz0rcHSFeOo9HuXhMfH1yeIx11mP3LTHU_Cs-0DaxqUvji5shX8SkfAZAnz56d0dK7XjUNPXPKa3Tj8ySOSRv3jP7Ps7fX--WW1_va23mxX628AQIYLIJS6p8P8-PEfkMPcgjL4_OMwZx2F-AuB0OW2l2v2uPgd_HL5_-LdXOCfmb_mXd_98RVvqPKfHWCzft7O71aPq-1ffUaWC9dKb5t01FNstqun1d_3Z9vf6_rs4sWyJ75_MMWX5enez9hoBcZi81lfcQjr3DL-ucudSgxa1zZt4xXeq6UzoyEs1FEKxUp45aZlAl5sW3IFNKLUW3NprJO-ayRC6QLNu1UNlHhAoZoape00288SQqnXt6PsFTkMYdWTdLmgSy9wW2nV7ju1Ezo256tQ94ajEDLVnLwbDTMWvRMsVwe8Frb726K0xvUWSSPTYOGCJ0nWoUiSWTQ2LHb7S0KTENYNSt9K35jlB4StUsJApuraXbjRqm66eff64rLR2aUhrHa3quMGpLLAhEZWnlyTbubbBzdGnDNoXdr8yXDRuOInmVUkyXzYSZZzSYZ3hCadUXLxcBw6-8KF_mF0ie2MmniUqXQR5sxejqf-WLeyaFoIGByY4CWzCEGgMW-5KCEIDP8HwWUGIAi4Re2nqIEYgqI7vx7gF-44cmIzqA-uIMz6qlxWCHh2A6YtCjRm1wpxuiwPP-KulsTNtIPvym2g68EYDsrZsJwOp2yAs3hM02QaDykdVLN4OqF5lCfT3WiH6SQup9M8TRKajFJWjMrpgM9oREfRNB7H6YhGNGRpMUFkk2Ge7lg6KcgowppxEQpxqEOl9wNuTIuzOJpGMR0IlqMwfutSKvEI_r9uzCWLgZ45oyBv94aMIsGNNR80lluBs9s-vE7kF2moUPq82dule7WNB60Ws8rarvPpktDlntuqzcNC1YQu3e39r6DR6icWltCl99kQuuyDOszovwEAAP__l1SFJA">