Don't expand a SDIV with an immediate that is a power of 2 if we optimise for minimum code size. For example:
sdiv %1, i32 4
this gets cleverly expanded to a sequence of 3 instructions: ASR, ADD (with a LSR in the addressing mode) and another ASR. But this is suboptimial for minimum code size, so instead we just generate a MOV and a SDIV.