Looks definitely a bug, please report it, thanks!
John
On 2/4/20 10:09 AM, Rob Springer via llvm-dev wrote:> I believe there's a bug
> in InstCombiner::reassociateShiftAmtsOfTwoSameDirectionShifts(),
> illustrated by https://rise4fun.com/Alive/ne8y. I'll post a bug on the
> tracker as soon as I can get an account set up.
>
> Short form: when identifying the two shifts to combine, it does so while
> ignoring any zero-extensions of those values. In this case, the
> values are both i1 zero-extended to i3s, so when taking their sum,
> SimplifyAddInst emits an xor, causing the shift to basically disappear.
>
> I could write more, but the Alive link is probably more concise.
>
> Let me know what you think / if there's some followup needed, etc.
> Thanks!
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>