Struct cretonne_codegen::isa::registers::RegClassData [] [src]

pub struct RegClassData {
    pub name: &'static str,
    pub index: u8,
    pub width: u8,
    pub bank: u8,
    pub toprc: u8,
    pub first: RegUnit,
    pub subclasses: RegClassMask,
    pub mask: RegUnitMask,
    pub info: &'static RegInfo,
}

Data about a register class.

A register class represents a subset of the registers in a bank. It describes the set of permitted registers for a register operand in a given encoding of an instruction.

A register class can be a subset of another register class. The top-level register classes are disjoint.

Fields

The name of the register class.

The index of this class in the ISA's RegInfo description.

How many register units to allocate per register.

Index of the register bank this class belongs to.

Index of the top-level register class contains this one.

The first register unit in this class.

Bit-mask of sub-classes of this register class, including itself.

Bits correspond to RC indexes.

Mask of register units in the class. If width > 1, the mask only has a bit set for the first register unit in each allocatable register.

The global RegInfo instance containing that this register class.

Methods

impl RegClassData
[src]

[src]

Get the register class index corresponding to the intersection of self and other.

This register class is guaranteed to exist if the register classes overlap. If the register classes don't overlap, returns None.

[src]

Get the intersection of self and other.

[src]

Returns true if other is a subclass of this register class. A register class is considered to be a subclass of itself.

[src]

Get the top-level register class containing this class.

[src]

Get a specific register unit in this class.

[src]

Does this register class contain regunit?

Trait Implementations

impl Display for RegClassData
[src]

[src]

Formats the value using the given formatter. Read more

impl Debug for RegClassData
[src]

[src]

Formats the value using the given formatter. Read more

impl PartialEq for RegClassData
[src]

Within an ISA, register classes are uniquely identified by their index.

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

1.0.0
[src]

This method tests for !=.

Auto Trait Implementations

impl Send for RegClassData

impl Sync for RegClassData