Since the lowering of `imul` complicated the other ALU operations it was matched with and since future commits will alter the multiplication lowering further, this change moves the `imul` lowering to its own match block.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.