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