[machinst x64]: calculate extension modes in one place

This commit is contained in:
Andrew Brown
2020-09-28 12:54:53 -07:00
parent eb650f6fe0
commit 4484a00ea5
3 changed files with 31 additions and 36 deletions

View File

@@ -226,12 +226,8 @@ impl ABIMachineSpec for X64ABIMachineSpec {
from_bits: u8,
to_bits: u8,
) -> Self::I {
let ext_mode = match from_bits {
1 | 8 => ExtMode::BQ,
16 => ExtMode::WQ,
32 => ExtMode::LQ,
_ => panic!("Bad extension: {} bits to {} bits", from_bits, to_bits),
};
let ext_mode = ExtMode::new(from_bits as u16, to_bits as u16)
.expect(&format!("invalid extension: {} -> {}", from_bits, to_bits));
if is_signed {
Inst::movsx_rm_r(ext_mode, RegMem::reg(from_reg), to_reg, None)
} else {