Despite sounding weird, the multiplication without division is actually very helpful for low cost and resource constrained MCUs/soft-CPUs. Even utilizing the `mno-div` complication flag, division can still occur in precompiled binaries that are linked (because the linker looks at the -march setting). By standardizing the use of multiplication without division we can avoid dealing with this.
As a side note, I ran into this exact problem in a work project last year and needed to implement software division in an illegal instruction handler to get around it.