<div dir="ltr">Hi Devs,<br><div>I am looking at the bug </div><div><a href="https://bugs.llvm.org/show_bug.cgi?id=43953" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=43953</a> </div><div> <br></div><div>and found that following piece of ir </div><div><br></div><div> %arrayidx = getelementptr inbounds float, float* %Vec0, i64 %idxprom<br>  %0 = load float, float* %arrayidx, align 4, !tbaa !2<br>  %arrayidx2 = getelementptr inbounds float, float* %Vec1, i64 %idxprom<br>  %1 = load float, float* %arrayidx2, align 4, !tbaa !2<br>  %sub = fsub fast float %0, %1<br>  %add = fadd fast float %sum.0, %sub<br></div><div><br></div><div>is transformed into </div><div><br></div><div>%arrayidx = getelementptr inbounds float, float* %Vec0, i64 %idxprom<br>  %0 = load float, float* %arrayidx, align 4, !tbaa !2<br>  %arrayidx2 = getelementptr inbounds float, float* %Vec1, i64 %idxprom<br>  %1 = load float, float* %arrayidx2, align 4, !tbaa !2<br>  %.neg = fsub fast float -0.000000e+00, %1<br>  %sub = fadd fast float %0, %sum.0<br>  %add = fadd fast float %sub, %.neg<br></div><div><br></div><div>which again by instcombiner transformed into</div><div><br></div></div>