cranelift_codegen/isa/x64/inst/unwind/
winx64.rs

1//! Unwind information for Windows x64 ABI.
2
3use crate::machinst::{Reg, RegClass};
4
5pub(crate) struct RegisterMapper;
6
7impl crate::isa::unwind::winx64::RegisterMapper<Reg> for RegisterMapper {
8    fn map(reg: Reg) -> crate::isa::unwind::winx64::MappedRegister {
9        use crate::isa::unwind::winx64::MappedRegister;
10        match reg.class() {
11            RegClass::Int => MappedRegister::Int(reg.to_real_reg().unwrap().hw_enc()),
12            RegClass::Float => MappedRegister::Xmm(reg.to_real_reg().unwrap().hw_enc()),
13            RegClass::Vector => unreachable!(),
14        }
15    }
16}