Do canonicalisation on cases similar to below also profitable,
except on cases in "shift-or/xor/and/add-shift" context.
define i32 @test(i32 %v) {
entry:
%a = and i32 %v, 65534 %b = lshr i32 %a, 1 %c = and i32 %v, 65535 %d = lshr i32 %c, 1 %e = add i32 %b, %d ret i32 %e
}