1 //! Implementations for various PowerPC architectures. 2 3 use crate::arch::Arch; 4 use crate::arch::RegId; 5 6 pub mod reg; 7 8 /// Implements `Arch` for 32-bit PowerPC + AltiVec SIMD. 9 /// 10 /// Check out the [module level docs](../index.html#whats-with-regidimpl) for 11 /// more info about the `RegIdImpl` type parameter. 12 pub enum PowerPcAltivec32<RegIdImpl: RegId> { 13 #[doc(hidden)] 14 _Marker(core::marker::PhantomData<RegIdImpl>), 15 } 16 17 impl<RegIdImpl: RegId> Arch for PowerPcAltivec32<RegIdImpl> { 18 type Usize = u32; 19 type Registers = reg::PowerPcCommonRegs; 20 type RegId = RegIdImpl; 21 target_description_xml() -> Option<&'static str>22 fn target_description_xml() -> Option<&'static str> { 23 Some( 24 r#"<target version="1.0"><architecture>powerpc:common</architecture><feature name="org.gnu.gdb.power.core"></feature><feature name="org.gnu.gdb.power.fpu"></feature><feature name="org.gnu.gdb.power.altivec"></feature></target>"#, 25 ) 26 } 27 } 28