1use std::fmt;
2
3use rustc_data_structures::fx::FxIndexSet;
4use rustc_span::Symbol;
5
6use super::{InlineAsmArch, InlineAsmType, ModifierInfo};
7use crate::spec::{Abi, RelocModel, Target};
8
9#[allow(non_camel_case_types)]
pub enum PowerPCInlineAsmRegClass {
reg,
reg_nonzero,
freg,
vreg,
vsreg,
cr,
ctr,
lr,
xer,
spe_acc,
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::marker::Copy for PowerPCInlineAsmRegClass { }
#[automatically_derived]
#[doc(hidden)]
#[allow(non_camel_case_types)]
unsafe impl ::core::clone::TrivialClone for PowerPCInlineAsmRegClass { }
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::clone::Clone for PowerPCInlineAsmRegClass {
#[inline]
fn clone(&self) -> PowerPCInlineAsmRegClass { *self }
}
const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for PowerPCInlineAsmRegClass {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
PowerPCInlineAsmRegClass::reg => { 0usize }
PowerPCInlineAsmRegClass::reg_nonzero => { 1usize }
PowerPCInlineAsmRegClass::freg => { 2usize }
PowerPCInlineAsmRegClass::vreg => { 3usize }
PowerPCInlineAsmRegClass::vsreg => { 4usize }
PowerPCInlineAsmRegClass::cr => { 5usize }
PowerPCInlineAsmRegClass::ctr => { 6usize }
PowerPCInlineAsmRegClass::lr => { 7usize }
PowerPCInlineAsmRegClass::xer => { 8usize }
PowerPCInlineAsmRegClass::spe_acc => { 9usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
PowerPCInlineAsmRegClass::reg => {}
PowerPCInlineAsmRegClass::reg_nonzero => {}
PowerPCInlineAsmRegClass::freg => {}
PowerPCInlineAsmRegClass::vreg => {}
PowerPCInlineAsmRegClass::vsreg => {}
PowerPCInlineAsmRegClass::cr => {}
PowerPCInlineAsmRegClass::ctr => {}
PowerPCInlineAsmRegClass::lr => {}
PowerPCInlineAsmRegClass::xer => {}
PowerPCInlineAsmRegClass::spe_acc => {}
}
}
}
};
const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for PowerPCInlineAsmRegClass {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { PowerPCInlineAsmRegClass::reg }
1usize => { PowerPCInlineAsmRegClass::reg_nonzero }
2usize => { PowerPCInlineAsmRegClass::freg }
3usize => { PowerPCInlineAsmRegClass::vreg }
4usize => { PowerPCInlineAsmRegClass::vsreg }
5usize => { PowerPCInlineAsmRegClass::cr }
6usize => { PowerPCInlineAsmRegClass::ctr }
7usize => { PowerPCInlineAsmRegClass::lr }
8usize => { PowerPCInlineAsmRegClass::xer }
9usize => { PowerPCInlineAsmRegClass::spe_acc }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `PowerPCInlineAsmRegClass`, expected 0..10, actual {0}",
n));
}
}
}
}
};
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::fmt::Debug for PowerPCInlineAsmRegClass {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
PowerPCInlineAsmRegClass::reg => "reg",
PowerPCInlineAsmRegClass::reg_nonzero => "reg_nonzero",
PowerPCInlineAsmRegClass::freg => "freg",
PowerPCInlineAsmRegClass::vreg => "vreg",
PowerPCInlineAsmRegClass::vsreg => "vsreg",
PowerPCInlineAsmRegClass::cr => "cr",
PowerPCInlineAsmRegClass::ctr => "ctr",
PowerPCInlineAsmRegClass::lr => "lr",
PowerPCInlineAsmRegClass::xer => "xer",
PowerPCInlineAsmRegClass::spe_acc => "spe_acc",
})
}
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::Eq for PowerPCInlineAsmRegClass {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::marker::StructuralPartialEq for PowerPCInlineAsmRegClass { }
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::PartialEq for PowerPCInlineAsmRegClass {
#[inline]
fn eq(&self, other: &PowerPCInlineAsmRegClass) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::cmp::PartialOrd for PowerPCInlineAsmRegClass {
#[inline]
fn partial_cmp(&self, other: &PowerPCInlineAsmRegClass)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::PartialOrd::partial_cmp(&__self_discr, &__arg1_discr)
}
}
#[automatically_derived]
#[allow(non_camel_case_types)]
impl ::core::hash::Hash for PowerPCInlineAsmRegClass {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}
const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for PowerPCInlineAsmRegClass where __CTX: crate::HashStableContext
{
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
PowerPCInlineAsmRegClass::reg => {}
PowerPCInlineAsmRegClass::reg_nonzero => {}
PowerPCInlineAsmRegClass::freg => {}
PowerPCInlineAsmRegClass::vreg => {}
PowerPCInlineAsmRegClass::vsreg => {}
PowerPCInlineAsmRegClass::cr => {}
PowerPCInlineAsmRegClass::ctr => {}
PowerPCInlineAsmRegClass::lr => {}
PowerPCInlineAsmRegClass::xer => {}
PowerPCInlineAsmRegClass::spe_acc => {}
}
}
}
};
impl PowerPCInlineAsmRegClass {
pub fn name(self) -> rustc_span::Symbol {
match self {
Self::reg => rustc_span::sym::reg,
Self::reg_nonzero => rustc_span::sym::reg_nonzero,
Self::freg => rustc_span::sym::freg,
Self::vreg => rustc_span::sym::vreg,
Self::vsreg => rustc_span::sym::vsreg,
Self::cr => rustc_span::sym::cr,
Self::ctr => rustc_span::sym::ctr,
Self::lr => rustc_span::sym::lr,
Self::xer => rustc_span::sym::xer,
Self::spe_acc => rustc_span::sym::spe_acc,
}
}
pub fn parse(name: rustc_span::Symbol)
-> Result<Self, &'static [rustc_span::Symbol]> {
match name {
rustc_span::sym::reg => Ok(Self::reg),
rustc_span::sym::reg_nonzero => Ok(Self::reg_nonzero),
rustc_span::sym::freg => Ok(Self::freg),
rustc_span::sym::vreg => Ok(Self::vreg),
rustc_span::sym::vsreg => Ok(Self::vsreg),
rustc_span::sym::cr => Ok(Self::cr),
rustc_span::sym::ctr => Ok(Self::ctr),
rustc_span::sym::lr => Ok(Self::lr),
rustc_span::sym::xer => Ok(Self::xer),
rustc_span::sym::spe_acc => Ok(Self::spe_acc),
_ =>
Err(&[rustc_span::sym::reg, rustc_span::sym::reg_nonzero,
rustc_span::sym::freg, rustc_span::sym::vreg,
rustc_span::sym::vsreg, rustc_span::sym::cr,
rustc_span::sym::ctr, rustc_span::sym::lr,
rustc_span::sym::xer, rustc_span::sym::spe_acc]),
}
}
}
pub(super) fn regclass_map()
->
rustc_data_structures::fx::FxHashMap<super::InlineAsmRegClass,
rustc_data_structures::fx::FxIndexSet<super::InlineAsmReg>> {
use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::fx::FxIndexSet;
use super::InlineAsmRegClass;
let mut map = FxHashMap::default();
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::ctr),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::lr),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::xer),
FxIndexSet::default());
map.insert(InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::spe_acc),
FxIndexSet::default());
map
}def_reg_class! {
10 PowerPC PowerPCInlineAsmRegClass {
11 reg,
12 reg_nonzero,
13 freg,
14 vreg,
15 vsreg,
16 cr,
17 ctr,
18 lr,
19 xer,
20 spe_acc,
21 }
22}
23
24impl PowerPCInlineAsmRegClass {
25 pub fn valid_modifiers(self, _arch: super::InlineAsmArch) -> &'static [char] {
26 &[]
27 }
28
29 pub fn suggest_class(self, _arch: InlineAsmArch, _ty: InlineAsmType) -> Option<Self> {
30 None
31 }
32
33 pub fn suggest_modifier(
34 self,
35 _arch: InlineAsmArch,
36 _ty: InlineAsmType,
37 ) -> Option<ModifierInfo> {
38 None
39 }
40
41 pub fn default_modifier(self, _arch: InlineAsmArch) -> Option<ModifierInfo> {
42 None
43 }
44
45 pub fn supported_types(
46 self,
47 arch: InlineAsmArch,
48 ) -> &'static [(InlineAsmType, Option<Symbol>)] {
49 match self {
50 Self::reg | Self::reg_nonzero => {
51 if arch == InlineAsmArch::PowerPC {
52 {
use super::InlineAsmType::*;
&[(I8, None), (I16, None), (I32, None)]
}types! { _: I8, I16, I32; }
53 } else {
54 {
use super::InlineAsmType::*;
&[(I8, None), (I16, None), (I32, None), (I64, None)]
}types! { _: I8, I16, I32, I64; }
55 }
56 }
57 Self::freg => {
use super::InlineAsmType::*;
&[(F32, None), (F64, None)]
}types! { _: F32, F64; },
58 Self::vreg => {
use super::InlineAsmType::*;
&[(VecI8(16), Some(rustc_span::sym::altivec)),
(VecI16(8), Some(rustc_span::sym::altivec)),
(VecI32(4), Some(rustc_span::sym::altivec)),
(VecF32(4), Some(rustc_span::sym::altivec)),
(F32, Some(rustc_span::sym::vsx)),
(F64, Some(rustc_span::sym::vsx)),
(VecI64(2), Some(rustc_span::sym::vsx)),
(VecF64(2), Some(rustc_span::sym::vsx))]
}types! {
60 altivec: VecI8(16), VecI16(8), VecI32(4), VecF32(4);
61 vsx: F32, F64, VecI64(2), VecF64(2);
62 },
63 Self::vsreg => {
use super::InlineAsmType::*;
&[(F32, Some(rustc_span::sym::vsx)), (F64, Some(rustc_span::sym::vsx)),
(VecI8(16), Some(rustc_span::sym::vsx)),
(VecI16(8), Some(rustc_span::sym::vsx)),
(VecI32(4), Some(rustc_span::sym::vsx)),
(VecI64(2), Some(rustc_span::sym::vsx)),
(VecF32(4), Some(rustc_span::sym::vsx)),
(VecF64(2), Some(rustc_span::sym::vsx))]
}types! {
65 vsx: F32, F64, VecI8(16), VecI16(8), VecI32(4), VecI64(2), VecF32(4), VecF64(2);
66 },
67 Self::cr | Self::ctr | Self::lr | Self::xer | Self::spe_acc => &[],
68 }
69 }
70}
71
72fn reserved_r13(
73 arch: InlineAsmArch,
74 _reloc_model: RelocModel,
75 _target_features: &FxIndexSet<Symbol>,
76 target: &Target,
77 _is_clobber: bool,
78) -> Result<(), &'static str> {
79 if target.is_like_aix && arch == InlineAsmArch::PowerPC {
80 Ok(())
81 } else {
82 Err("r13 is a reserved register on this target")
83 }
84}
85
86fn reserved_r29(
87 arch: InlineAsmArch,
88 _reloc_model: RelocModel,
89 _target_features: &FxIndexSet<Symbol>,
90 _target: &Target,
91 _is_clobber: bool,
92) -> Result<(), &'static str> {
93 if arch != InlineAsmArch::PowerPC {
94 Ok(())
95 } else {
96 Err("r29 is used internally by LLVM and cannot be used as an operand for inline asm")
97 }
98}
99
100fn reserved_v20to31(
101 _arch: InlineAsmArch,
102 _reloc_model: RelocModel,
103 _target_features: &FxIndexSet<Symbol>,
104 target: &Target,
105 _is_clobber: bool,
106) -> Result<(), &'static str> {
107 if target.is_like_aix {
108 match &target.options.abi {
109 Abi::VecDefault => Err("v20-v31 (vs52-vs63) are reserved on vec-default ABI"),
110 Abi::VecExtAbi => Ok(()),
111 abi => {
::core::panicking::panic_fmt(format_args!("internal error: entered unreachable code: {0}",
format_args!("unrecognized AIX ABI: {0}", abi)));
}unreachable!("unrecognized AIX ABI: {abi}"),
112 }
113 } else {
114 Ok(())
115 }
116}
117
118fn spe_acc_target_check(
119 _arch: InlineAsmArch,
120 _reloc_model: RelocModel,
121 _target_features: &FxIndexSet<Symbol>,
122 target: &Target,
123 _is_clobber: bool,
124) -> Result<(), &'static str> {
125 if target.abi == Abi::Spe { Ok(()) } else { Err("spe_acc is only available on spe targets") }
126}
127
128#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
pub enum PowerPCInlineAsmReg {
r0,
r3,
r4,
r5,
r6,
r7,
r8,
r9,
r10,
r11,
r12,
r13,
r14,
r15,
r16,
r17,
r18,
r19,
r20,
r21,
r22,
r23,
r24,
r25,
r26,
r27,
r28,
r29,
f0,
f1,
f2,
f3,
f4,
f5,
f6,
f7,
f8,
f9,
f10,
f11,
f12,
f13,
f14,
f15,
f16,
f17,
f18,
f19,
f20,
f21,
f22,
f23,
f24,
f25,
f26,
f27,
f28,
f29,
f30,
f31,
v0,
v1,
v2,
v3,
v4,
v5,
v6,
v7,
v8,
v9,
v10,
v11,
v12,
v13,
v14,
v15,
v16,
v17,
v18,
v19,
v20,
v21,
v22,
v23,
v24,
v25,
v26,
v27,
v28,
v29,
v30,
v31,
vs0,
vs1,
vs2,
vs3,
vs4,
vs5,
vs6,
vs7,
vs8,
vs9,
vs10,
vs11,
vs12,
vs13,
vs14,
vs15,
vs16,
vs17,
vs18,
vs19,
vs20,
vs21,
vs22,
vs23,
vs24,
vs25,
vs26,
vs27,
vs28,
vs29,
vs30,
vs31,
vs32,
vs33,
vs34,
vs35,
vs36,
vs37,
vs38,
vs39,
vs40,
vs41,
vs42,
vs43,
vs44,
vs45,
vs46,
vs47,
vs48,
vs49,
vs50,
vs51,
vs52,
vs53,
vs54,
vs55,
vs56,
vs57,
vs58,
vs59,
vs60,
vs61,
vs62,
vs63,
cr,
cr0,
cr1,
cr2,
cr3,
cr4,
cr5,
cr6,
cr7,
ctr,
lr,
xer,
spe_acc,
}
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::marker::Copy for PowerPCInlineAsmReg { }
#[automatically_derived]
#[doc(hidden)]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
unsafe impl ::core::clone::TrivialClone for PowerPCInlineAsmReg { }
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::clone::Clone for PowerPCInlineAsmReg {
#[inline]
fn clone(&self) -> PowerPCInlineAsmReg { *self }
}
const _: () =
{
impl<__E: ::rustc_span::SpanEncoder> ::rustc_serialize::Encodable<__E>
for PowerPCInlineAsmReg {
fn encode(&self, __encoder: &mut __E) {
let disc =
match *self {
PowerPCInlineAsmReg::r0 => { 0usize }
PowerPCInlineAsmReg::r3 => { 1usize }
PowerPCInlineAsmReg::r4 => { 2usize }
PowerPCInlineAsmReg::r5 => { 3usize }
PowerPCInlineAsmReg::r6 => { 4usize }
PowerPCInlineAsmReg::r7 => { 5usize }
PowerPCInlineAsmReg::r8 => { 6usize }
PowerPCInlineAsmReg::r9 => { 7usize }
PowerPCInlineAsmReg::r10 => { 8usize }
PowerPCInlineAsmReg::r11 => { 9usize }
PowerPCInlineAsmReg::r12 => { 10usize }
PowerPCInlineAsmReg::r13 => { 11usize }
PowerPCInlineAsmReg::r14 => { 12usize }
PowerPCInlineAsmReg::r15 => { 13usize }
PowerPCInlineAsmReg::r16 => { 14usize }
PowerPCInlineAsmReg::r17 => { 15usize }
PowerPCInlineAsmReg::r18 => { 16usize }
PowerPCInlineAsmReg::r19 => { 17usize }
PowerPCInlineAsmReg::r20 => { 18usize }
PowerPCInlineAsmReg::r21 => { 19usize }
PowerPCInlineAsmReg::r22 => { 20usize }
PowerPCInlineAsmReg::r23 => { 21usize }
PowerPCInlineAsmReg::r24 => { 22usize }
PowerPCInlineAsmReg::r25 => { 23usize }
PowerPCInlineAsmReg::r26 => { 24usize }
PowerPCInlineAsmReg::r27 => { 25usize }
PowerPCInlineAsmReg::r28 => { 26usize }
PowerPCInlineAsmReg::r29 => { 27usize }
PowerPCInlineAsmReg::f0 => { 28usize }
PowerPCInlineAsmReg::f1 => { 29usize }
PowerPCInlineAsmReg::f2 => { 30usize }
PowerPCInlineAsmReg::f3 => { 31usize }
PowerPCInlineAsmReg::f4 => { 32usize }
PowerPCInlineAsmReg::f5 => { 33usize }
PowerPCInlineAsmReg::f6 => { 34usize }
PowerPCInlineAsmReg::f7 => { 35usize }
PowerPCInlineAsmReg::f8 => { 36usize }
PowerPCInlineAsmReg::f9 => { 37usize }
PowerPCInlineAsmReg::f10 => { 38usize }
PowerPCInlineAsmReg::f11 => { 39usize }
PowerPCInlineAsmReg::f12 => { 40usize }
PowerPCInlineAsmReg::f13 => { 41usize }
PowerPCInlineAsmReg::f14 => { 42usize }
PowerPCInlineAsmReg::f15 => { 43usize }
PowerPCInlineAsmReg::f16 => { 44usize }
PowerPCInlineAsmReg::f17 => { 45usize }
PowerPCInlineAsmReg::f18 => { 46usize }
PowerPCInlineAsmReg::f19 => { 47usize }
PowerPCInlineAsmReg::f20 => { 48usize }
PowerPCInlineAsmReg::f21 => { 49usize }
PowerPCInlineAsmReg::f22 => { 50usize }
PowerPCInlineAsmReg::f23 => { 51usize }
PowerPCInlineAsmReg::f24 => { 52usize }
PowerPCInlineAsmReg::f25 => { 53usize }
PowerPCInlineAsmReg::f26 => { 54usize }
PowerPCInlineAsmReg::f27 => { 55usize }
PowerPCInlineAsmReg::f28 => { 56usize }
PowerPCInlineAsmReg::f29 => { 57usize }
PowerPCInlineAsmReg::f30 => { 58usize }
PowerPCInlineAsmReg::f31 => { 59usize }
PowerPCInlineAsmReg::v0 => { 60usize }
PowerPCInlineAsmReg::v1 => { 61usize }
PowerPCInlineAsmReg::v2 => { 62usize }
PowerPCInlineAsmReg::v3 => { 63usize }
PowerPCInlineAsmReg::v4 => { 64usize }
PowerPCInlineAsmReg::v5 => { 65usize }
PowerPCInlineAsmReg::v6 => { 66usize }
PowerPCInlineAsmReg::v7 => { 67usize }
PowerPCInlineAsmReg::v8 => { 68usize }
PowerPCInlineAsmReg::v9 => { 69usize }
PowerPCInlineAsmReg::v10 => { 70usize }
PowerPCInlineAsmReg::v11 => { 71usize }
PowerPCInlineAsmReg::v12 => { 72usize }
PowerPCInlineAsmReg::v13 => { 73usize }
PowerPCInlineAsmReg::v14 => { 74usize }
PowerPCInlineAsmReg::v15 => { 75usize }
PowerPCInlineAsmReg::v16 => { 76usize }
PowerPCInlineAsmReg::v17 => { 77usize }
PowerPCInlineAsmReg::v18 => { 78usize }
PowerPCInlineAsmReg::v19 => { 79usize }
PowerPCInlineAsmReg::v20 => { 80usize }
PowerPCInlineAsmReg::v21 => { 81usize }
PowerPCInlineAsmReg::v22 => { 82usize }
PowerPCInlineAsmReg::v23 => { 83usize }
PowerPCInlineAsmReg::v24 => { 84usize }
PowerPCInlineAsmReg::v25 => { 85usize }
PowerPCInlineAsmReg::v26 => { 86usize }
PowerPCInlineAsmReg::v27 => { 87usize }
PowerPCInlineAsmReg::v28 => { 88usize }
PowerPCInlineAsmReg::v29 => { 89usize }
PowerPCInlineAsmReg::v30 => { 90usize }
PowerPCInlineAsmReg::v31 => { 91usize }
PowerPCInlineAsmReg::vs0 => { 92usize }
PowerPCInlineAsmReg::vs1 => { 93usize }
PowerPCInlineAsmReg::vs2 => { 94usize }
PowerPCInlineAsmReg::vs3 => { 95usize }
PowerPCInlineAsmReg::vs4 => { 96usize }
PowerPCInlineAsmReg::vs5 => { 97usize }
PowerPCInlineAsmReg::vs6 => { 98usize }
PowerPCInlineAsmReg::vs7 => { 99usize }
PowerPCInlineAsmReg::vs8 => { 100usize }
PowerPCInlineAsmReg::vs9 => { 101usize }
PowerPCInlineAsmReg::vs10 => { 102usize }
PowerPCInlineAsmReg::vs11 => { 103usize }
PowerPCInlineAsmReg::vs12 => { 104usize }
PowerPCInlineAsmReg::vs13 => { 105usize }
PowerPCInlineAsmReg::vs14 => { 106usize }
PowerPCInlineAsmReg::vs15 => { 107usize }
PowerPCInlineAsmReg::vs16 => { 108usize }
PowerPCInlineAsmReg::vs17 => { 109usize }
PowerPCInlineAsmReg::vs18 => { 110usize }
PowerPCInlineAsmReg::vs19 => { 111usize }
PowerPCInlineAsmReg::vs20 => { 112usize }
PowerPCInlineAsmReg::vs21 => { 113usize }
PowerPCInlineAsmReg::vs22 => { 114usize }
PowerPCInlineAsmReg::vs23 => { 115usize }
PowerPCInlineAsmReg::vs24 => { 116usize }
PowerPCInlineAsmReg::vs25 => { 117usize }
PowerPCInlineAsmReg::vs26 => { 118usize }
PowerPCInlineAsmReg::vs27 => { 119usize }
PowerPCInlineAsmReg::vs28 => { 120usize }
PowerPCInlineAsmReg::vs29 => { 121usize }
PowerPCInlineAsmReg::vs30 => { 122usize }
PowerPCInlineAsmReg::vs31 => { 123usize }
PowerPCInlineAsmReg::vs32 => { 124usize }
PowerPCInlineAsmReg::vs33 => { 125usize }
PowerPCInlineAsmReg::vs34 => { 126usize }
PowerPCInlineAsmReg::vs35 => { 127usize }
PowerPCInlineAsmReg::vs36 => { 128usize }
PowerPCInlineAsmReg::vs37 => { 129usize }
PowerPCInlineAsmReg::vs38 => { 130usize }
PowerPCInlineAsmReg::vs39 => { 131usize }
PowerPCInlineAsmReg::vs40 => { 132usize }
PowerPCInlineAsmReg::vs41 => { 133usize }
PowerPCInlineAsmReg::vs42 => { 134usize }
PowerPCInlineAsmReg::vs43 => { 135usize }
PowerPCInlineAsmReg::vs44 => { 136usize }
PowerPCInlineAsmReg::vs45 => { 137usize }
PowerPCInlineAsmReg::vs46 => { 138usize }
PowerPCInlineAsmReg::vs47 => { 139usize }
PowerPCInlineAsmReg::vs48 => { 140usize }
PowerPCInlineAsmReg::vs49 => { 141usize }
PowerPCInlineAsmReg::vs50 => { 142usize }
PowerPCInlineAsmReg::vs51 => { 143usize }
PowerPCInlineAsmReg::vs52 => { 144usize }
PowerPCInlineAsmReg::vs53 => { 145usize }
PowerPCInlineAsmReg::vs54 => { 146usize }
PowerPCInlineAsmReg::vs55 => { 147usize }
PowerPCInlineAsmReg::vs56 => { 148usize }
PowerPCInlineAsmReg::vs57 => { 149usize }
PowerPCInlineAsmReg::vs58 => { 150usize }
PowerPCInlineAsmReg::vs59 => { 151usize }
PowerPCInlineAsmReg::vs60 => { 152usize }
PowerPCInlineAsmReg::vs61 => { 153usize }
PowerPCInlineAsmReg::vs62 => { 154usize }
PowerPCInlineAsmReg::vs63 => { 155usize }
PowerPCInlineAsmReg::cr => { 156usize }
PowerPCInlineAsmReg::cr0 => { 157usize }
PowerPCInlineAsmReg::cr1 => { 158usize }
PowerPCInlineAsmReg::cr2 => { 159usize }
PowerPCInlineAsmReg::cr3 => { 160usize }
PowerPCInlineAsmReg::cr4 => { 161usize }
PowerPCInlineAsmReg::cr5 => { 162usize }
PowerPCInlineAsmReg::cr6 => { 163usize }
PowerPCInlineAsmReg::cr7 => { 164usize }
PowerPCInlineAsmReg::ctr => { 165usize }
PowerPCInlineAsmReg::lr => { 166usize }
PowerPCInlineAsmReg::xer => { 167usize }
PowerPCInlineAsmReg::spe_acc => { 168usize }
};
::rustc_serialize::Encoder::emit_u8(__encoder, disc as u8);
match *self {
PowerPCInlineAsmReg::r0 => {}
PowerPCInlineAsmReg::r3 => {}
PowerPCInlineAsmReg::r4 => {}
PowerPCInlineAsmReg::r5 => {}
PowerPCInlineAsmReg::r6 => {}
PowerPCInlineAsmReg::r7 => {}
PowerPCInlineAsmReg::r8 => {}
PowerPCInlineAsmReg::r9 => {}
PowerPCInlineAsmReg::r10 => {}
PowerPCInlineAsmReg::r11 => {}
PowerPCInlineAsmReg::r12 => {}
PowerPCInlineAsmReg::r13 => {}
PowerPCInlineAsmReg::r14 => {}
PowerPCInlineAsmReg::r15 => {}
PowerPCInlineAsmReg::r16 => {}
PowerPCInlineAsmReg::r17 => {}
PowerPCInlineAsmReg::r18 => {}
PowerPCInlineAsmReg::r19 => {}
PowerPCInlineAsmReg::r20 => {}
PowerPCInlineAsmReg::r21 => {}
PowerPCInlineAsmReg::r22 => {}
PowerPCInlineAsmReg::r23 => {}
PowerPCInlineAsmReg::r24 => {}
PowerPCInlineAsmReg::r25 => {}
PowerPCInlineAsmReg::r26 => {}
PowerPCInlineAsmReg::r27 => {}
PowerPCInlineAsmReg::r28 => {}
PowerPCInlineAsmReg::r29 => {}
PowerPCInlineAsmReg::f0 => {}
PowerPCInlineAsmReg::f1 => {}
PowerPCInlineAsmReg::f2 => {}
PowerPCInlineAsmReg::f3 => {}
PowerPCInlineAsmReg::f4 => {}
PowerPCInlineAsmReg::f5 => {}
PowerPCInlineAsmReg::f6 => {}
PowerPCInlineAsmReg::f7 => {}
PowerPCInlineAsmReg::f8 => {}
PowerPCInlineAsmReg::f9 => {}
PowerPCInlineAsmReg::f10 => {}
PowerPCInlineAsmReg::f11 => {}
PowerPCInlineAsmReg::f12 => {}
PowerPCInlineAsmReg::f13 => {}
PowerPCInlineAsmReg::f14 => {}
PowerPCInlineAsmReg::f15 => {}
PowerPCInlineAsmReg::f16 => {}
PowerPCInlineAsmReg::f17 => {}
PowerPCInlineAsmReg::f18 => {}
PowerPCInlineAsmReg::f19 => {}
PowerPCInlineAsmReg::f20 => {}
PowerPCInlineAsmReg::f21 => {}
PowerPCInlineAsmReg::f22 => {}
PowerPCInlineAsmReg::f23 => {}
PowerPCInlineAsmReg::f24 => {}
PowerPCInlineAsmReg::f25 => {}
PowerPCInlineAsmReg::f26 => {}
PowerPCInlineAsmReg::f27 => {}
PowerPCInlineAsmReg::f28 => {}
PowerPCInlineAsmReg::f29 => {}
PowerPCInlineAsmReg::f30 => {}
PowerPCInlineAsmReg::f31 => {}
PowerPCInlineAsmReg::v0 => {}
PowerPCInlineAsmReg::v1 => {}
PowerPCInlineAsmReg::v2 => {}
PowerPCInlineAsmReg::v3 => {}
PowerPCInlineAsmReg::v4 => {}
PowerPCInlineAsmReg::v5 => {}
PowerPCInlineAsmReg::v6 => {}
PowerPCInlineAsmReg::v7 => {}
PowerPCInlineAsmReg::v8 => {}
PowerPCInlineAsmReg::v9 => {}
PowerPCInlineAsmReg::v10 => {}
PowerPCInlineAsmReg::v11 => {}
PowerPCInlineAsmReg::v12 => {}
PowerPCInlineAsmReg::v13 => {}
PowerPCInlineAsmReg::v14 => {}
PowerPCInlineAsmReg::v15 => {}
PowerPCInlineAsmReg::v16 => {}
PowerPCInlineAsmReg::v17 => {}
PowerPCInlineAsmReg::v18 => {}
PowerPCInlineAsmReg::v19 => {}
PowerPCInlineAsmReg::v20 => {}
PowerPCInlineAsmReg::v21 => {}
PowerPCInlineAsmReg::v22 => {}
PowerPCInlineAsmReg::v23 => {}
PowerPCInlineAsmReg::v24 => {}
PowerPCInlineAsmReg::v25 => {}
PowerPCInlineAsmReg::v26 => {}
PowerPCInlineAsmReg::v27 => {}
PowerPCInlineAsmReg::v28 => {}
PowerPCInlineAsmReg::v29 => {}
PowerPCInlineAsmReg::v30 => {}
PowerPCInlineAsmReg::v31 => {}
PowerPCInlineAsmReg::vs0 => {}
PowerPCInlineAsmReg::vs1 => {}
PowerPCInlineAsmReg::vs2 => {}
PowerPCInlineAsmReg::vs3 => {}
PowerPCInlineAsmReg::vs4 => {}
PowerPCInlineAsmReg::vs5 => {}
PowerPCInlineAsmReg::vs6 => {}
PowerPCInlineAsmReg::vs7 => {}
PowerPCInlineAsmReg::vs8 => {}
PowerPCInlineAsmReg::vs9 => {}
PowerPCInlineAsmReg::vs10 => {}
PowerPCInlineAsmReg::vs11 => {}
PowerPCInlineAsmReg::vs12 => {}
PowerPCInlineAsmReg::vs13 => {}
PowerPCInlineAsmReg::vs14 => {}
PowerPCInlineAsmReg::vs15 => {}
PowerPCInlineAsmReg::vs16 => {}
PowerPCInlineAsmReg::vs17 => {}
PowerPCInlineAsmReg::vs18 => {}
PowerPCInlineAsmReg::vs19 => {}
PowerPCInlineAsmReg::vs20 => {}
PowerPCInlineAsmReg::vs21 => {}
PowerPCInlineAsmReg::vs22 => {}
PowerPCInlineAsmReg::vs23 => {}
PowerPCInlineAsmReg::vs24 => {}
PowerPCInlineAsmReg::vs25 => {}
PowerPCInlineAsmReg::vs26 => {}
PowerPCInlineAsmReg::vs27 => {}
PowerPCInlineAsmReg::vs28 => {}
PowerPCInlineAsmReg::vs29 => {}
PowerPCInlineAsmReg::vs30 => {}
PowerPCInlineAsmReg::vs31 => {}
PowerPCInlineAsmReg::vs32 => {}
PowerPCInlineAsmReg::vs33 => {}
PowerPCInlineAsmReg::vs34 => {}
PowerPCInlineAsmReg::vs35 => {}
PowerPCInlineAsmReg::vs36 => {}
PowerPCInlineAsmReg::vs37 => {}
PowerPCInlineAsmReg::vs38 => {}
PowerPCInlineAsmReg::vs39 => {}
PowerPCInlineAsmReg::vs40 => {}
PowerPCInlineAsmReg::vs41 => {}
PowerPCInlineAsmReg::vs42 => {}
PowerPCInlineAsmReg::vs43 => {}
PowerPCInlineAsmReg::vs44 => {}
PowerPCInlineAsmReg::vs45 => {}
PowerPCInlineAsmReg::vs46 => {}
PowerPCInlineAsmReg::vs47 => {}
PowerPCInlineAsmReg::vs48 => {}
PowerPCInlineAsmReg::vs49 => {}
PowerPCInlineAsmReg::vs50 => {}
PowerPCInlineAsmReg::vs51 => {}
PowerPCInlineAsmReg::vs52 => {}
PowerPCInlineAsmReg::vs53 => {}
PowerPCInlineAsmReg::vs54 => {}
PowerPCInlineAsmReg::vs55 => {}
PowerPCInlineAsmReg::vs56 => {}
PowerPCInlineAsmReg::vs57 => {}
PowerPCInlineAsmReg::vs58 => {}
PowerPCInlineAsmReg::vs59 => {}
PowerPCInlineAsmReg::vs60 => {}
PowerPCInlineAsmReg::vs61 => {}
PowerPCInlineAsmReg::vs62 => {}
PowerPCInlineAsmReg::vs63 => {}
PowerPCInlineAsmReg::cr => {}
PowerPCInlineAsmReg::cr0 => {}
PowerPCInlineAsmReg::cr1 => {}
PowerPCInlineAsmReg::cr2 => {}
PowerPCInlineAsmReg::cr3 => {}
PowerPCInlineAsmReg::cr4 => {}
PowerPCInlineAsmReg::cr5 => {}
PowerPCInlineAsmReg::cr6 => {}
PowerPCInlineAsmReg::cr7 => {}
PowerPCInlineAsmReg::ctr => {}
PowerPCInlineAsmReg::lr => {}
PowerPCInlineAsmReg::xer => {}
PowerPCInlineAsmReg::spe_acc => {}
}
}
}
};
const _: () =
{
impl<__D: ::rustc_span::SpanDecoder> ::rustc_serialize::Decodable<__D>
for PowerPCInlineAsmReg {
fn decode(__decoder: &mut __D) -> Self {
match ::rustc_serialize::Decoder::read_u8(__decoder) as usize
{
0usize => { PowerPCInlineAsmReg::r0 }
1usize => { PowerPCInlineAsmReg::r3 }
2usize => { PowerPCInlineAsmReg::r4 }
3usize => { PowerPCInlineAsmReg::r5 }
4usize => { PowerPCInlineAsmReg::r6 }
5usize => { PowerPCInlineAsmReg::r7 }
6usize => { PowerPCInlineAsmReg::r8 }
7usize => { PowerPCInlineAsmReg::r9 }
8usize => { PowerPCInlineAsmReg::r10 }
9usize => { PowerPCInlineAsmReg::r11 }
10usize => { PowerPCInlineAsmReg::r12 }
11usize => { PowerPCInlineAsmReg::r13 }
12usize => { PowerPCInlineAsmReg::r14 }
13usize => { PowerPCInlineAsmReg::r15 }
14usize => { PowerPCInlineAsmReg::r16 }
15usize => { PowerPCInlineAsmReg::r17 }
16usize => { PowerPCInlineAsmReg::r18 }
17usize => { PowerPCInlineAsmReg::r19 }
18usize => { PowerPCInlineAsmReg::r20 }
19usize => { PowerPCInlineAsmReg::r21 }
20usize => { PowerPCInlineAsmReg::r22 }
21usize => { PowerPCInlineAsmReg::r23 }
22usize => { PowerPCInlineAsmReg::r24 }
23usize => { PowerPCInlineAsmReg::r25 }
24usize => { PowerPCInlineAsmReg::r26 }
25usize => { PowerPCInlineAsmReg::r27 }
26usize => { PowerPCInlineAsmReg::r28 }
27usize => { PowerPCInlineAsmReg::r29 }
28usize => { PowerPCInlineAsmReg::f0 }
29usize => { PowerPCInlineAsmReg::f1 }
30usize => { PowerPCInlineAsmReg::f2 }
31usize => { PowerPCInlineAsmReg::f3 }
32usize => { PowerPCInlineAsmReg::f4 }
33usize => { PowerPCInlineAsmReg::f5 }
34usize => { PowerPCInlineAsmReg::f6 }
35usize => { PowerPCInlineAsmReg::f7 }
36usize => { PowerPCInlineAsmReg::f8 }
37usize => { PowerPCInlineAsmReg::f9 }
38usize => { PowerPCInlineAsmReg::f10 }
39usize => { PowerPCInlineAsmReg::f11 }
40usize => { PowerPCInlineAsmReg::f12 }
41usize => { PowerPCInlineAsmReg::f13 }
42usize => { PowerPCInlineAsmReg::f14 }
43usize => { PowerPCInlineAsmReg::f15 }
44usize => { PowerPCInlineAsmReg::f16 }
45usize => { PowerPCInlineAsmReg::f17 }
46usize => { PowerPCInlineAsmReg::f18 }
47usize => { PowerPCInlineAsmReg::f19 }
48usize => { PowerPCInlineAsmReg::f20 }
49usize => { PowerPCInlineAsmReg::f21 }
50usize => { PowerPCInlineAsmReg::f22 }
51usize => { PowerPCInlineAsmReg::f23 }
52usize => { PowerPCInlineAsmReg::f24 }
53usize => { PowerPCInlineAsmReg::f25 }
54usize => { PowerPCInlineAsmReg::f26 }
55usize => { PowerPCInlineAsmReg::f27 }
56usize => { PowerPCInlineAsmReg::f28 }
57usize => { PowerPCInlineAsmReg::f29 }
58usize => { PowerPCInlineAsmReg::f30 }
59usize => { PowerPCInlineAsmReg::f31 }
60usize => { PowerPCInlineAsmReg::v0 }
61usize => { PowerPCInlineAsmReg::v1 }
62usize => { PowerPCInlineAsmReg::v2 }
63usize => { PowerPCInlineAsmReg::v3 }
64usize => { PowerPCInlineAsmReg::v4 }
65usize => { PowerPCInlineAsmReg::v5 }
66usize => { PowerPCInlineAsmReg::v6 }
67usize => { PowerPCInlineAsmReg::v7 }
68usize => { PowerPCInlineAsmReg::v8 }
69usize => { PowerPCInlineAsmReg::v9 }
70usize => { PowerPCInlineAsmReg::v10 }
71usize => { PowerPCInlineAsmReg::v11 }
72usize => { PowerPCInlineAsmReg::v12 }
73usize => { PowerPCInlineAsmReg::v13 }
74usize => { PowerPCInlineAsmReg::v14 }
75usize => { PowerPCInlineAsmReg::v15 }
76usize => { PowerPCInlineAsmReg::v16 }
77usize => { PowerPCInlineAsmReg::v17 }
78usize => { PowerPCInlineAsmReg::v18 }
79usize => { PowerPCInlineAsmReg::v19 }
80usize => { PowerPCInlineAsmReg::v20 }
81usize => { PowerPCInlineAsmReg::v21 }
82usize => { PowerPCInlineAsmReg::v22 }
83usize => { PowerPCInlineAsmReg::v23 }
84usize => { PowerPCInlineAsmReg::v24 }
85usize => { PowerPCInlineAsmReg::v25 }
86usize => { PowerPCInlineAsmReg::v26 }
87usize => { PowerPCInlineAsmReg::v27 }
88usize => { PowerPCInlineAsmReg::v28 }
89usize => { PowerPCInlineAsmReg::v29 }
90usize => { PowerPCInlineAsmReg::v30 }
91usize => { PowerPCInlineAsmReg::v31 }
92usize => { PowerPCInlineAsmReg::vs0 }
93usize => { PowerPCInlineAsmReg::vs1 }
94usize => { PowerPCInlineAsmReg::vs2 }
95usize => { PowerPCInlineAsmReg::vs3 }
96usize => { PowerPCInlineAsmReg::vs4 }
97usize => { PowerPCInlineAsmReg::vs5 }
98usize => { PowerPCInlineAsmReg::vs6 }
99usize => { PowerPCInlineAsmReg::vs7 }
100usize => { PowerPCInlineAsmReg::vs8 }
101usize => { PowerPCInlineAsmReg::vs9 }
102usize => { PowerPCInlineAsmReg::vs10 }
103usize => { PowerPCInlineAsmReg::vs11 }
104usize => { PowerPCInlineAsmReg::vs12 }
105usize => { PowerPCInlineAsmReg::vs13 }
106usize => { PowerPCInlineAsmReg::vs14 }
107usize => { PowerPCInlineAsmReg::vs15 }
108usize => { PowerPCInlineAsmReg::vs16 }
109usize => { PowerPCInlineAsmReg::vs17 }
110usize => { PowerPCInlineAsmReg::vs18 }
111usize => { PowerPCInlineAsmReg::vs19 }
112usize => { PowerPCInlineAsmReg::vs20 }
113usize => { PowerPCInlineAsmReg::vs21 }
114usize => { PowerPCInlineAsmReg::vs22 }
115usize => { PowerPCInlineAsmReg::vs23 }
116usize => { PowerPCInlineAsmReg::vs24 }
117usize => { PowerPCInlineAsmReg::vs25 }
118usize => { PowerPCInlineAsmReg::vs26 }
119usize => { PowerPCInlineAsmReg::vs27 }
120usize => { PowerPCInlineAsmReg::vs28 }
121usize => { PowerPCInlineAsmReg::vs29 }
122usize => { PowerPCInlineAsmReg::vs30 }
123usize => { PowerPCInlineAsmReg::vs31 }
124usize => { PowerPCInlineAsmReg::vs32 }
125usize => { PowerPCInlineAsmReg::vs33 }
126usize => { PowerPCInlineAsmReg::vs34 }
127usize => { PowerPCInlineAsmReg::vs35 }
128usize => { PowerPCInlineAsmReg::vs36 }
129usize => { PowerPCInlineAsmReg::vs37 }
130usize => { PowerPCInlineAsmReg::vs38 }
131usize => { PowerPCInlineAsmReg::vs39 }
132usize => { PowerPCInlineAsmReg::vs40 }
133usize => { PowerPCInlineAsmReg::vs41 }
134usize => { PowerPCInlineAsmReg::vs42 }
135usize => { PowerPCInlineAsmReg::vs43 }
136usize => { PowerPCInlineAsmReg::vs44 }
137usize => { PowerPCInlineAsmReg::vs45 }
138usize => { PowerPCInlineAsmReg::vs46 }
139usize => { PowerPCInlineAsmReg::vs47 }
140usize => { PowerPCInlineAsmReg::vs48 }
141usize => { PowerPCInlineAsmReg::vs49 }
142usize => { PowerPCInlineAsmReg::vs50 }
143usize => { PowerPCInlineAsmReg::vs51 }
144usize => { PowerPCInlineAsmReg::vs52 }
145usize => { PowerPCInlineAsmReg::vs53 }
146usize => { PowerPCInlineAsmReg::vs54 }
147usize => { PowerPCInlineAsmReg::vs55 }
148usize => { PowerPCInlineAsmReg::vs56 }
149usize => { PowerPCInlineAsmReg::vs57 }
150usize => { PowerPCInlineAsmReg::vs58 }
151usize => { PowerPCInlineAsmReg::vs59 }
152usize => { PowerPCInlineAsmReg::vs60 }
153usize => { PowerPCInlineAsmReg::vs61 }
154usize => { PowerPCInlineAsmReg::vs62 }
155usize => { PowerPCInlineAsmReg::vs63 }
156usize => { PowerPCInlineAsmReg::cr }
157usize => { PowerPCInlineAsmReg::cr0 }
158usize => { PowerPCInlineAsmReg::cr1 }
159usize => { PowerPCInlineAsmReg::cr2 }
160usize => { PowerPCInlineAsmReg::cr3 }
161usize => { PowerPCInlineAsmReg::cr4 }
162usize => { PowerPCInlineAsmReg::cr5 }
163usize => { PowerPCInlineAsmReg::cr6 }
164usize => { PowerPCInlineAsmReg::cr7 }
165usize => { PowerPCInlineAsmReg::ctr }
166usize => { PowerPCInlineAsmReg::lr }
167usize => { PowerPCInlineAsmReg::xer }
168usize => { PowerPCInlineAsmReg::spe_acc }
n => {
::core::panicking::panic_fmt(format_args!("invalid enum variant tag while decoding `PowerPCInlineAsmReg`, expected 0..169, actual {0}",
n));
}
}
}
}
};
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::fmt::Debug for PowerPCInlineAsmReg {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
::core::fmt::Formatter::write_str(f,
match self {
PowerPCInlineAsmReg::r0 => "r0",
PowerPCInlineAsmReg::r3 => "r3",
PowerPCInlineAsmReg::r4 => "r4",
PowerPCInlineAsmReg::r5 => "r5",
PowerPCInlineAsmReg::r6 => "r6",
PowerPCInlineAsmReg::r7 => "r7",
PowerPCInlineAsmReg::r8 => "r8",
PowerPCInlineAsmReg::r9 => "r9",
PowerPCInlineAsmReg::r10 => "r10",
PowerPCInlineAsmReg::r11 => "r11",
PowerPCInlineAsmReg::r12 => "r12",
PowerPCInlineAsmReg::r13 => "r13",
PowerPCInlineAsmReg::r14 => "r14",
PowerPCInlineAsmReg::r15 => "r15",
PowerPCInlineAsmReg::r16 => "r16",
PowerPCInlineAsmReg::r17 => "r17",
PowerPCInlineAsmReg::r18 => "r18",
PowerPCInlineAsmReg::r19 => "r19",
PowerPCInlineAsmReg::r20 => "r20",
PowerPCInlineAsmReg::r21 => "r21",
PowerPCInlineAsmReg::r22 => "r22",
PowerPCInlineAsmReg::r23 => "r23",
PowerPCInlineAsmReg::r24 => "r24",
PowerPCInlineAsmReg::r25 => "r25",
PowerPCInlineAsmReg::r26 => "r26",
PowerPCInlineAsmReg::r27 => "r27",
PowerPCInlineAsmReg::r28 => "r28",
PowerPCInlineAsmReg::r29 => "r29",
PowerPCInlineAsmReg::f0 => "f0",
PowerPCInlineAsmReg::f1 => "f1",
PowerPCInlineAsmReg::f2 => "f2",
PowerPCInlineAsmReg::f3 => "f3",
PowerPCInlineAsmReg::f4 => "f4",
PowerPCInlineAsmReg::f5 => "f5",
PowerPCInlineAsmReg::f6 => "f6",
PowerPCInlineAsmReg::f7 => "f7",
PowerPCInlineAsmReg::f8 => "f8",
PowerPCInlineAsmReg::f9 => "f9",
PowerPCInlineAsmReg::f10 => "f10",
PowerPCInlineAsmReg::f11 => "f11",
PowerPCInlineAsmReg::f12 => "f12",
PowerPCInlineAsmReg::f13 => "f13",
PowerPCInlineAsmReg::f14 => "f14",
PowerPCInlineAsmReg::f15 => "f15",
PowerPCInlineAsmReg::f16 => "f16",
PowerPCInlineAsmReg::f17 => "f17",
PowerPCInlineAsmReg::f18 => "f18",
PowerPCInlineAsmReg::f19 => "f19",
PowerPCInlineAsmReg::f20 => "f20",
PowerPCInlineAsmReg::f21 => "f21",
PowerPCInlineAsmReg::f22 => "f22",
PowerPCInlineAsmReg::f23 => "f23",
PowerPCInlineAsmReg::f24 => "f24",
PowerPCInlineAsmReg::f25 => "f25",
PowerPCInlineAsmReg::f26 => "f26",
PowerPCInlineAsmReg::f27 => "f27",
PowerPCInlineAsmReg::f28 => "f28",
PowerPCInlineAsmReg::f29 => "f29",
PowerPCInlineAsmReg::f30 => "f30",
PowerPCInlineAsmReg::f31 => "f31",
PowerPCInlineAsmReg::v0 => "v0",
PowerPCInlineAsmReg::v1 => "v1",
PowerPCInlineAsmReg::v2 => "v2",
PowerPCInlineAsmReg::v3 => "v3",
PowerPCInlineAsmReg::v4 => "v4",
PowerPCInlineAsmReg::v5 => "v5",
PowerPCInlineAsmReg::v6 => "v6",
PowerPCInlineAsmReg::v7 => "v7",
PowerPCInlineAsmReg::v8 => "v8",
PowerPCInlineAsmReg::v9 => "v9",
PowerPCInlineAsmReg::v10 => "v10",
PowerPCInlineAsmReg::v11 => "v11",
PowerPCInlineAsmReg::v12 => "v12",
PowerPCInlineAsmReg::v13 => "v13",
PowerPCInlineAsmReg::v14 => "v14",
PowerPCInlineAsmReg::v15 => "v15",
PowerPCInlineAsmReg::v16 => "v16",
PowerPCInlineAsmReg::v17 => "v17",
PowerPCInlineAsmReg::v18 => "v18",
PowerPCInlineAsmReg::v19 => "v19",
PowerPCInlineAsmReg::v20 => "v20",
PowerPCInlineAsmReg::v21 => "v21",
PowerPCInlineAsmReg::v22 => "v22",
PowerPCInlineAsmReg::v23 => "v23",
PowerPCInlineAsmReg::v24 => "v24",
PowerPCInlineAsmReg::v25 => "v25",
PowerPCInlineAsmReg::v26 => "v26",
PowerPCInlineAsmReg::v27 => "v27",
PowerPCInlineAsmReg::v28 => "v28",
PowerPCInlineAsmReg::v29 => "v29",
PowerPCInlineAsmReg::v30 => "v30",
PowerPCInlineAsmReg::v31 => "v31",
PowerPCInlineAsmReg::vs0 => "vs0",
PowerPCInlineAsmReg::vs1 => "vs1",
PowerPCInlineAsmReg::vs2 => "vs2",
PowerPCInlineAsmReg::vs3 => "vs3",
PowerPCInlineAsmReg::vs4 => "vs4",
PowerPCInlineAsmReg::vs5 => "vs5",
PowerPCInlineAsmReg::vs6 => "vs6",
PowerPCInlineAsmReg::vs7 => "vs7",
PowerPCInlineAsmReg::vs8 => "vs8",
PowerPCInlineAsmReg::vs9 => "vs9",
PowerPCInlineAsmReg::vs10 => "vs10",
PowerPCInlineAsmReg::vs11 => "vs11",
PowerPCInlineAsmReg::vs12 => "vs12",
PowerPCInlineAsmReg::vs13 => "vs13",
PowerPCInlineAsmReg::vs14 => "vs14",
PowerPCInlineAsmReg::vs15 => "vs15",
PowerPCInlineAsmReg::vs16 => "vs16",
PowerPCInlineAsmReg::vs17 => "vs17",
PowerPCInlineAsmReg::vs18 => "vs18",
PowerPCInlineAsmReg::vs19 => "vs19",
PowerPCInlineAsmReg::vs20 => "vs20",
PowerPCInlineAsmReg::vs21 => "vs21",
PowerPCInlineAsmReg::vs22 => "vs22",
PowerPCInlineAsmReg::vs23 => "vs23",
PowerPCInlineAsmReg::vs24 => "vs24",
PowerPCInlineAsmReg::vs25 => "vs25",
PowerPCInlineAsmReg::vs26 => "vs26",
PowerPCInlineAsmReg::vs27 => "vs27",
PowerPCInlineAsmReg::vs28 => "vs28",
PowerPCInlineAsmReg::vs29 => "vs29",
PowerPCInlineAsmReg::vs30 => "vs30",
PowerPCInlineAsmReg::vs31 => "vs31",
PowerPCInlineAsmReg::vs32 => "vs32",
PowerPCInlineAsmReg::vs33 => "vs33",
PowerPCInlineAsmReg::vs34 => "vs34",
PowerPCInlineAsmReg::vs35 => "vs35",
PowerPCInlineAsmReg::vs36 => "vs36",
PowerPCInlineAsmReg::vs37 => "vs37",
PowerPCInlineAsmReg::vs38 => "vs38",
PowerPCInlineAsmReg::vs39 => "vs39",
PowerPCInlineAsmReg::vs40 => "vs40",
PowerPCInlineAsmReg::vs41 => "vs41",
PowerPCInlineAsmReg::vs42 => "vs42",
PowerPCInlineAsmReg::vs43 => "vs43",
PowerPCInlineAsmReg::vs44 => "vs44",
PowerPCInlineAsmReg::vs45 => "vs45",
PowerPCInlineAsmReg::vs46 => "vs46",
PowerPCInlineAsmReg::vs47 => "vs47",
PowerPCInlineAsmReg::vs48 => "vs48",
PowerPCInlineAsmReg::vs49 => "vs49",
PowerPCInlineAsmReg::vs50 => "vs50",
PowerPCInlineAsmReg::vs51 => "vs51",
PowerPCInlineAsmReg::vs52 => "vs52",
PowerPCInlineAsmReg::vs53 => "vs53",
PowerPCInlineAsmReg::vs54 => "vs54",
PowerPCInlineAsmReg::vs55 => "vs55",
PowerPCInlineAsmReg::vs56 => "vs56",
PowerPCInlineAsmReg::vs57 => "vs57",
PowerPCInlineAsmReg::vs58 => "vs58",
PowerPCInlineAsmReg::vs59 => "vs59",
PowerPCInlineAsmReg::vs60 => "vs60",
PowerPCInlineAsmReg::vs61 => "vs61",
PowerPCInlineAsmReg::vs62 => "vs62",
PowerPCInlineAsmReg::vs63 => "vs63",
PowerPCInlineAsmReg::cr => "cr",
PowerPCInlineAsmReg::cr0 => "cr0",
PowerPCInlineAsmReg::cr1 => "cr1",
PowerPCInlineAsmReg::cr2 => "cr2",
PowerPCInlineAsmReg::cr3 => "cr3",
PowerPCInlineAsmReg::cr4 => "cr4",
PowerPCInlineAsmReg::cr5 => "cr5",
PowerPCInlineAsmReg::cr6 => "cr6",
PowerPCInlineAsmReg::cr7 => "cr7",
PowerPCInlineAsmReg::ctr => "ctr",
PowerPCInlineAsmReg::lr => "lr",
PowerPCInlineAsmReg::xer => "xer",
PowerPCInlineAsmReg::spe_acc => "spe_acc",
})
}
}
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::cmp::Eq for PowerPCInlineAsmReg {
#[inline]
#[doc(hidden)]
#[coverage(off)]
fn assert_receiver_is_total_eq(&self) {}
}
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::marker::StructuralPartialEq for PowerPCInlineAsmReg { }
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::cmp::PartialEq for PowerPCInlineAsmReg {
#[inline]
fn eq(&self, other: &PowerPCInlineAsmReg) -> bool {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
__self_discr == __arg1_discr
}
}
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::cmp::PartialOrd for PowerPCInlineAsmReg {
#[inline]
fn partial_cmp(&self, other: &PowerPCInlineAsmReg)
-> ::core::option::Option<::core::cmp::Ordering> {
let __self_discr = ::core::intrinsics::discriminant_value(self);
let __arg1_discr = ::core::intrinsics::discriminant_value(other);
::core::cmp::PartialOrd::partial_cmp(&__self_discr, &__arg1_discr)
}
}
#[automatically_derived]
#[allow(unreachable_code)]
#[allow(non_camel_case_types)]
impl ::core::hash::Hash for PowerPCInlineAsmReg {
#[inline]
fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
let __self_discr = ::core::intrinsics::discriminant_value(self);
::core::hash::Hash::hash(&__self_discr, state)
}
}
const _: () =
{
impl<__CTX> ::rustc_data_structures::stable_hasher::HashStable<__CTX>
for PowerPCInlineAsmReg where __CTX: crate::HashStableContext {
#[inline]
fn hash_stable(&self, __hcx: &mut __CTX,
__hasher:
&mut ::rustc_data_structures::stable_hasher::StableHasher) {
::std::mem::discriminant(self).hash_stable(__hcx, __hasher);
match *self {
PowerPCInlineAsmReg::r0 => {}
PowerPCInlineAsmReg::r3 => {}
PowerPCInlineAsmReg::r4 => {}
PowerPCInlineAsmReg::r5 => {}
PowerPCInlineAsmReg::r6 => {}
PowerPCInlineAsmReg::r7 => {}
PowerPCInlineAsmReg::r8 => {}
PowerPCInlineAsmReg::r9 => {}
PowerPCInlineAsmReg::r10 => {}
PowerPCInlineAsmReg::r11 => {}
PowerPCInlineAsmReg::r12 => {}
PowerPCInlineAsmReg::r13 => {}
PowerPCInlineAsmReg::r14 => {}
PowerPCInlineAsmReg::r15 => {}
PowerPCInlineAsmReg::r16 => {}
PowerPCInlineAsmReg::r17 => {}
PowerPCInlineAsmReg::r18 => {}
PowerPCInlineAsmReg::r19 => {}
PowerPCInlineAsmReg::r20 => {}
PowerPCInlineAsmReg::r21 => {}
PowerPCInlineAsmReg::r22 => {}
PowerPCInlineAsmReg::r23 => {}
PowerPCInlineAsmReg::r24 => {}
PowerPCInlineAsmReg::r25 => {}
PowerPCInlineAsmReg::r26 => {}
PowerPCInlineAsmReg::r27 => {}
PowerPCInlineAsmReg::r28 => {}
PowerPCInlineAsmReg::r29 => {}
PowerPCInlineAsmReg::f0 => {}
PowerPCInlineAsmReg::f1 => {}
PowerPCInlineAsmReg::f2 => {}
PowerPCInlineAsmReg::f3 => {}
PowerPCInlineAsmReg::f4 => {}
PowerPCInlineAsmReg::f5 => {}
PowerPCInlineAsmReg::f6 => {}
PowerPCInlineAsmReg::f7 => {}
PowerPCInlineAsmReg::f8 => {}
PowerPCInlineAsmReg::f9 => {}
PowerPCInlineAsmReg::f10 => {}
PowerPCInlineAsmReg::f11 => {}
PowerPCInlineAsmReg::f12 => {}
PowerPCInlineAsmReg::f13 => {}
PowerPCInlineAsmReg::f14 => {}
PowerPCInlineAsmReg::f15 => {}
PowerPCInlineAsmReg::f16 => {}
PowerPCInlineAsmReg::f17 => {}
PowerPCInlineAsmReg::f18 => {}
PowerPCInlineAsmReg::f19 => {}
PowerPCInlineAsmReg::f20 => {}
PowerPCInlineAsmReg::f21 => {}
PowerPCInlineAsmReg::f22 => {}
PowerPCInlineAsmReg::f23 => {}
PowerPCInlineAsmReg::f24 => {}
PowerPCInlineAsmReg::f25 => {}
PowerPCInlineAsmReg::f26 => {}
PowerPCInlineAsmReg::f27 => {}
PowerPCInlineAsmReg::f28 => {}
PowerPCInlineAsmReg::f29 => {}
PowerPCInlineAsmReg::f30 => {}
PowerPCInlineAsmReg::f31 => {}
PowerPCInlineAsmReg::v0 => {}
PowerPCInlineAsmReg::v1 => {}
PowerPCInlineAsmReg::v2 => {}
PowerPCInlineAsmReg::v3 => {}
PowerPCInlineAsmReg::v4 => {}
PowerPCInlineAsmReg::v5 => {}
PowerPCInlineAsmReg::v6 => {}
PowerPCInlineAsmReg::v7 => {}
PowerPCInlineAsmReg::v8 => {}
PowerPCInlineAsmReg::v9 => {}
PowerPCInlineAsmReg::v10 => {}
PowerPCInlineAsmReg::v11 => {}
PowerPCInlineAsmReg::v12 => {}
PowerPCInlineAsmReg::v13 => {}
PowerPCInlineAsmReg::v14 => {}
PowerPCInlineAsmReg::v15 => {}
PowerPCInlineAsmReg::v16 => {}
PowerPCInlineAsmReg::v17 => {}
PowerPCInlineAsmReg::v18 => {}
PowerPCInlineAsmReg::v19 => {}
PowerPCInlineAsmReg::v20 => {}
PowerPCInlineAsmReg::v21 => {}
PowerPCInlineAsmReg::v22 => {}
PowerPCInlineAsmReg::v23 => {}
PowerPCInlineAsmReg::v24 => {}
PowerPCInlineAsmReg::v25 => {}
PowerPCInlineAsmReg::v26 => {}
PowerPCInlineAsmReg::v27 => {}
PowerPCInlineAsmReg::v28 => {}
PowerPCInlineAsmReg::v29 => {}
PowerPCInlineAsmReg::v30 => {}
PowerPCInlineAsmReg::v31 => {}
PowerPCInlineAsmReg::vs0 => {}
PowerPCInlineAsmReg::vs1 => {}
PowerPCInlineAsmReg::vs2 => {}
PowerPCInlineAsmReg::vs3 => {}
PowerPCInlineAsmReg::vs4 => {}
PowerPCInlineAsmReg::vs5 => {}
PowerPCInlineAsmReg::vs6 => {}
PowerPCInlineAsmReg::vs7 => {}
PowerPCInlineAsmReg::vs8 => {}
PowerPCInlineAsmReg::vs9 => {}
PowerPCInlineAsmReg::vs10 => {}
PowerPCInlineAsmReg::vs11 => {}
PowerPCInlineAsmReg::vs12 => {}
PowerPCInlineAsmReg::vs13 => {}
PowerPCInlineAsmReg::vs14 => {}
PowerPCInlineAsmReg::vs15 => {}
PowerPCInlineAsmReg::vs16 => {}
PowerPCInlineAsmReg::vs17 => {}
PowerPCInlineAsmReg::vs18 => {}
PowerPCInlineAsmReg::vs19 => {}
PowerPCInlineAsmReg::vs20 => {}
PowerPCInlineAsmReg::vs21 => {}
PowerPCInlineAsmReg::vs22 => {}
PowerPCInlineAsmReg::vs23 => {}
PowerPCInlineAsmReg::vs24 => {}
PowerPCInlineAsmReg::vs25 => {}
PowerPCInlineAsmReg::vs26 => {}
PowerPCInlineAsmReg::vs27 => {}
PowerPCInlineAsmReg::vs28 => {}
PowerPCInlineAsmReg::vs29 => {}
PowerPCInlineAsmReg::vs30 => {}
PowerPCInlineAsmReg::vs31 => {}
PowerPCInlineAsmReg::vs32 => {}
PowerPCInlineAsmReg::vs33 => {}
PowerPCInlineAsmReg::vs34 => {}
PowerPCInlineAsmReg::vs35 => {}
PowerPCInlineAsmReg::vs36 => {}
PowerPCInlineAsmReg::vs37 => {}
PowerPCInlineAsmReg::vs38 => {}
PowerPCInlineAsmReg::vs39 => {}
PowerPCInlineAsmReg::vs40 => {}
PowerPCInlineAsmReg::vs41 => {}
PowerPCInlineAsmReg::vs42 => {}
PowerPCInlineAsmReg::vs43 => {}
PowerPCInlineAsmReg::vs44 => {}
PowerPCInlineAsmReg::vs45 => {}
PowerPCInlineAsmReg::vs46 => {}
PowerPCInlineAsmReg::vs47 => {}
PowerPCInlineAsmReg::vs48 => {}
PowerPCInlineAsmReg::vs49 => {}
PowerPCInlineAsmReg::vs50 => {}
PowerPCInlineAsmReg::vs51 => {}
PowerPCInlineAsmReg::vs52 => {}
PowerPCInlineAsmReg::vs53 => {}
PowerPCInlineAsmReg::vs54 => {}
PowerPCInlineAsmReg::vs55 => {}
PowerPCInlineAsmReg::vs56 => {}
PowerPCInlineAsmReg::vs57 => {}
PowerPCInlineAsmReg::vs58 => {}
PowerPCInlineAsmReg::vs59 => {}
PowerPCInlineAsmReg::vs60 => {}
PowerPCInlineAsmReg::vs61 => {}
PowerPCInlineAsmReg::vs62 => {}
PowerPCInlineAsmReg::vs63 => {}
PowerPCInlineAsmReg::cr => {}
PowerPCInlineAsmReg::cr0 => {}
PowerPCInlineAsmReg::cr1 => {}
PowerPCInlineAsmReg::cr2 => {}
PowerPCInlineAsmReg::cr3 => {}
PowerPCInlineAsmReg::cr4 => {}
PowerPCInlineAsmReg::cr5 => {}
PowerPCInlineAsmReg::cr6 => {}
PowerPCInlineAsmReg::cr7 => {}
PowerPCInlineAsmReg::ctr => {}
PowerPCInlineAsmReg::lr => {}
PowerPCInlineAsmReg::xer => {}
PowerPCInlineAsmReg::spe_acc => {}
}
}
}
};
impl PowerPCInlineAsmReg {
pub fn name(self) -> &'static str {
match self {
Self::r0 => "r0",
Self::r3 => "r3",
Self::r4 => "r4",
Self::r5 => "r5",
Self::r6 => "r6",
Self::r7 => "r7",
Self::r8 => "r8",
Self::r9 => "r9",
Self::r10 => "r10",
Self::r11 => "r11",
Self::r12 => "r12",
Self::r13 => "r13",
Self::r14 => "r14",
Self::r15 => "r15",
Self::r16 => "r16",
Self::r17 => "r17",
Self::r18 => "r18",
Self::r19 => "r19",
Self::r20 => "r20",
Self::r21 => "r21",
Self::r22 => "r22",
Self::r23 => "r23",
Self::r24 => "r24",
Self::r25 => "r25",
Self::r26 => "r26",
Self::r27 => "r27",
Self::r28 => "r28",
Self::r29 => "r29",
Self::f0 => "f0",
Self::f1 => "f1",
Self::f2 => "f2",
Self::f3 => "f3",
Self::f4 => "f4",
Self::f5 => "f5",
Self::f6 => "f6",
Self::f7 => "f7",
Self::f8 => "f8",
Self::f9 => "f9",
Self::f10 => "f10",
Self::f11 => "f11",
Self::f12 => "f12",
Self::f13 => "f13",
Self::f14 => "f14",
Self::f15 => "f15",
Self::f16 => "f16",
Self::f17 => "f17",
Self::f18 => "f18",
Self::f19 => "f19",
Self::f20 => "f20",
Self::f21 => "f21",
Self::f22 => "f22",
Self::f23 => "f23",
Self::f24 => "f24",
Self::f25 => "f25",
Self::f26 => "f26",
Self::f27 => "f27",
Self::f28 => "f28",
Self::f29 => "f29",
Self::f30 => "f30",
Self::f31 => "f31",
Self::v0 => "v0",
Self::v1 => "v1",
Self::v2 => "v2",
Self::v3 => "v3",
Self::v4 => "v4",
Self::v5 => "v5",
Self::v6 => "v6",
Self::v7 => "v7",
Self::v8 => "v8",
Self::v9 => "v9",
Self::v10 => "v10",
Self::v11 => "v11",
Self::v12 => "v12",
Self::v13 => "v13",
Self::v14 => "v14",
Self::v15 => "v15",
Self::v16 => "v16",
Self::v17 => "v17",
Self::v18 => "v18",
Self::v19 => "v19",
Self::v20 => "v20",
Self::v21 => "v21",
Self::v22 => "v22",
Self::v23 => "v23",
Self::v24 => "v24",
Self::v25 => "v25",
Self::v26 => "v26",
Self::v27 => "v27",
Self::v28 => "v28",
Self::v29 => "v29",
Self::v30 => "v30",
Self::v31 => "v31",
Self::vs0 => "vs0",
Self::vs1 => "vs1",
Self::vs2 => "vs2",
Self::vs3 => "vs3",
Self::vs4 => "vs4",
Self::vs5 => "vs5",
Self::vs6 => "vs6",
Self::vs7 => "vs7",
Self::vs8 => "vs8",
Self::vs9 => "vs9",
Self::vs10 => "vs10",
Self::vs11 => "vs11",
Self::vs12 => "vs12",
Self::vs13 => "vs13",
Self::vs14 => "vs14",
Self::vs15 => "vs15",
Self::vs16 => "vs16",
Self::vs17 => "vs17",
Self::vs18 => "vs18",
Self::vs19 => "vs19",
Self::vs20 => "vs20",
Self::vs21 => "vs21",
Self::vs22 => "vs22",
Self::vs23 => "vs23",
Self::vs24 => "vs24",
Self::vs25 => "vs25",
Self::vs26 => "vs26",
Self::vs27 => "vs27",
Self::vs28 => "vs28",
Self::vs29 => "vs29",
Self::vs30 => "vs30",
Self::vs31 => "vs31",
Self::vs32 => "vs32",
Self::vs33 => "vs33",
Self::vs34 => "vs34",
Self::vs35 => "vs35",
Self::vs36 => "vs36",
Self::vs37 => "vs37",
Self::vs38 => "vs38",
Self::vs39 => "vs39",
Self::vs40 => "vs40",
Self::vs41 => "vs41",
Self::vs42 => "vs42",
Self::vs43 => "vs43",
Self::vs44 => "vs44",
Self::vs45 => "vs45",
Self::vs46 => "vs46",
Self::vs47 => "vs47",
Self::vs48 => "vs48",
Self::vs49 => "vs49",
Self::vs50 => "vs50",
Self::vs51 => "vs51",
Self::vs52 => "vs52",
Self::vs53 => "vs53",
Self::vs54 => "vs54",
Self::vs55 => "vs55",
Self::vs56 => "vs56",
Self::vs57 => "vs57",
Self::vs58 => "vs58",
Self::vs59 => "vs59",
Self::vs60 => "vs60",
Self::vs61 => "vs61",
Self::vs62 => "vs62",
Self::vs63 => "vs63",
Self::cr => "cr",
Self::cr0 => "cr0",
Self::cr1 => "cr1",
Self::cr2 => "cr2",
Self::cr3 => "cr3",
Self::cr4 => "cr4",
Self::cr5 => "cr5",
Self::cr6 => "cr6",
Self::cr7 => "cr7",
Self::ctr => "ctr",
Self::lr => "lr",
Self::xer => "xer",
Self::spe_acc => "spe_acc",
}
}
pub fn reg_class(self) -> PowerPCInlineAsmRegClass {
match self {
Self::r0 => PowerPCInlineAsmRegClass::reg,
Self::r3 => PowerPCInlineAsmRegClass::reg,
Self::r4 => PowerPCInlineAsmRegClass::reg,
Self::r5 => PowerPCInlineAsmRegClass::reg,
Self::r6 => PowerPCInlineAsmRegClass::reg,
Self::r7 => PowerPCInlineAsmRegClass::reg,
Self::r8 => PowerPCInlineAsmRegClass::reg,
Self::r9 => PowerPCInlineAsmRegClass::reg,
Self::r10 => PowerPCInlineAsmRegClass::reg,
Self::r11 => PowerPCInlineAsmRegClass::reg,
Self::r12 => PowerPCInlineAsmRegClass::reg,
Self::r13 => PowerPCInlineAsmRegClass::reg,
Self::r14 => PowerPCInlineAsmRegClass::reg,
Self::r15 => PowerPCInlineAsmRegClass::reg,
Self::r16 => PowerPCInlineAsmRegClass::reg,
Self::r17 => PowerPCInlineAsmRegClass::reg,
Self::r18 => PowerPCInlineAsmRegClass::reg,
Self::r19 => PowerPCInlineAsmRegClass::reg,
Self::r20 => PowerPCInlineAsmRegClass::reg,
Self::r21 => PowerPCInlineAsmRegClass::reg,
Self::r22 => PowerPCInlineAsmRegClass::reg,
Self::r23 => PowerPCInlineAsmRegClass::reg,
Self::r24 => PowerPCInlineAsmRegClass::reg,
Self::r25 => PowerPCInlineAsmRegClass::reg,
Self::r26 => PowerPCInlineAsmRegClass::reg,
Self::r27 => PowerPCInlineAsmRegClass::reg,
Self::r28 => PowerPCInlineAsmRegClass::reg,
Self::r29 => PowerPCInlineAsmRegClass::reg,
Self::f0 => PowerPCInlineAsmRegClass::freg,
Self::f1 => PowerPCInlineAsmRegClass::freg,
Self::f2 => PowerPCInlineAsmRegClass::freg,
Self::f3 => PowerPCInlineAsmRegClass::freg,
Self::f4 => PowerPCInlineAsmRegClass::freg,
Self::f5 => PowerPCInlineAsmRegClass::freg,
Self::f6 => PowerPCInlineAsmRegClass::freg,
Self::f7 => PowerPCInlineAsmRegClass::freg,
Self::f8 => PowerPCInlineAsmRegClass::freg,
Self::f9 => PowerPCInlineAsmRegClass::freg,
Self::f10 => PowerPCInlineAsmRegClass::freg,
Self::f11 => PowerPCInlineAsmRegClass::freg,
Self::f12 => PowerPCInlineAsmRegClass::freg,
Self::f13 => PowerPCInlineAsmRegClass::freg,
Self::f14 => PowerPCInlineAsmRegClass::freg,
Self::f15 => PowerPCInlineAsmRegClass::freg,
Self::f16 => PowerPCInlineAsmRegClass::freg,
Self::f17 => PowerPCInlineAsmRegClass::freg,
Self::f18 => PowerPCInlineAsmRegClass::freg,
Self::f19 => PowerPCInlineAsmRegClass::freg,
Self::f20 => PowerPCInlineAsmRegClass::freg,
Self::f21 => PowerPCInlineAsmRegClass::freg,
Self::f22 => PowerPCInlineAsmRegClass::freg,
Self::f23 => PowerPCInlineAsmRegClass::freg,
Self::f24 => PowerPCInlineAsmRegClass::freg,
Self::f25 => PowerPCInlineAsmRegClass::freg,
Self::f26 => PowerPCInlineAsmRegClass::freg,
Self::f27 => PowerPCInlineAsmRegClass::freg,
Self::f28 => PowerPCInlineAsmRegClass::freg,
Self::f29 => PowerPCInlineAsmRegClass::freg,
Self::f30 => PowerPCInlineAsmRegClass::freg,
Self::f31 => PowerPCInlineAsmRegClass::freg,
Self::v0 => PowerPCInlineAsmRegClass::vreg,
Self::v1 => PowerPCInlineAsmRegClass::vreg,
Self::v2 => PowerPCInlineAsmRegClass::vreg,
Self::v3 => PowerPCInlineAsmRegClass::vreg,
Self::v4 => PowerPCInlineAsmRegClass::vreg,
Self::v5 => PowerPCInlineAsmRegClass::vreg,
Self::v6 => PowerPCInlineAsmRegClass::vreg,
Self::v7 => PowerPCInlineAsmRegClass::vreg,
Self::v8 => PowerPCInlineAsmRegClass::vreg,
Self::v9 => PowerPCInlineAsmRegClass::vreg,
Self::v10 => PowerPCInlineAsmRegClass::vreg,
Self::v11 => PowerPCInlineAsmRegClass::vreg,
Self::v12 => PowerPCInlineAsmRegClass::vreg,
Self::v13 => PowerPCInlineAsmRegClass::vreg,
Self::v14 => PowerPCInlineAsmRegClass::vreg,
Self::v15 => PowerPCInlineAsmRegClass::vreg,
Self::v16 => PowerPCInlineAsmRegClass::vreg,
Self::v17 => PowerPCInlineAsmRegClass::vreg,
Self::v18 => PowerPCInlineAsmRegClass::vreg,
Self::v19 => PowerPCInlineAsmRegClass::vreg,
Self::v20 => PowerPCInlineAsmRegClass::vreg,
Self::v21 => PowerPCInlineAsmRegClass::vreg,
Self::v22 => PowerPCInlineAsmRegClass::vreg,
Self::v23 => PowerPCInlineAsmRegClass::vreg,
Self::v24 => PowerPCInlineAsmRegClass::vreg,
Self::v25 => PowerPCInlineAsmRegClass::vreg,
Self::v26 => PowerPCInlineAsmRegClass::vreg,
Self::v27 => PowerPCInlineAsmRegClass::vreg,
Self::v28 => PowerPCInlineAsmRegClass::vreg,
Self::v29 => PowerPCInlineAsmRegClass::vreg,
Self::v30 => PowerPCInlineAsmRegClass::vreg,
Self::v31 => PowerPCInlineAsmRegClass::vreg,
Self::vs0 => PowerPCInlineAsmRegClass::vsreg,
Self::vs1 => PowerPCInlineAsmRegClass::vsreg,
Self::vs2 => PowerPCInlineAsmRegClass::vsreg,
Self::vs3 => PowerPCInlineAsmRegClass::vsreg,
Self::vs4 => PowerPCInlineAsmRegClass::vsreg,
Self::vs5 => PowerPCInlineAsmRegClass::vsreg,
Self::vs6 => PowerPCInlineAsmRegClass::vsreg,
Self::vs7 => PowerPCInlineAsmRegClass::vsreg,
Self::vs8 => PowerPCInlineAsmRegClass::vsreg,
Self::vs9 => PowerPCInlineAsmRegClass::vsreg,
Self::vs10 => PowerPCInlineAsmRegClass::vsreg,
Self::vs11 => PowerPCInlineAsmRegClass::vsreg,
Self::vs12 => PowerPCInlineAsmRegClass::vsreg,
Self::vs13 => PowerPCInlineAsmRegClass::vsreg,
Self::vs14 => PowerPCInlineAsmRegClass::vsreg,
Self::vs15 => PowerPCInlineAsmRegClass::vsreg,
Self::vs16 => PowerPCInlineAsmRegClass::vsreg,
Self::vs17 => PowerPCInlineAsmRegClass::vsreg,
Self::vs18 => PowerPCInlineAsmRegClass::vsreg,
Self::vs19 => PowerPCInlineAsmRegClass::vsreg,
Self::vs20 => PowerPCInlineAsmRegClass::vsreg,
Self::vs21 => PowerPCInlineAsmRegClass::vsreg,
Self::vs22 => PowerPCInlineAsmRegClass::vsreg,
Self::vs23 => PowerPCInlineAsmRegClass::vsreg,
Self::vs24 => PowerPCInlineAsmRegClass::vsreg,
Self::vs25 => PowerPCInlineAsmRegClass::vsreg,
Self::vs26 => PowerPCInlineAsmRegClass::vsreg,
Self::vs27 => PowerPCInlineAsmRegClass::vsreg,
Self::vs28 => PowerPCInlineAsmRegClass::vsreg,
Self::vs29 => PowerPCInlineAsmRegClass::vsreg,
Self::vs30 => PowerPCInlineAsmRegClass::vsreg,
Self::vs31 => PowerPCInlineAsmRegClass::vsreg,
Self::vs32 => PowerPCInlineAsmRegClass::vsreg,
Self::vs33 => PowerPCInlineAsmRegClass::vsreg,
Self::vs34 => PowerPCInlineAsmRegClass::vsreg,
Self::vs35 => PowerPCInlineAsmRegClass::vsreg,
Self::vs36 => PowerPCInlineAsmRegClass::vsreg,
Self::vs37 => PowerPCInlineAsmRegClass::vsreg,
Self::vs38 => PowerPCInlineAsmRegClass::vsreg,
Self::vs39 => PowerPCInlineAsmRegClass::vsreg,
Self::vs40 => PowerPCInlineAsmRegClass::vsreg,
Self::vs41 => PowerPCInlineAsmRegClass::vsreg,
Self::vs42 => PowerPCInlineAsmRegClass::vsreg,
Self::vs43 => PowerPCInlineAsmRegClass::vsreg,
Self::vs44 => PowerPCInlineAsmRegClass::vsreg,
Self::vs45 => PowerPCInlineAsmRegClass::vsreg,
Self::vs46 => PowerPCInlineAsmRegClass::vsreg,
Self::vs47 => PowerPCInlineAsmRegClass::vsreg,
Self::vs48 => PowerPCInlineAsmRegClass::vsreg,
Self::vs49 => PowerPCInlineAsmRegClass::vsreg,
Self::vs50 => PowerPCInlineAsmRegClass::vsreg,
Self::vs51 => PowerPCInlineAsmRegClass::vsreg,
Self::vs52 => PowerPCInlineAsmRegClass::vsreg,
Self::vs53 => PowerPCInlineAsmRegClass::vsreg,
Self::vs54 => PowerPCInlineAsmRegClass::vsreg,
Self::vs55 => PowerPCInlineAsmRegClass::vsreg,
Self::vs56 => PowerPCInlineAsmRegClass::vsreg,
Self::vs57 => PowerPCInlineAsmRegClass::vsreg,
Self::vs58 => PowerPCInlineAsmRegClass::vsreg,
Self::vs59 => PowerPCInlineAsmRegClass::vsreg,
Self::vs60 => PowerPCInlineAsmRegClass::vsreg,
Self::vs61 => PowerPCInlineAsmRegClass::vsreg,
Self::vs62 => PowerPCInlineAsmRegClass::vsreg,
Self::vs63 => PowerPCInlineAsmRegClass::vsreg,
Self::cr => PowerPCInlineAsmRegClass::cr,
Self::cr0 => PowerPCInlineAsmRegClass::cr,
Self::cr1 => PowerPCInlineAsmRegClass::cr,
Self::cr2 => PowerPCInlineAsmRegClass::cr,
Self::cr3 => PowerPCInlineAsmRegClass::cr,
Self::cr4 => PowerPCInlineAsmRegClass::cr,
Self::cr5 => PowerPCInlineAsmRegClass::cr,
Self::cr6 => PowerPCInlineAsmRegClass::cr,
Self::cr7 => PowerPCInlineAsmRegClass::cr,
Self::ctr => PowerPCInlineAsmRegClass::ctr,
Self::lr => PowerPCInlineAsmRegClass::lr,
Self::xer => PowerPCInlineAsmRegClass::xer,
Self::spe_acc => PowerPCInlineAsmRegClass::spe_acc,
}
}
pub fn parse(name: &str) -> Result<Self, &'static str> {
match name {
"0" | "r0" => Ok(Self::r0),
"3" | "r3" => Ok(Self::r3),
"4" | "r4" => Ok(Self::r4),
"5" | "r5" => Ok(Self::r5),
"6" | "r6" => Ok(Self::r6),
"7" | "r7" => Ok(Self::r7),
"8" | "r8" => Ok(Self::r8),
"9" | "r9" => Ok(Self::r9),
"10" | "r10" => Ok(Self::r10),
"11" | "r11" => Ok(Self::r11),
"12" | "r12" => Ok(Self::r12),
"13" | "r13" => Ok(Self::r13),
"14" | "r14" => Ok(Self::r14),
"15" | "r15" => Ok(Self::r15),
"16" | "r16" => Ok(Self::r16),
"17" | "r17" => Ok(Self::r17),
"18" | "r18" => Ok(Self::r18),
"19" | "r19" => Ok(Self::r19),
"20" | "r20" => Ok(Self::r20),
"21" | "r21" => Ok(Self::r21),
"22" | "r22" => Ok(Self::r22),
"23" | "r23" => Ok(Self::r23),
"24" | "r24" => Ok(Self::r24),
"25" | "r25" => Ok(Self::r25),
"26" | "r26" => Ok(Self::r26),
"27" | "r27" => Ok(Self::r27),
"28" | "r28" => Ok(Self::r28),
"29" | "r29" => Ok(Self::r29),
"fr0" | "f0" => Ok(Self::f0),
"fr1" | "f1" => Ok(Self::f1),
"fr2" | "f2" => Ok(Self::f2),
"fr3" | "f3" => Ok(Self::f3),
"fr4" | "f4" => Ok(Self::f4),
"fr5" | "f5" => Ok(Self::f5),
"fr6" | "f6" => Ok(Self::f6),
"fr7" | "f7" => Ok(Self::f7),
"fr8" | "f8" => Ok(Self::f8),
"fr9" | "f9" => Ok(Self::f9),
"fr10" | "f10" => Ok(Self::f10),
"fr11" | "f11" => Ok(Self::f11),
"fr12" | "f12" => Ok(Self::f12),
"fr13" | "f13" => Ok(Self::f13),
"fr14" | "f14" => Ok(Self::f14),
"fr15" | "f15" => Ok(Self::f15),
"fr16" | "f16" => Ok(Self::f16),
"fr17" | "f17" => Ok(Self::f17),
"fr18" | "f18" => Ok(Self::f18),
"fr19" | "f19" => Ok(Self::f19),
"fr20" | "f20" => Ok(Self::f20),
"fr21" | "f21" => Ok(Self::f21),
"fr22" | "f22" => Ok(Self::f22),
"fr23" | "f23" => Ok(Self::f23),
"fr24" | "f24" => Ok(Self::f24),
"fr25" | "f25" => Ok(Self::f25),
"fr26" | "f26" => Ok(Self::f26),
"fr27" | "f27" => Ok(Self::f27),
"fr28" | "f28" => Ok(Self::f28),
"fr29" | "f29" => Ok(Self::f29),
"fr30" | "f30" => Ok(Self::f30),
"fr31" | "f31" => Ok(Self::f31),
"v0" => Ok(Self::v0),
"v1" => Ok(Self::v1),
"v2" => Ok(Self::v2),
"v3" => Ok(Self::v3),
"v4" => Ok(Self::v4),
"v5" => Ok(Self::v5),
"v6" => Ok(Self::v6),
"v7" => Ok(Self::v7),
"v8" => Ok(Self::v8),
"v9" => Ok(Self::v9),
"v10" => Ok(Self::v10),
"v11" => Ok(Self::v11),
"v12" => Ok(Self::v12),
"v13" => Ok(Self::v13),
"v14" => Ok(Self::v14),
"v15" => Ok(Self::v15),
"v16" => Ok(Self::v16),
"v17" => Ok(Self::v17),
"v18" => Ok(Self::v18),
"v19" => Ok(Self::v19),
"v20" => Ok(Self::v20),
"v21" => Ok(Self::v21),
"v22" => Ok(Self::v22),
"v23" => Ok(Self::v23),
"v24" => Ok(Self::v24),
"v25" => Ok(Self::v25),
"v26" => Ok(Self::v26),
"v27" => Ok(Self::v27),
"v28" => Ok(Self::v28),
"v29" => Ok(Self::v29),
"v30" => Ok(Self::v30),
"v31" => Ok(Self::v31),
"vs0" => Ok(Self::vs0),
"vs1" => Ok(Self::vs1),
"vs2" => Ok(Self::vs2),
"vs3" => Ok(Self::vs3),
"vs4" => Ok(Self::vs4),
"vs5" => Ok(Self::vs5),
"vs6" => Ok(Self::vs6),
"vs7" => Ok(Self::vs7),
"vs8" => Ok(Self::vs8),
"vs9" => Ok(Self::vs9),
"vs10" => Ok(Self::vs10),
"vs11" => Ok(Self::vs11),
"vs12" => Ok(Self::vs12),
"vs13" => Ok(Self::vs13),
"vs14" => Ok(Self::vs14),
"vs15" => Ok(Self::vs15),
"vs16" => Ok(Self::vs16),
"vs17" => Ok(Self::vs17),
"vs18" => Ok(Self::vs18),
"vs19" => Ok(Self::vs19),
"vs20" => Ok(Self::vs20),
"vs21" => Ok(Self::vs21),
"vs22" => Ok(Self::vs22),
"vs23" => Ok(Self::vs23),
"vs24" => Ok(Self::vs24),
"vs25" => Ok(Self::vs25),
"vs26" => Ok(Self::vs26),
"vs27" => Ok(Self::vs27),
"vs28" => Ok(Self::vs28),
"vs29" => Ok(Self::vs29),
"vs30" => Ok(Self::vs30),
"vs31" => Ok(Self::vs31),
"vs32" => Ok(Self::vs32),
"vs33" => Ok(Self::vs33),
"vs34" => Ok(Self::vs34),
"vs35" => Ok(Self::vs35),
"vs36" => Ok(Self::vs36),
"vs37" => Ok(Self::vs37),
"vs38" => Ok(Self::vs38),
"vs39" => Ok(Self::vs39),
"vs40" => Ok(Self::vs40),
"vs41" => Ok(Self::vs41),
"vs42" => Ok(Self::vs42),
"vs43" => Ok(Self::vs43),
"vs44" => Ok(Self::vs44),
"vs45" => Ok(Self::vs45),
"vs46" => Ok(Self::vs46),
"vs47" => Ok(Self::vs47),
"vs48" => Ok(Self::vs48),
"vs49" => Ok(Self::vs49),
"vs50" => Ok(Self::vs50),
"vs51" => Ok(Self::vs51),
"vs52" => Ok(Self::vs52),
"vs53" => Ok(Self::vs53),
"vs54" => Ok(Self::vs54),
"vs55" => Ok(Self::vs55),
"vs56" => Ok(Self::vs56),
"vs57" => Ok(Self::vs57),
"vs58" => Ok(Self::vs58),
"vs59" => Ok(Self::vs59),
"vs60" => Ok(Self::vs60),
"vs61" => Ok(Self::vs61),
"vs62" => Ok(Self::vs62),
"vs63" => Ok(Self::vs63),
"cr" => Ok(Self::cr),
"cr0" => Ok(Self::cr0),
"cr1" => Ok(Self::cr1),
"cr2" => Ok(Self::cr2),
"cr3" => Ok(Self::cr3),
"cr4" => Ok(Self::cr4),
"cr5" => Ok(Self::cr5),
"cr6" => Ok(Self::cr6),
"cr7" => Ok(Self::cr7),
"ctr" => Ok(Self::ctr),
"lr" => Ok(Self::lr),
"xer" => Ok(Self::xer),
"spe_acc" => Ok(Self::spe_acc),
"r1" | "1" | "sp" =>
Err("the stack pointer cannot be used as an operand for inline asm"),
"r2" | "2" =>
Err("r2 is a system reserved register and cannot be used as an operand for inline asm"),
"r30" | "30" =>
Err("r30 is used internally by LLVM and cannot be used as an operand for inline asm"),
"r31" | "31" | "fp" =>
Err("the frame pointer cannot be used as an operand for inline asm"),
"vrsave" =>
Err("the vrsave register cannot be used as an operand for inline asm"),
_ => Err("unknown register"),
}
}
pub fn validate(self, _arch: super::InlineAsmArch,
_reloc_model: crate::spec::RelocModel,
_target_features: &rustc_data_structures::fx::FxIndexSet<Symbol>,
_target: &crate::spec::Target, _is_clobber: bool)
-> Result<(), &'static str> {
match self {
Self::r0 => { Ok(()) }
Self::r3 => { Ok(()) }
Self::r4 => { Ok(()) }
Self::r5 => { Ok(()) }
Self::r6 => { Ok(()) }
Self::r7 => { Ok(()) }
Self::r8 => { Ok(()) }
Self::r9 => { Ok(()) }
Self::r10 => { Ok(()) }
Self::r11 => { Ok(()) }
Self::r12 => { Ok(()) }
Self::r13 => {
reserved_r13(_arch, _reloc_model, _target_features, _target,
_is_clobber)?;
Ok(())
}
Self::r14 => { Ok(()) }
Self::r15 => { Ok(()) }
Self::r16 => { Ok(()) }
Self::r17 => { Ok(()) }
Self::r18 => { Ok(()) }
Self::r19 => { Ok(()) }
Self::r20 => { Ok(()) }
Self::r21 => { Ok(()) }
Self::r22 => { Ok(()) }
Self::r23 => { Ok(()) }
Self::r24 => { Ok(()) }
Self::r25 => { Ok(()) }
Self::r26 => { Ok(()) }
Self::r27 => { Ok(()) }
Self::r28 => { Ok(()) }
Self::r29 => {
reserved_r29(_arch, _reloc_model, _target_features, _target,
_is_clobber)?;
Ok(())
}
Self::f0 => { Ok(()) }
Self::f1 => { Ok(()) }
Self::f2 => { Ok(()) }
Self::f3 => { Ok(()) }
Self::f4 => { Ok(()) }
Self::f5 => { Ok(()) }
Self::f6 => { Ok(()) }
Self::f7 => { Ok(()) }
Self::f8 => { Ok(()) }
Self::f9 => { Ok(()) }
Self::f10 => { Ok(()) }
Self::f11 => { Ok(()) }
Self::f12 => { Ok(()) }
Self::f13 => { Ok(()) }
Self::f14 => { Ok(()) }
Self::f15 => { Ok(()) }
Self::f16 => { Ok(()) }
Self::f17 => { Ok(()) }
Self::f18 => { Ok(()) }
Self::f19 => { Ok(()) }
Self::f20 => { Ok(()) }
Self::f21 => { Ok(()) }
Self::f22 => { Ok(()) }
Self::f23 => { Ok(()) }
Self::f24 => { Ok(()) }
Self::f25 => { Ok(()) }
Self::f26 => { Ok(()) }
Self::f27 => { Ok(()) }
Self::f28 => { Ok(()) }
Self::f29 => { Ok(()) }
Self::f30 => { Ok(()) }
Self::f31 => { Ok(()) }
Self::v0 => { Ok(()) }
Self::v1 => { Ok(()) }
Self::v2 => { Ok(()) }
Self::v3 => { Ok(()) }
Self::v4 => { Ok(()) }
Self::v5 => { Ok(()) }
Self::v6 => { Ok(()) }
Self::v7 => { Ok(()) }
Self::v8 => { Ok(()) }
Self::v9 => { Ok(()) }
Self::v10 => { Ok(()) }
Self::v11 => { Ok(()) }
Self::v12 => { Ok(()) }
Self::v13 => { Ok(()) }
Self::v14 => { Ok(()) }
Self::v15 => { Ok(()) }
Self::v16 => { Ok(()) }
Self::v17 => { Ok(()) }
Self::v18 => { Ok(()) }
Self::v19 => { Ok(()) }
Self::v20 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v21 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v22 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v23 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v24 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v25 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v26 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v27 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v28 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v29 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v30 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::v31 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs0 => { Ok(()) }
Self::vs1 => { Ok(()) }
Self::vs2 => { Ok(()) }
Self::vs3 => { Ok(()) }
Self::vs4 => { Ok(()) }
Self::vs5 => { Ok(()) }
Self::vs6 => { Ok(()) }
Self::vs7 => { Ok(()) }
Self::vs8 => { Ok(()) }
Self::vs9 => { Ok(()) }
Self::vs10 => { Ok(()) }
Self::vs11 => { Ok(()) }
Self::vs12 => { Ok(()) }
Self::vs13 => { Ok(()) }
Self::vs14 => { Ok(()) }
Self::vs15 => { Ok(()) }
Self::vs16 => { Ok(()) }
Self::vs17 => { Ok(()) }
Self::vs18 => { Ok(()) }
Self::vs19 => { Ok(()) }
Self::vs20 => { Ok(()) }
Self::vs21 => { Ok(()) }
Self::vs22 => { Ok(()) }
Self::vs23 => { Ok(()) }
Self::vs24 => { Ok(()) }
Self::vs25 => { Ok(()) }
Self::vs26 => { Ok(()) }
Self::vs27 => { Ok(()) }
Self::vs28 => { Ok(()) }
Self::vs29 => { Ok(()) }
Self::vs30 => { Ok(()) }
Self::vs31 => { Ok(()) }
Self::vs32 => { Ok(()) }
Self::vs33 => { Ok(()) }
Self::vs34 => { Ok(()) }
Self::vs35 => { Ok(()) }
Self::vs36 => { Ok(()) }
Self::vs37 => { Ok(()) }
Self::vs38 => { Ok(()) }
Self::vs39 => { Ok(()) }
Self::vs40 => { Ok(()) }
Self::vs41 => { Ok(()) }
Self::vs42 => { Ok(()) }
Self::vs43 => { Ok(()) }
Self::vs44 => { Ok(()) }
Self::vs45 => { Ok(()) }
Self::vs46 => { Ok(()) }
Self::vs47 => { Ok(()) }
Self::vs48 => { Ok(()) }
Self::vs49 => { Ok(()) }
Self::vs50 => { Ok(()) }
Self::vs51 => { Ok(()) }
Self::vs52 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs53 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs54 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs55 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs56 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs57 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs58 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs59 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs60 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs61 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs62 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::vs63 => {
reserved_v20to31(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
Self::cr => { Ok(()) }
Self::cr0 => { Ok(()) }
Self::cr1 => { Ok(()) }
Self::cr2 => { Ok(()) }
Self::cr3 => { Ok(()) }
Self::cr4 => { Ok(()) }
Self::cr5 => { Ok(()) }
Self::cr6 => { Ok(()) }
Self::cr7 => { Ok(()) }
Self::ctr => { Ok(()) }
Self::lr => { Ok(()) }
Self::xer => { Ok(()) }
Self::spe_acc => {
spe_acc_target_check(_arch, _reloc_model, _target_features,
_target, _is_clobber)?;
Ok(())
}
}
}
}
pub(super) fn fill_reg_map(_arch: super::InlineAsmArch,
_reloc_model: crate::spec::RelocModel,
_target_features: &rustc_data_structures::fx::FxIndexSet<Symbol>,
_target: &crate::spec::Target,
_map:
&mut rustc_data_structures::fx::FxHashMap<super::InlineAsmRegClass,
rustc_data_structures::fx::FxIndexSet<super::InlineAsmReg>>) {
#[allow(unused_imports)]
use super::{InlineAsmReg, InlineAsmRegClass};
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r0));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r3));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r3));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r4));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r4));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r5));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r5));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r6));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r6));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r7));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r7));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r8));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r8));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r9));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r9));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r10));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r10));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r11));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r11));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r12));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r12));
}
}
if reserved_r13(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r13));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r13));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r14));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r14));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r15));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r15));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r16));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r16));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r17));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r17));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r18));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r18));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r19));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r19));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r20));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r20));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r21));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r21));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r22));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r22));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r23));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r23));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r24));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r24));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r25));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r25));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r26));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r26));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r27));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r27));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r28));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r28));
}
}
if reserved_r29(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r29));
}
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::reg_nonzero))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::r29));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f0));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f1));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f2));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f3));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f4));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f5));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f6));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f7));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f8));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f9));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f10));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f11));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f12));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f13));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f14));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f15));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f16));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f17));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f18));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f19));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f20));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f21));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f22));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f23));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f24));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f25));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f26));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f27));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f28));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f29));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f30));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::freg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::f31));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v0));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v1));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v2));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v3));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v4));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v5));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v6));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v7));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v8));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v9));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v10));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v11));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v12));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v13));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v14));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v15));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v16));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v17));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v18));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v19));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v20));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v21));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v22));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v23));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v24));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v25));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v26));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v27));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v28));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v29));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v30));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::v31));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs0));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs1));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs2));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs3));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs4));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs5));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs6));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs7));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs8));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs9));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs10));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs11));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs12));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs13));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs14));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs15));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs16));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs17));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs18));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs19));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs20));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs21));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs22));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs23));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs24));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs25));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs26));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs27));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs28));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs29));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs30));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs31));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs32));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs33));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs34));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs35));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs36));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs37));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs38));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs39));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs40));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs41));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs42));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs43));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs44));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs45));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs46));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs47));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs48));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs49));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs50));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs51));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs52));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs53));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs54));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs55));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs56));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs57));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs58));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs59));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs60));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs61));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs62));
}
}
if reserved_v20to31(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::vsreg))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::vs63));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr0));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr1));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr2));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr3));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr4));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr5));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr6));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::cr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::cr7));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::ctr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::ctr));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::lr))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::lr));
}
}
if true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::xer))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::xer));
}
}
if spe_acc_target_check(_arch, _reloc_model, _target_features, _target,
false).is_ok() && true {
if let Some(set) =
_map.get_mut(&InlineAsmRegClass::PowerPC(PowerPCInlineAsmRegClass::spe_acc))
{
set.insert(InlineAsmReg::PowerPC(PowerPCInlineAsmReg::spe_acc));
}
}
}def_regs! {
129 PowerPC PowerPCInlineAsmReg PowerPCInlineAsmRegClass {
130 r0: reg = ["r0", "0"],
131 r3: reg, reg_nonzero = ["r3", "3"],
132 r4: reg, reg_nonzero = ["r4", "4"],
133 r5: reg, reg_nonzero = ["r5", "5"],
134 r6: reg, reg_nonzero = ["r6", "6"],
135 r7: reg, reg_nonzero = ["r7", "7"],
136 r8: reg, reg_nonzero = ["r8", "8"],
137 r9: reg, reg_nonzero = ["r9", "9"],
138 r10: reg, reg_nonzero = ["r10", "10"],
139 r11: reg, reg_nonzero = ["r11", "11"],
140 r12: reg, reg_nonzero = ["r12", "12"],
141 r13: reg, reg_nonzero = ["r13", "13"] % reserved_r13,
142 r14: reg, reg_nonzero = ["r14", "14"],
143 r15: reg, reg_nonzero = ["r15", "15"],
144 r16: reg, reg_nonzero = ["r16", "16"],
145 r17: reg, reg_nonzero = ["r17", "17"],
146 r18: reg, reg_nonzero = ["r18", "18"],
147 r19: reg, reg_nonzero = ["r19", "19"],
148 r20: reg, reg_nonzero = ["r20", "20"],
149 r21: reg, reg_nonzero = ["r21", "21"],
150 r22: reg, reg_nonzero = ["r22", "22"],
151 r23: reg, reg_nonzero = ["r23", "23"],
152 r24: reg, reg_nonzero = ["r24", "24"],
153 r25: reg, reg_nonzero = ["r25", "25"],
154 r26: reg, reg_nonzero = ["r26", "26"],
155 r27: reg, reg_nonzero = ["r27", "27"],
156 r28: reg, reg_nonzero = ["r28", "28"],
157 r29: reg, reg_nonzero = ["r29", "29"] % reserved_r29,
158 f0: freg = ["f0", "fr0"],
159 f1: freg = ["f1", "fr1"],
160 f2: freg = ["f2", "fr2"],
161 f3: freg = ["f3", "fr3"],
162 f4: freg = ["f4", "fr4"],
163 f5: freg = ["f5", "fr5"],
164 f6: freg = ["f6", "fr6"],
165 f7: freg = ["f7", "fr7"],
166 f8: freg = ["f8", "fr8"],
167 f9: freg = ["f9", "fr9"],
168 f10: freg = ["f10", "fr10"],
169 f11: freg = ["f11", "fr11"],
170 f12: freg = ["f12", "fr12"],
171 f13: freg = ["f13", "fr13"],
172 f14: freg = ["f14", "fr14"],
173 f15: freg = ["f15", "fr15"],
174 f16: freg = ["f16", "fr16"],
175 f17: freg = ["f17", "fr17"],
176 f18: freg = ["f18", "fr18"],
177 f19: freg = ["f19", "fr19"],
178 f20: freg = ["f20", "fr20"],
179 f21: freg = ["f21", "fr21"],
180 f22: freg = ["f22", "fr22"],
181 f23: freg = ["f23", "fr23"],
182 f24: freg = ["f24", "fr24"],
183 f25: freg = ["f25", "fr25"],
184 f26: freg = ["f26", "fr26"],
185 f27: freg = ["f27", "fr27"],
186 f28: freg = ["f28", "fr28"],
187 f29: freg = ["f29", "fr29"],
188 f30: freg = ["f30", "fr30"],
189 f31: freg = ["f31", "fr31"],
190 v0: vreg = ["v0"],
191 v1: vreg = ["v1"],
192 v2: vreg = ["v2"],
193 v3: vreg = ["v3"],
194 v4: vreg = ["v4"],
195 v5: vreg = ["v5"],
196 v6: vreg = ["v6"],
197 v7: vreg = ["v7"],
198 v8: vreg = ["v8"],
199 v9: vreg = ["v9"],
200 v10: vreg = ["v10"],
201 v11: vreg = ["v11"],
202 v12: vreg = ["v12"],
203 v13: vreg = ["v13"],
204 v14: vreg = ["v14"],
205 v15: vreg = ["v15"],
206 v16: vreg = ["v16"],
207 v17: vreg = ["v17"],
208 v18: vreg = ["v18"],
209 v19: vreg = ["v19"],
210 v20: vreg = ["v20"] % reserved_v20to31,
211 v21: vreg = ["v21"] % reserved_v20to31,
212 v22: vreg = ["v22"] % reserved_v20to31,
213 v23: vreg = ["v23"] % reserved_v20to31,
214 v24: vreg = ["v24"] % reserved_v20to31,
215 v25: vreg = ["v25"] % reserved_v20to31,
216 v26: vreg = ["v26"] % reserved_v20to31,
217 v27: vreg = ["v27"] % reserved_v20to31,
218 v28: vreg = ["v28"] % reserved_v20to31,
219 v29: vreg = ["v29"] % reserved_v20to31,
220 v30: vreg = ["v30"] % reserved_v20to31,
221 v31: vreg = ["v31"] % reserved_v20to31,
222 vs0: vsreg = ["vs0"],
223 vs1: vsreg = ["vs1"],
224 vs2: vsreg = ["vs2"],
225 vs3: vsreg = ["vs3"],
226 vs4: vsreg = ["vs4"],
227 vs5: vsreg = ["vs5"],
228 vs6: vsreg = ["vs6"],
229 vs7: vsreg = ["vs7"],
230 vs8: vsreg = ["vs8"],
231 vs9: vsreg = ["vs9"],
232 vs10: vsreg = ["vs10"],
233 vs11: vsreg = ["vs11"],
234 vs12: vsreg = ["vs12"],
235 vs13: vsreg = ["vs13"],
236 vs14: vsreg = ["vs14"],
237 vs15: vsreg = ["vs15"],
238 vs16: vsreg = ["vs16"],
239 vs17: vsreg = ["vs17"],
240 vs18: vsreg = ["vs18"],
241 vs19: vsreg = ["vs19"],
242 vs20: vsreg = ["vs20"],
243 vs21: vsreg = ["vs21"],
244 vs22: vsreg = ["vs22"],
245 vs23: vsreg = ["vs23"],
246 vs24: vsreg = ["vs24"],
247 vs25: vsreg = ["vs25"],
248 vs26: vsreg = ["vs26"],
249 vs27: vsreg = ["vs27"],
250 vs28: vsreg = ["vs28"],
251 vs29: vsreg = ["vs29"],
252 vs30: vsreg = ["vs30"],
253 vs31: vsreg = ["vs31"],
254 vs32: vsreg = ["vs32"],
255 vs33: vsreg = ["vs33"],
256 vs34: vsreg = ["vs34"],
257 vs35: vsreg = ["vs35"],
258 vs36: vsreg = ["vs36"],
259 vs37: vsreg = ["vs37"],
260 vs38: vsreg = ["vs38"],
261 vs39: vsreg = ["vs39"],
262 vs40: vsreg = ["vs40"],
263 vs41: vsreg = ["vs41"],
264 vs42: vsreg = ["vs42"],
265 vs43: vsreg = ["vs43"],
266 vs44: vsreg = ["vs44"],
267 vs45: vsreg = ["vs45"],
268 vs46: vsreg = ["vs46"],
269 vs47: vsreg = ["vs47"],
270 vs48: vsreg = ["vs48"],
271 vs49: vsreg = ["vs49"],
272 vs50: vsreg = ["vs50"],
273 vs51: vsreg = ["vs51"],
274 vs52: vsreg = ["vs52"] % reserved_v20to31,
276 vs53: vsreg = ["vs53"] % reserved_v20to31,
277 vs54: vsreg = ["vs54"] % reserved_v20to31,
278 vs55: vsreg = ["vs55"] % reserved_v20to31,
279 vs56: vsreg = ["vs56"] % reserved_v20to31,
280 vs57: vsreg = ["vs57"] % reserved_v20to31,
281 vs58: vsreg = ["vs58"] % reserved_v20to31,
282 vs59: vsreg = ["vs59"] % reserved_v20to31,
283 vs60: vsreg = ["vs60"] % reserved_v20to31,
284 vs61: vsreg = ["vs61"] % reserved_v20to31,
285 vs62: vsreg = ["vs62"] % reserved_v20to31,
286 vs63: vsreg = ["vs63"] % reserved_v20to31,
287 cr: cr = ["cr"],
288 cr0: cr = ["cr0"],
289 cr1: cr = ["cr1"],
290 cr2: cr = ["cr2"],
291 cr3: cr = ["cr3"],
292 cr4: cr = ["cr4"],
293 cr5: cr = ["cr5"],
294 cr6: cr = ["cr6"],
295 cr7: cr = ["cr7"],
296 ctr: ctr = ["ctr"],
297 lr: lr = ["lr"],
298 xer: xer = ["xer"],
299 spe_acc: spe_acc = ["spe_acc"] % spe_acc_target_check,
300 #error = ["r1", "1", "sp"] =>
301 "the stack pointer cannot be used as an operand for inline asm",
302 #error = ["r2", "2"] =>
303 "r2 is a system reserved register and cannot be used as an operand for inline asm",
304 #error = ["r30", "30"] =>
305 "r30 is used internally by LLVM and cannot be used as an operand for inline asm",
306 #error = ["r31", "31", "fp"] =>
307 "the frame pointer cannot be used as an operand for inline asm",
308 #error = ["vrsave"] =>
309 "the vrsave register cannot be used as an operand for inline asm",
310 }
311}
312
313impl PowerPCInlineAsmReg {
314 pub fn emit(
315 self,
316 out: &mut dyn fmt::Write,
317 _arch: InlineAsmArch,
318 _modifier: Option<char>,
319 ) -> fmt::Result {
320 macro_rules! do_emit {
321 (
322 $($(($reg:ident, $value:literal)),*;)*
323 ) => {
324 out.write_str(match self {
325 $($(Self::$reg => $value,)*)*
326 })
327 };
328 }
329 out.write_str(match self {
Self::r0 => "0",
Self::r3 => "3",
Self::r4 => "4",
Self::r5 => "5",
Self::r6 => "6",
Self::r7 => "7",
Self::r8 => "8",
Self::r9 => "9",
Self::r10 => "10",
Self::r11 => "11",
Self::r12 => "12",
Self::r13 => "13",
Self::r14 => "14",
Self::r15 => "15",
Self::r16 => "16",
Self::r17 => "17",
Self::r18 => "18",
Self::r19 => "19",
Self::r20 => "20",
Self::r21 => "21",
Self::r22 => "22",
Self::r23 => "23",
Self::r24 => "24",
Self::r25 => "25",
Self::r26 => "26",
Self::r27 => "27",
Self::r28 => "28",
Self::r29 => "29",
Self::f0 => "0",
Self::f1 => "1",
Self::f2 => "2",
Self::f3 => "3",
Self::f4 => "4",
Self::f5 => "5",
Self::f6 => "6",
Self::f7 => "7",
Self::f8 => "8",
Self::f9 => "9",
Self::f10 => "10",
Self::f11 => "11",
Self::f12 => "12",
Self::f13 => "13",
Self::f14 => "14",
Self::f15 => "15",
Self::f16 => "16",
Self::f17 => "17",
Self::f18 => "18",
Self::f19 => "19",
Self::f20 => "20",
Self::f21 => "21",
Self::f22 => "22",
Self::f23 => "23",
Self::f24 => "24",
Self::f25 => "25",
Self::f26 => "26",
Self::f27 => "27",
Self::f28 => "28",
Self::f29 => "29",
Self::f30 => "30",
Self::f31 => "31",
Self::v0 => "0",
Self::v1 => "1",
Self::v2 => "2",
Self::v3 => "3",
Self::v4 => "4",
Self::v5 => "5",
Self::v6 => "6",
Self::v7 => "7",
Self::v8 => "8",
Self::v9 => "9",
Self::v10 => "10",
Self::v11 => "11",
Self::v12 => "12",
Self::v13 => "13",
Self::v14 => "14",
Self::v15 => "15",
Self::v16 => "16",
Self::v17 => "17",
Self::v18 => "18",
Self::v19 => "19",
Self::v20 => "20",
Self::v21 => "21",
Self::v22 => "22",
Self::v23 => "23",
Self::v24 => "24",
Self::v25 => "25",
Self::v26 => "26",
Self::v27 => "27",
Self::v28 => "28",
Self::v29 => "29",
Self::v30 => "30",
Self::v31 => "31",
Self::vs0 => "0",
Self::vs1 => "1",
Self::vs2 => "2",
Self::vs3 => "3",
Self::vs4 => "4",
Self::vs5 => "5",
Self::vs6 => "6",
Self::vs7 => "7",
Self::vs8 => "8",
Self::vs9 => "9",
Self::vs10 => "10",
Self::vs11 => "11",
Self::vs12 => "12",
Self::vs13 => "13",
Self::vs14 => "14",
Self::vs15 => "15",
Self::vs16 => "16",
Self::vs17 => "17",
Self::vs18 => "18",
Self::vs19 => "19",
Self::vs20 => "20",
Self::vs21 => "21",
Self::vs22 => "22",
Self::vs23 => "23",
Self::vs24 => "24",
Self::vs25 => "25",
Self::vs26 => "26",
Self::vs27 => "27",
Self::vs28 => "28",
Self::vs29 => "29",
Self::vs30 => "30",
Self::vs31 => "31",
Self::vs32 => "32",
Self::vs33 => "33",
Self::vs34 => "34",
Self::vs35 => "35",
Self::vs36 => "36",
Self::vs37 => "37",
Self::vs38 => "38",
Self::vs39 => "39",
Self::vs40 => "40",
Self::vs41 => "41",
Self::vs42 => "42",
Self::vs43 => "43",
Self::vs44 => "44",
Self::vs45 => "45",
Self::vs46 => "46",
Self::vs47 => "47",
Self::vs48 => "48",
Self::vs49 => "49",
Self::vs50 => "50",
Self::vs51 => "51",
Self::vs52 => "52",
Self::vs53 => "53",
Self::vs54 => "54",
Self::vs55 => "55",
Self::vs56 => "56",
Self::vs57 => "57",
Self::vs58 => "58",
Self::vs59 => "59",
Self::vs60 => "60",
Self::vs61 => "61",
Self::vs62 => "62",
Self::vs63 => "63",
Self::cr => "cr",
Self::cr0 => "0",
Self::cr1 => "1",
Self::cr2 => "2",
Self::cr3 => "3",
Self::cr4 => "4",
Self::cr5 => "5",
Self::cr6 => "6",
Self::cr7 => "7",
Self::ctr => "ctr",
Self::lr => "lr",
Self::xer => "xer",
Self::spe_acc => "spe_acc",
});do_emit! {
331 (r0, "0"), (r3, "3"), (r4, "4"), (r5, "5"), (r6, "6"), (r7, "7");
332 (r8, "8"), (r9, "9"), (r10, "10"), (r11, "11"), (r12, "12"), (r13, "13"), (r14, "14"), (r15, "15");
333 (r16, "16"), (r17, "17"), (r18, "18"), (r19, "19"), (r20, "20"), (r21, "21"), (r22, "22"), (r23, "23");
334 (r24, "24"), (r25, "25"), (r26, "26"), (r27, "27"), (r28, "28"), (r29, "29");
335 (f0, "0"), (f1, "1"), (f2, "2"), (f3, "3"), (f4, "4"), (f5, "5"), (f6, "6"), (f7, "7");
336 (f8, "8"), (f9, "9"), (f10, "10"), (f11, "11"), (f12, "12"), (f13, "13"), (f14, "14"), (f15, "15");
337 (f16, "16"), (f17, "17"), (f18, "18"), (f19, "19"), (f20, "20"), (f21, "21"), (f22, "22"), (f23, "23");
338 (f24, "24"), (f25, "25"), (f26, "26"), (f27, "27"), (f28, "28"), (f29, "29"), (f30, "30"), (f31, "31");
339 (v0, "0"), (v1, "1"), (v2, "2"), (v3, "3"), (v4, "4"), (v5, "5"), (v6, "6"), (v7, "7");
340 (v8, "8"), (v9, "9"), (v10, "10"), (v11, "11"), (v12, "12"), (v13, "13"), (v14, "14"), (v15, "15");
341 (v16, "16"), (v17, "17"), (v18, "18"), (v19, "19"), (v20, "20"), (v21, "21"), (v22, "22"), (v23, "23");
342 (v24, "24"), (v25, "25"), (v26, "26"), (v27, "27"), (v28, "28"), (v29, "29"), (v30, "30"), (v31, "31");
343 (vs0, "0"), (vs1, "1"), (vs2, "2"), (vs3, "3"), (vs4, "4"), (vs5, "5"), (vs6, "6"), (vs7, "7"),
344 (vs8, "8"), (vs9, "9"), (vs10, "10"), (vs11, "11"), (vs12, "12"), (vs13, "13"), (vs14, "14"),
345 (vs15, "15"), (vs16, "16"), (vs17, "17"), (vs18, "18"), (vs19, "19"), (vs20, "20"), (vs21, "21"),
346 (vs22, "22"), (vs23, "23"), (vs24, "24"), (vs25, "25"), (vs26, "26"), (vs27, "27"), (vs28, "28"),
347 (vs29, "29"), (vs30, "30"), (vs31, "31"), (vs32, "32"), (vs33, "33"), (vs34, "34"), (vs35, "35"),
348 (vs36, "36"), (vs37, "37"), (vs38, "38"), (vs39, "39"), (vs40, "40"), (vs41, "41"), (vs42, "42"),
349 (vs43, "43"), (vs44, "44"), (vs45, "45"), (vs46, "46"), (vs47, "47"), (vs48, "48"), (vs49, "49"),
350 (vs50, "50"), (vs51, "51"), (vs52, "52"), (vs53, "53"), (vs54, "54"), (vs55, "55"), (vs56, "56"),
351 (vs57, "57"), (vs58, "58"), (vs59, "59"), (vs60, "60"), (vs61, "61"), (vs62, "62"), (vs63, "63"),
352 (cr, "cr");
353 (cr0, "0"), (cr1, "1"), (cr2, "2"), (cr3, "3"), (cr4, "4"), (cr5, "5"), (cr6, "6"), (cr7, "7");
354 (ctr, "ctr");
355 (lr, "lr");
356 (xer, "xer");
357 (spe_acc, "spe_acc");
358 }
359 }
360
361 pub fn overlapping_regs(self, mut cb: impl FnMut(PowerPCInlineAsmReg)) {
362 macro_rules! reg_conflicts {
363 (
364 $(
365 $full:ident : $($field:ident)*
366 ),*;
367 ) => {
368 match self {
369 $(
370 Self::$full => {
371 cb(Self::$full);
372 $(cb(Self::$field);)*
373 }
374 $(Self::$field)|* => {
375 cb(Self::$full);
376 cb(self);
377 }
378 )*
379 r => cb(r),
380 }
381 };
382 }
383 match self {
Self::cr => {
cb(Self::cr);
cb(Self::cr0);
cb(Self::cr1);
cb(Self::cr2);
cb(Self::cr3);
cb(Self::cr4);
cb(Self::cr5);
cb(Self::cr6);
cb(Self::cr7);
}
Self::cr0 | Self::cr1 | Self::cr2 | Self::cr3 | Self::cr4 | Self::cr5 |
Self::cr6 | Self::cr7 => {
cb(Self::cr);
cb(self);
}
Self::vs0 => { cb(Self::vs0); cb(Self::f0); }
Self::f0 => { cb(Self::vs0); cb(self); }
Self::vs1 => { cb(Self::vs1); cb(Self::f1); }
Self::f1 => { cb(Self::vs1); cb(self); }
Self::vs2 => { cb(Self::vs2); cb(Self::f2); }
Self::f2 => { cb(Self::vs2); cb(self); }
Self::vs3 => { cb(Self::vs3); cb(Self::f3); }
Self::f3 => { cb(Self::vs3); cb(self); }
Self::vs4 => { cb(Self::vs4); cb(Self::f4); }
Self::f4 => { cb(Self::vs4); cb(self); }
Self::vs5 => { cb(Self::vs5); cb(Self::f5); }
Self::f5 => { cb(Self::vs5); cb(self); }
Self::vs6 => { cb(Self::vs6); cb(Self::f6); }
Self::f6 => { cb(Self::vs6); cb(self); }
Self::vs7 => { cb(Self::vs7); cb(Self::f7); }
Self::f7 => { cb(Self::vs7); cb(self); }
Self::vs8 => { cb(Self::vs8); cb(Self::f8); }
Self::f8 => { cb(Self::vs8); cb(self); }
Self::vs9 => { cb(Self::vs9); cb(Self::f9); }
Self::f9 => { cb(Self::vs9); cb(self); }
Self::vs10 => { cb(Self::vs10); cb(Self::f10); }
Self::f10 => { cb(Self::vs10); cb(self); }
Self::vs11 => { cb(Self::vs11); cb(Self::f11); }
Self::f11 => { cb(Self::vs11); cb(self); }
Self::vs12 => { cb(Self::vs12); cb(Self::f12); }
Self::f12 => { cb(Self::vs12); cb(self); }
Self::vs13 => { cb(Self::vs13); cb(Self::f13); }
Self::f13 => { cb(Self::vs13); cb(self); }
Self::vs14 => { cb(Self::vs14); cb(Self::f14); }
Self::f14 => { cb(Self::vs14); cb(self); }
Self::vs15 => { cb(Self::vs15); cb(Self::f15); }
Self::f15 => { cb(Self::vs15); cb(self); }
Self::vs16 => { cb(Self::vs16); cb(Self::f16); }
Self::f16 => { cb(Self::vs16); cb(self); }
Self::vs17 => { cb(Self::vs17); cb(Self::f17); }
Self::f17 => { cb(Self::vs17); cb(self); }
Self::vs18 => { cb(Self::vs18); cb(Self::f18); }
Self::f18 => { cb(Self::vs18); cb(self); }
Self::vs19 => { cb(Self::vs19); cb(Self::f19); }
Self::f19 => { cb(Self::vs19); cb(self); }
Self::vs20 => { cb(Self::vs20); cb(Self::f20); }
Self::f20 => { cb(Self::vs20); cb(self); }
Self::vs21 => { cb(Self::vs21); cb(Self::f21); }
Self::f21 => { cb(Self::vs21); cb(self); }
Self::vs22 => { cb(Self::vs22); cb(Self::f22); }
Self::f22 => { cb(Self::vs22); cb(self); }
Self::vs23 => { cb(Self::vs23); cb(Self::f23); }
Self::f23 => { cb(Self::vs23); cb(self); }
Self::vs24 => { cb(Self::vs24); cb(Self::f24); }
Self::f24 => { cb(Self::vs24); cb(self); }
Self::vs25 => { cb(Self::vs25); cb(Self::f25); }
Self::f25 => { cb(Self::vs25); cb(self); }
Self::vs26 => { cb(Self::vs26); cb(Self::f26); }
Self::f26 => { cb(Self::vs26); cb(self); }
Self::vs27 => { cb(Self::vs27); cb(Self::f27); }
Self::f27 => { cb(Self::vs27); cb(self); }
Self::vs28 => { cb(Self::vs28); cb(Self::f28); }
Self::f28 => { cb(Self::vs28); cb(self); }
Self::vs29 => { cb(Self::vs29); cb(Self::f29); }
Self::f29 => { cb(Self::vs29); cb(self); }
Self::vs30 => { cb(Self::vs30); cb(Self::f30); }
Self::f30 => { cb(Self::vs30); cb(self); }
Self::vs31 => { cb(Self::vs31); cb(Self::f31); }
Self::f31 => { cb(Self::vs31); cb(self); }
Self::vs32 => { cb(Self::vs32); cb(Self::v0); }
Self::v0 => { cb(Self::vs32); cb(self); }
Self::vs33 => { cb(Self::vs33); cb(Self::v1); }
Self::v1 => { cb(Self::vs33); cb(self); }
Self::vs34 => { cb(Self::vs34); cb(Self::v2); }
Self::v2 => { cb(Self::vs34); cb(self); }
Self::vs35 => { cb(Self::vs35); cb(Self::v3); }
Self::v3 => { cb(Self::vs35); cb(self); }
Self::vs36 => { cb(Self::vs36); cb(Self::v4); }
Self::v4 => { cb(Self::vs36); cb(self); }
Self::vs37 => { cb(Self::vs37); cb(Self::v5); }
Self::v5 => { cb(Self::vs37); cb(self); }
Self::vs38 => { cb(Self::vs38); cb(Self::v6); }
Self::v6 => { cb(Self::vs38); cb(self); }
Self::vs39 => { cb(Self::vs39); cb(Self::v7); }
Self::v7 => { cb(Self::vs39); cb(self); }
Self::vs40 => { cb(Self::vs40); cb(Self::v8); }
Self::v8 => { cb(Self::vs40); cb(self); }
Self::vs41 => { cb(Self::vs41); cb(Self::v9); }
Self::v9 => { cb(Self::vs41); cb(self); }
Self::vs42 => { cb(Self::vs42); cb(Self::v10); }
Self::v10 => { cb(Self::vs42); cb(self); }
Self::vs43 => { cb(Self::vs43); cb(Self::v11); }
Self::v11 => { cb(Self::vs43); cb(self); }
Self::vs44 => { cb(Self::vs44); cb(Self::v12); }
Self::v12 => { cb(Self::vs44); cb(self); }
Self::vs45 => { cb(Self::vs45); cb(Self::v13); }
Self::v13 => { cb(Self::vs45); cb(self); }
Self::vs46 => { cb(Self::vs46); cb(Self::v14); }
Self::v14 => { cb(Self::vs46); cb(self); }
Self::vs47 => { cb(Self::vs47); cb(Self::v15); }
Self::v15 => { cb(Self::vs47); cb(self); }
Self::vs48 => { cb(Self::vs48); cb(Self::v16); }
Self::v16 => { cb(Self::vs48); cb(self); }
Self::vs49 => { cb(Self::vs49); cb(Self::v17); }
Self::v17 => { cb(Self::vs49); cb(self); }
Self::vs50 => { cb(Self::vs50); cb(Self::v18); }
Self::v18 => { cb(Self::vs50); cb(self); }
Self::vs51 => { cb(Self::vs51); cb(Self::v19); }
Self::v19 => { cb(Self::vs51); cb(self); }
Self::vs52 => { cb(Self::vs52); cb(Self::v20); }
Self::v20 => { cb(Self::vs52); cb(self); }
Self::vs53 => { cb(Self::vs53); cb(Self::v21); }
Self::v21 => { cb(Self::vs53); cb(self); }
Self::vs54 => { cb(Self::vs54); cb(Self::v22); }
Self::v22 => { cb(Self::vs54); cb(self); }
Self::vs55 => { cb(Self::vs55); cb(Self::v23); }
Self::v23 => { cb(Self::vs55); cb(self); }
Self::vs56 => { cb(Self::vs56); cb(Self::v24); }
Self::v24 => { cb(Self::vs56); cb(self); }
Self::vs57 => { cb(Self::vs57); cb(Self::v25); }
Self::v25 => { cb(Self::vs57); cb(self); }
Self::vs58 => { cb(Self::vs58); cb(Self::v26); }
Self::v26 => { cb(Self::vs58); cb(self); }
Self::vs59 => { cb(Self::vs59); cb(Self::v27); }
Self::v27 => { cb(Self::vs59); cb(self); }
Self::vs60 => { cb(Self::vs60); cb(Self::v28); }
Self::v28 => { cb(Self::vs60); cb(self); }
Self::vs61 => { cb(Self::vs61); cb(Self::v29); }
Self::v29 => { cb(Self::vs61); cb(self); }
Self::vs62 => { cb(Self::vs62); cb(Self::v30); }
Self::v30 => { cb(Self::vs62); cb(self); }
Self::vs63 => { cb(Self::vs63); cb(Self::v31); }
Self::v31 => { cb(Self::vs63); cb(self); }
r => cb(r),
}reg_conflicts! {
384 cr : cr0 cr1 cr2 cr3 cr4 cr5 cr6 cr7,
385 vs0 : f0,
387 vs1 : f1,
388 vs2 : f2,
389 vs3 : f3,
390 vs4 : f4,
391 vs5 : f5,
392 vs6 : f6,
393 vs7 : f7,
394 vs8 : f8,
395 vs9 : f9,
396 vs10 : f10,
397 vs11 : f11,
398 vs12 : f12,
399 vs13 : f13,
400 vs14 : f14,
401 vs15 : f15,
402 vs16 : f16,
403 vs17 : f17,
404 vs18 : f18,
405 vs19 : f19,
406 vs20 : f20,
407 vs21 : f21,
408 vs22 : f22,
409 vs23 : f23,
410 vs24 : f24,
411 vs25 : f25,
412 vs26 : f26,
413 vs27 : f27,
414 vs28 : f28,
415 vs29 : f29,
416 vs30 : f30,
417 vs31 : f31,
418 vs32 : v0,
420 vs33 : v1,
421 vs34 : v2,
422 vs35 : v3,
423 vs36 : v4,
424 vs37 : v5,
425 vs38 : v6,
426 vs39 : v7,
427 vs40 : v8,
428 vs41 : v9,
429 vs42 : v10,
430 vs43 : v11,
431 vs44 : v12,
432 vs45 : v13,
433 vs46 : v14,
434 vs47 : v15,
435 vs48 : v16,
436 vs49 : v17,
437 vs50 : v18,
438 vs51 : v19,
439 vs52 : v20,
440 vs53 : v21,
441 vs54 : v22,
442 vs55 : v23,
443 vs56 : v24,
444 vs57 : v25,
445 vs58 : v26,
446 vs59 : v27,
447 vs60 : v28,
448 vs61 : v29,
449 vs62 : v30,
450 vs63 : v31;
451 }
452 }
457}