This unifies the logic around Rex prefix emission and hopefully makes REX prefix errors less likely. There are still several instructions that use other sources to determine the flags, so set_w and clear_w are left as is. Additional cleanups: * Change always_emit_if_8bit_needed to take a Reg instead of a u8 for type safety. * Deduplicated emission code in MovRM.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.