pub mod nvptx_asm_printer;
pub mod nvptx_instr_info;
pub mod nvptx_isel;
pub mod nvptx_isel_full;
pub mod nvptx_mc_encoder;
pub mod nvptx_register_info;
pub mod nvptx_target_machine;
pub mod nvptx_x86_bridge;
pub use nvptx_asm_printer::NvptxAsmPrinter;
pub use nvptx_instr_info::{NvptxInstrDesc, NvptxInstrInfo, NvptxOpcode, NvptxOperandType};
pub use nvptx_isel::NvptxInstructionSelector;
pub use nvptx_isel_full::{
CcPattern, ComputeCapability, NvptxFullInstructionSelector, PtxAddrSpace, PtxAtomicOp, PtxType,
};
pub use nvptx_mc_encoder::NvptxMCEncoder;
pub use nvptx_register_info::{NvptxRegClass, NvptxRegisterInfo};
pub use nvptx_target_machine::NvptxTargetMachine;
pub const NVPTX_ADDRESS_SIZE: u32 = 64;
pub const NVPTX_WARP_SIZE: u32 = 32;
pub const NVPTX_MAX_THREADS_PER_BLOCK: u32 = 1024;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_nvptx_constants() {
assert_eq!(NVPTX_ADDRESS_SIZE, 64);
assert_eq!(NVPTX_WARP_SIZE, 32);
assert_eq!(NVPTX_MAX_THREADS_PER_BLOCK, 1024);
}
}