winch-codegen 0.2.0

Winch code generation library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! AArch64 register definition

use crate::isa::reg::Reg;
use regalloc2::{PReg, RegClass};

/// Construct a X-register from an index.
pub(crate) const fn xreg(num: u8) -> Reg {
    assert!(num < 31);
    Reg::new(PReg::new(num as usize, RegClass::Int))
}

/// Construct a V-register from an index.
pub(crate) const fn vreg(num: u8) -> Reg {
    assert!(num < 32);
    Reg::new(PReg::new(num as usize, RegClass::Float))
}