pub mod hexagon_asm_printer;
pub mod hexagon_instr_info;
pub mod hexagon_isel;
pub mod hexagon_isel_full;
pub mod hexagon_mc_encoder;
pub mod hexagon_register_info;
pub mod hexagon_x86_bridge;
pub use hexagon_asm_printer::HexagonAsmPrinter;
pub use hexagon_instr_info::{
HexagonInstrDesc, HexagonInstrInfo, HexagonOpcode, HexagonOperandType,
};
pub use hexagon_isel::HexagonInstructionSelector;
pub use hexagon_mc_encoder::HexagonMCEncoder;
pub use hexagon_register_info::{
HexagonRegClass, HexagonRegisterInfo, HEXAGON_GPR_BASE, HEXAGON_GPR_COUNT, HEXAGON_MAX_REG_ID,
HEXAGON_PRED_BASE, HEXAGON_VEC_BASE,
};
pub const HEXAGON_ENDIANNESS: &str = "little";
pub const HEXAGON_STACK_ALIGNMENT: u32 = 8;
pub const HEXAGON_RED_ZONE_SIZE: u32 = 0;
pub const HEXAGON_PAGE_SIZE: u32 = 4096;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_hexagon_constants() {
assert_eq!(HEXAGON_ENDIANNESS, "little");
assert_eq!(HEXAGON_STACK_ALIGNMENT, 8);
assert_eq!(HEXAGON_RED_ZONE_SIZE, 0);
assert_eq!(HEXAGON_PAGE_SIZE, 4096);
}
}