pub mod systemz_instr_info;
pub mod systemz_isel;
pub mod systemz_isel_full;
pub mod systemz_mc_encoder;
pub mod systemz_mc_encoder_full;
pub mod systemz_register_info;
pub mod systemz_target_machine;
pub mod systemz_x86_bridge;
pub use systemz_instr_info::{SystemzInstrDesc, SystemzInstrInfo, SystemzOpcode};
pub use systemz_isel::SystemzInstructionSelector;
pub use systemz_mc_encoder::SystemzMCEncoder;
pub use systemz_register_info::{
SystemzRegister, SystemzRegisterInfo, SZ_AR_COUNT, SZ_FPR_COUNT, SZ_GPR_COUNT,
};
pub use systemz_target_machine::SystemzTargetMachine;
pub const SZ_POINTER_SIZE: u32 = 8;
pub const SZ_ENDIANNESS: &str = "big";
pub const SZ_STACK_ALIGNMENT: u32 = 8;
pub const SZ_RED_ZONE_SIZE: u32 = 160;
pub const SZ_PAGE_SIZE: u32 = 4096;
pub const SZ_MAX_INSTR_SIZE: u32 = 6;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_systemz_constants() {
assert_eq!(SZ_POINTER_SIZE, 8);
assert_eq!(SZ_ENDIANNESS, "big");
assert_eq!(SZ_STACK_ALIGNMENT, 8);
assert_eq!(SZ_RED_ZONE_SIZE, 160);
assert_eq!(SZ_PAGE_SIZE, 4096);
assert_eq!(SZ_MAX_INSTR_SIZE, 6);
}
}