add cpu::test::decode_and_run_single_insn and some formal tests of running PowerISA instructions #15

Merged
programmerjake merged 17 commits from programmerjake/cpu:decode-and-test-harness into master 2026-06-19 03:57:09 +00:00
2 changed files with 6 additions and 4 deletions
Showing only changes of commit 9d9a755d99 - Show all commits

8
Cargo.lock generated
View file

@ -388,7 +388,7 @@ checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
[[package]]
name = "fayalite"
version = "0.3.0"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#ffca1a279d79507c025a8d969bfff18295760c02"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#7ddb4780fa04f82a236dbb14322c3cbfa6fdc1e6"
dependencies = [
"base64",
"bitvec",
@ -417,7 +417,7 @@ dependencies = [
[[package]]
name = "fayalite-proc-macros"
version = "0.3.0"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#ffca1a279d79507c025a8d969bfff18295760c02"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#7ddb4780fa04f82a236dbb14322c3cbfa6fdc1e6"
dependencies = [
"fayalite-proc-macros-impl",
]
@ -425,7 +425,7 @@ dependencies = [
[[package]]
name = "fayalite-proc-macros-impl"
version = "0.3.0"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#ffca1a279d79507c025a8d969bfff18295760c02"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#7ddb4780fa04f82a236dbb14322c3cbfa6fdc1e6"
dependencies = [
"base16ct 0.2.0",
"num-bigint",
@ -440,7 +440,7 @@ dependencies = [
[[package]]
name = "fayalite-visit-gen"
version = "0.3.0"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#ffca1a279d79507c025a8d969bfff18295760c02"
source = "git+https://git.libre-chip.org/libre-chip/fayalite.git?branch=master#7ddb4780fa04f82a236dbb14322c3cbfa6fdc1e6"
dependencies = [
"indexmap",
"prettyplease",

View file

@ -535,6 +535,8 @@ impl<SrcCount: KnownSize> StaticType for CommonMOpDefaultImm<SrcCount> {
}
impl<SrcCount: KnownSize> HdlPartialEqImpl<Self> for CommonMOpDefaultImm<SrcCount> {
const TRY_STRUCTURAL_EQ: bool = true;
#[track_caller]
fn cmp_value_eq(
_lhs: Self,