This fixes a complication on top of D87276. If we are sext-ing around a mul with the two operands that are the same, instcombine will helpfully convert one of the sext to a zext. Reverse that so that we again generate a reduction.
It could probably be done either way, but this seemed simpler when I wrote it. I was trying to keep the functions cleaner. Otherwise they will have to start looking backwards from the mul (which has two operands the same) up to the extend to check it's type.