Conversions vs logical operators again it seems. GCC pushes down logical operators for widening (and nop) conversions. Looks like the same should be done for truncating conversions. I handled the nop for GCC 12 but I am not sure if I will be able to get truncating in for GCC 15 though since it is stage 3 already.