<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/156251>156251</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
_BitInt division with -Oz produces much larger code than -O0, and compiles slow
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
neldredge
</td>
</tr>
</table>
<pre>
Using Clang 21.1.0 targeting x86_64-pc-linux-gnu and the following program:
```
typedef unsigned _BitInt(8192) T;
T div(T a, T b) {
return a/b;
}
```
Using `-Oz` produces much larger code than with `-O0` (and also takes a long time to compile).
```
nate@tractrix /tmp $ time clang -c -Oz -std=c23 -target x86_64-pc-linux-gnu bitint.c
real 0m13.015s
user 0m12.935s
sys 0m0.043s
nate@tractrix /tmp $ size bitint.o
text data bss dec hex filename
975795 0 0 975795 ee3b3 bitint.o
nate@tractrix /tmp $ time clang -c -O0 -std=c23 -target x86_64-pc-linux-gnu bitint.c
real 0m0.172s
user 0m0.143s
sys 0m0.027s
nate@tractrix /tmp $ size bitint.o
text data bss dec hex filename
138973 0 0 138973 21edd bitint.o
```
With `_BitInt(65536)`,`-Oz` didn't finish after 5 minutes, while every other level including `-Os` and `-O3` completed in about 20-30 seconds.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8lE2L8zYQxz-NchlsZCl-0cGHPLsEenouW3p8kK2JrVaWgjROsvvpixK3-0JpKYVCIPL8PZ6ZH5q_TslOHrFn9TdWP-_0SnOIvUdnIpoJd0Mwr_3PyfoJnpz2E4iqrEoOpOOElMO3rvnR7IvzWDjr11sx-RW0N0Azwik4F675rXMMU9QLkwfGD6zh248f6PWMBk-w-nsnBn58s_STJya6rlKCCQUvTH7LWfzwAsZemOheQDPxBC8wZJ21WQYAiEhr9Fk8DltS-_yl4GMY1vDi-xtreO7MrCMmWNZxBpfnijAGg0Cz9nC1ND_ezvnARJeH0y4FIP0bJtDggp-A7IJAAcawnK1DJlT5pbDXhGzPKeqRor0BE0dazsDE_pE83vkWIxTf36BIZJh8HoWE4sH6L0EPlqyncoQHn4jaMa74UsmSV3Vi_LAmjI-QKJW8h9Jrukd4yfcy_X1nyb7hH1XCgzLhjRhXAGA06ccJhpS2k8FxO814Y1ydrEOvF8zJqq1bVW8yAP98-qAiykEyrj5U_hf4-H_Fx8uqFZ_o8bJ6sPoAT7T_K7xKdqrNUL5yexdAVGjMZ24fr-Av22V-37GmrmXDhMq6eHrfCmONZ6IlOFlv0wz6RBihhsX6lTDl7bvO1iHgBeMrBJoxgsMLOrB-dKv5c8lS_lzemfuTzE95RxwSGrAe9BBWAsELySHhGLxJ5c700iip9A77qq2bpu54U-3mHoXcj6KWahhVdzqNSunO1EPT6lYpbMzO9oKLmneyqhq5F1XZdI2SSp5a2aLkhrM9x0VbVzp3WcoQp51NacW-qhtRVzunB3TpbodCeLzCXWVCZHeMfU4qhnVKbM-dTZTeP0OWHPYb2exTNtmw-Ufe6H_wmewv4ukOarOQBMmF626Nrp-Jzil7pzgycZwszetQjmFh4pjrb3_FOYZfcSQmjveuExPHbaxLL34PAAD__3gow_8">