<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/135917>135917</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[CodeGen] Miscompilation at -Os
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:codegen,
miscompilation
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
dtcxzyw
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
Reproducer:
```
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@j = global i32 0
@r = global ptr @j
@i = global i1 false
@.str = constant [4 x i8] c"%d\0A\00"
define i32 @main() {
entry:
%0 = icmp eq i8 0, 0
br i1 %0, label %for.body.i.i, label %n.exit.i
for.body.i.i: ; preds = %entry
store i1 true, ptr @i, align 4
br label %n.exit.i
n.exit.i: ; preds = %for.body.i.i, %entry
%1 = load ptr, ptr @r, align 8
%2 = load i1, ptr @i, align 4
%broadcast.splatinsert2 = insertelement <4 x i1> zeroinitializer, i1 %2, i64 0
%3 = xor <4 x i1> %broadcast.splatinsert2, splat (i1 true)
%not.broadcast.splat3 = shufflevector <4 x i1> %3, <4 x i1> zeroinitializer, <4 x i32> zeroinitializer
%4 = zext <4 x i1> %not.broadcast.splat3 to <4 x i32>
%5 = extractelement <4 x i32> %4, i64 0
%6 = extractelement <4 x i32> %4, i64 1
br label %vector.body
vector.body: ; preds = %vector.body, %n.exit.i
%spec.select = select i1 false, i32 0, i32 %5
store i32 %6, ptr %1, align 4
%7 = icmp eq i32 0, 0
br i1 %7, label %o.exit, label %vector.body
o.exit: ; preds = %vector.body
%8 = load i32, ptr @j, align 4
%call1 = tail call i32 (ptr, ...) @printf(ptr @.str, i32 %8)
ret i32 0
}
declare i32 @printf(ptr, ...)
```
```
> bin/llubi reduced.ll
0
> bin/lli reduced.ll
1
```
llvm version: ece10a64cb180ba931b60cbd939d80412973eada
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVt1y6yYQfhp8w0iDAP34QhdKctKrTmfaB-ggtHZIMaiAcpw8fQckOZad0556NPKyLN9-LLuLhPfqaABaVD4gSocgzx_v3xGlqHzaiSm8WNcuyl1vh_f2dxidHSYJDrEOkQ5VZHlIF4Q7QsCDCEKLdzsFjNgTRpRCdkKsg2ykNUGsYzS94rDYDqNU8fTK1EUoaINYV9AmOzRkkUxSVevyimd_RDNKP3kEp0YNK4dzU_1Z8Wwyfxn73WRamemcHc00L4kPJ6_J-KhtLzRWjGIy6921fgwOR9t5Sm2WFPggtId5KvdhXiit8UGYgFH5wPEZqwaVT1hGz7QcUPlIuvgiFyoDHJSBxABxchLKoLi3PUb1AyIdmODe5_BjjGhJkhclTyOGv7FqMEH0MXHHuHeRVTSKOi160HF0sC6P55mrXG0mTA5nFXI1E9mYsQ4j9oBHB4NfolrOVKIjH6yD6Cu4CSLkEqcEL7Q6GsxXRj_wdhmxDv_s747R7c42JBEti2SorRgiwyui7pNosxrTT2NV_NumEC17Z8UghQ-5H7UIynhwYQaYZdBwgpgF7DFlQYHYN_wBziqjghJafUDiMJ8XTWLFl3NEtGQJ62zdFuGHriNAGmNEm8vB7Fc4Y0N-s3D24F-mw0HDG8jwhS-WgvofW1jnY23eGywEePL2Aedw5-RLbsFucVecMuHAOTgh74I8M4je7uJZ_b91xV32zhFK2TYn8LXiZ3P4LoGvQeb8vaqSRNyPIHMPGuTcYRfx0n0i4dS8FiHGKK5dSnTWVJd0pmXxRTrX26ay4t10lXrTPGwiulHdxWix-aqZbG0Ti-aqABm9qsDXLyhLofVc3kEojeNw2W2zlHqe56mNcjI6ZcJhnsFLs76KV7MWioPweRPUT2t_llq4S4O-xvr0cnM5bmT2DfexqT9rPfUKO4g36pBrjUh3a3AzXdxgaf12wm_gvLImRhUkFERUXPZFQ3qxZ0VfEdkPe7YfGsILuq8ZiEEg0u2GlkW92EFb1JzXDeOc7F5axmrB5GEoB8IpG2pWlHLPq1rIw56TotqplhJaEl5UpCKckPxQNbWsKlbVpKYVp4gTOAml80gvt-64U95P0Bas3Bf1LqWHXz46oglinbQDHMGkW_ERUXpSXtrTqGJDs2b5JHFttM766egRJ1r54D9dBBV0-pJ5tAP8Aibesr9uULAIOPvN7yan25cQRh9vUfqM6PNRhZepz6U9paC_rX_Z6OwryIDoc9qBR_R52cRbS_8JAAD__zKCmDg">