]>
Witch of Git - jade-mouse/blob - toolchain/src/inst.rs
6 use proptest_derive
::Arbitrary
;
8 pub use self::{decode
::Decode
, encode
::Encode
};
10 use std
::cmp
::PartialEq
;
12 #[derive(Clone, Copy, Debug, PartialOrd, Ord, PartialEq, Eq)]
13 #[cfg_attr(test, derive(Arbitrary))]
22 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
23 #[cfg_attr(test, derive(Arbitrary))]
30 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
31 #[cfg_attr(test, derive(Arbitrary))]
40 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
41 #[cfg_attr(test, derive(Arbitrary))]
50 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
51 #[cfg_attr(test, derive(Arbitrary))]
62 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
63 #[cfg_attr(test, derive(Arbitrary))]
64 pub struct U4(#[cfg_attr(test, proptest(strategy = "0..=16u8"))]u8);
65 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
66 #[cfg_attr(test, derive(Arbitrary))]
67 pub struct I5(#[cfg_attr(test, proptest(strategy = "-16..=15i8"))]i8);
68 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
69 #[cfg_attr(test, derive(Arbitrary))]
70 pub struct I7(#[cfg_attr(test, proptest(strategy = "-64..=63i8"))] i8);
71 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
72 #[cfg_attr(test, derive(Arbitrary))]
73 pub struct U7(#[cfg_attr(test, proptest(strategy = "0..=128u8"))]u8);
74 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
75 #[cfg_attr(test, derive(Arbitrary))]
77 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
78 #[cfg_attr(test, derive(Arbitrary))]
81 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
82 #[cfg_attr(test, derive(Arbitrary))]
89 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
90 #[cfg_attr(test, derive(Arbitrary))]
97 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
98 #[cfg_attr(test, derive(Arbitrary))]
110 #[derive(Clone, Copy, Debug, Eq)]
111 #[cfg_attr(test, derive(Arbitrary))]
112 #[cfg_attr(test, proptest(no_params))]
122 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
123 #[cfg_attr(test, derive(Arbitrary))]
131 Mem(LdSt
, Reg
, Addr
),
135 LdImm(Half
, Reg
, U8
),
138 impl PartialEq
for Cond
{
139 fn eq(&self, other
: &Cond
) -> bool
{
141 match (self, other
) {
142 (Eql(a1
, b1
), Eql(a2
, b2
)) => (a1
, b1
) == (a2
, b2
) || (a1
, b1
) == (b2
, a2
),
143 (Neq(a1
, b1
), Neq(a2
, b2
)) => (a1
, b1
) == (a2
, b2
) || (a1
, b1
) == (b2
, a2
),
144 (Test(a1
, b1
), Test(a2
, b2
)) => (a1
, b1
) == (a2
, b2
) || (a1
, b1
) == (b2
, a2
),
145 (TestNot(a1
, b1
), TestNot(a2
, b2
)) => (a1
, b1
) == (a2
, b2
) || (a1
, b1
) == (b2
, a2
),
146 (Lt(a1
, b1
), Lt(a2
, b2
)) => (a1
, b1
) == (a2
, b2
),
147 (Ult(a1
, b1
), Ult(a2
, b2
)) => (a1
, b1
) == (a2
, b2
),