On Mon, Aug 7, 2017 at 12:12 PM, Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > + // replace (A << S) >> S > + // by A & (-1 >> S) Umm. This seems misleading. Don't you mean "value of all ones of the same size as A, shifted right by S" > + insn->src2 = value_pseudo(-1ULL >> value); ..and this seems buggy. There's a lot of bits in -1ULL, but what if the size of 'S' is only 32-bit? So I think you should take the size of A into account? Or am I missing something? Linus -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html