pub mod powerpc_x86_bridge;
pub mod ppc_asm_printer;
pub mod ppc_instr_info;
pub mod ppc_isel;
pub mod ppc_isel_full;
pub mod ppc_mc_encoder;
pub mod ppc_register_info;
pub mod ppc_subtarget_full;
pub use ppc_asm_printer::PpcAsmPrinter;
pub use ppc_instr_info::{PpcInstrDesc, PpcInstrInfo, PpcOpcode, PpcOperandType};
pub use ppc_isel::PpcInstructionSelector;
pub use ppc_isel_full::{
PpcFullInstructionSelector, PpcMachineInstrExt, VsxElementType, VsxLoadStoreOp,
VsxPermuteOp, VsxPattern, VsxReductionOp, MmaAccTile, MmaOuterType, MmaPattern,
MmaInterLane, PrefixType, PrefixInstrDesc, DfpRoundingMode, DfpTestGroup,
DfpClassTest, BfpConvertOp, VleFormat,
};
pub use ppc_mc_encoder::PpcMCEncoder;
pub use ppc_register_info::{
PpcRegClass, PpcRegisterInfo, PPC_FPR_BASE, PPC_FPR_COUNT, PPC_GPR_BASE, PPC_GPR_COUNT,
PPC_MAX_REG_ID, PPC_VR_BASE,
};
pub use ppc_subtarget_full::{
PpcAbi, PpcCpu, PpcFeatureSet, PpcSchedModel, PpcSubtargetDb,
PpcSubtargetFull, PpcTuningFlags,
};
pub const PPC_ENDIANNESS: &str = "big";
pub const PPC_STACK_ALIGNMENT: u32 = 16;
pub const PPC_RED_ZONE_SIZE: u32 = 288;
pub const PPC_PAGE_SIZE: u32 = 4096;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_ppc_constants() {
assert_eq!(PPC_ENDIANNESS, "big");
assert_eq!(PPC_STACK_ALIGNMENT, 16);
assert_eq!(PPC_RED_ZONE_SIZE, 288);
assert_eq!(PPC_PAGE_SIZE, 4096);
}
}