From 108aa7673a0ffe0b40368d049ab92a7e05c8dac1 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Sun, 6 Jul 2025 22:21:01 -0600 Subject: [PATCH] Implement powerpc_asm::Error using thiserror --- Cargo.lock | 206 ++-- asm/Cargo.toml | 3 +- asm/src/generated.rs | 2456 +++++++++++++++++++++--------------------- asm/src/types.rs | 21 +- fuzz/Cargo.toml | 2 +- genisa/Cargo.toml | 2 +- genisa/src/asm.rs | 2 +- 7 files changed, 1356 insertions(+), 1336 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d7e6ad..f7892df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -19,64 +19,65 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "once_cell_polyfill", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.87" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f00e1f6e58a40e807377c75c6a7f97bf9044fab57816f2414e6f5f4499d7b8" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "autocfg" -version = "1.3.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "clap" -version = "4.5.17" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.17" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" dependencies = [ "anstream", "anstyle", @@ -86,40 +87,46 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "colored" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8" +checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "hashbrown" @@ -129,9 +136,9 @@ checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "indexmap" @@ -152,9 +159,9 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "lazy_static" @@ -164,15 +171,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "log" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "num-conv" @@ -191,9 +198,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", @@ -209,19 +216,26 @@ dependencies = [ ] [[package]] -name = "phf" -version = "0.11.2" +name = "once_cell_polyfill" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + +[[package]] +name = "phf" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "913273894cec178f401a31ec4b656318d95473527be05c0752cc41cdc32be8b7" dependencies = [ "phf_shared", + "serde", ] [[package]] name = "phf_codegen" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +checksum = "efbdcb6f01d193b17f0b9c3360fa7e0e620991b193ff08702f78b3ce365d7e61" dependencies = [ "phf_generator", "phf_shared", @@ -229,19 +243,19 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "2cbb1126afed61dd6368748dae63b1ee7dc480191c6262a3b4ff1e29d86a6c5b" dependencies = [ + "fastrand", "phf_shared", - "rand", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "06005508882fb681fd97892ecff4b7fd0fee13ef1aa569f8695dae7ab9099981" dependencies = [ "siphasher", ] @@ -261,6 +275,7 @@ name = "powerpc-asm" version = "0.4.0" dependencies = [ "phf", + "thiserror", ] [[package]] @@ -292,9 +307,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.22" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" dependencies = [ "proc-macro2", "syn", @@ -302,57 +317,42 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" - [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", @@ -386,9 +386,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "strsim" @@ -398,9 +398,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.77" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -408,10 +408,30 @@ dependencies = [ ] [[package]] -name = "time" -version = "0.3.36" +name = "thiserror" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.3.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", "itoa", @@ -426,15 +446,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", @@ -442,9 +462,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unsafe-libyaml" @@ -469,9 +489,9 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.52.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ "windows-targets 0.52.6", ] diff --git a/asm/Cargo.toml b/asm/Cargo.toml index 3e6e714..e7472d0 100644 --- a/asm/Cargo.toml +++ b/asm/Cargo.toml @@ -16,4 +16,5 @@ default = ["std"] std = [] [dependencies] -phf = "0.11" +phf = "0.12" +thiserror = "2.0" diff --git a/asm/src/generated.rs b/asm/src/generated.rs index 4ec0edf..32e4015 100644 --- a/asm/src/generated.rs +++ b/asm/src/generated.rs @@ -12265,1262 +12265,1262 @@ fn gen_xoris(args: &Arguments, modifiers: u32) -> Result { } type MnemonicFn = fn(&Arguments, u32) -> Result; static MNEMONIC_MAP: phf::Map<&'static str, (MnemonicFn, u32)> = ::phf::Map { - key: 12913932095322966823, + key: 16287231350648472473, disps: &[ - (0, 6), - (0, 1), (0, 15), - (0, 109), - (0, 7), - (0, 218), - (0, 1), - (0, 9), - (0, 190), - (0, 3), - (0, 57), - (0, 321), - (0, 4), - (0, 107), + (0, 34), + (0, 47), + (0, 75), + (0, 61), (0, 40), - (0, 370), - (0, 114), + (0, 1), + (0, 4), + (0, 82), + (0, 6), (0, 0), + (0, 6), + (0, 47), + (0, 313), + (0, 5), + (0, 37), + (0, 13), + (0, 0), + (0, 82), + (0, 0), + (0, 9), + (0, 27), + (0, 101), + (0, 312), + (0, 80), + (1, 879), + (0, 740), + (0, 7), + (1, 4), + (0, 16), + (0, 5), + (0, 546), + (0, 46), + (0, 86), + (0, 15), + (0, 457), + (0, 39), + (0, 1), + (0, 19), + (0, 29), + (2, 163), + (0, 232), + (0, 50), + (0, 610), + (0, 185), (0, 180), - (0, 537), + (0, 3), + (0, 47), + (0, 16), + (0, 111), + (0, 196), + (0, 83), + (0, 44), + (0, 104), + (0, 0), + (0, 488), + (0, 3), + (0, 35), + (1, 529), + (0, 1), + (3, 124), + (0, 45), + (0, 28), + (0, 154), + (0, 269), + (0, 83), + (0, 50), + (0, 24), + (1, 69), + (0, 335), + (0, 37), + (0, 90), + (0, 667), + (0, 51), + (0, 17), + (0, 3), + (0, 26), + (0, 164), + (1, 240), + (0, 15), + (0, 140), + (0, 16), + (0, 172), + (0, 598), + (1, 748), + (0, 19), + (0, 363), + (1, 0), + (0, 0), + (1, 268), + (0, 64), + (0, 53), + (0, 46), + (0, 4), + (0, 374), + (0, 10), + (0, 0), + (0, 20), + (0, 297), + (1, 544), + (0, 14), + (0, 26), + (0, 0), + (1, 33), + (0, 678), + (0, 2), + (0, 2), (0, 11), - (0, 522), - (1, 468), - (0, 137), - (0, 12), - (0, 22), + (0, 11), + (0, 1), + (0, 106), + (1, 587), + (0, 6), + (0, 173), + (4, 615), + (0, 159), + (0, 14), + (0, 76), + (3, 38), + (0, 8), + (0, 71), + (0, 0), + (1, 914), + (0, 1), + (0, 121), + (0, 161), + (0, 183), + (0, 9), + (0, 789), + (0, 176), + (1, 73), + (0, 173), + (0, 215), + (2, 943), + (0, 149), + (3, 189), + (0, 234), + (0, 107), + (0, 0), + (0, 438), + (1, 418), + (0, 4), + (1, 9), + (0, 167), + (0, 20), + (0, 231), + (0, 0), + (0, 833), + (1, 13), + (1, 210), + (1, 910), + (0, 774), + (0, 108), + (0, 20), + (1, 507), + (0, 183), + (0, 1), (0, 111), (0, 1), - (0, 240), - (0, 34), - (0, 17), - (0, 5), - (0, 0), - (0, 33), - (0, 0), - (0, 62), - (0, 12), - (0, 31), - (0, 2), - (0, 46), - (0, 22), - (0, 184), - (0, 8), - (0, 862), - (1, 0), - (1, 60), - (0, 23), (0, 1), - (0, 69), - (0, 14), - (1, 561), - (0, 88), - (0, 620), - (0, 86), + (1, 951), + (0, 940), (0, 3), - (0, 178), - (1, 4), - (0, 571), - (0, 0), - (1, 516), - (0, 447), - (0, 99), - (0, 175), - (0, 0), - (0, 7), - (0, 298), - (5, 39), - (0, 0), - (0, 524), - (1, 320), - (0, 268), - (1, 1008), - (0, 53), - (0, 949), - (0, 52), - (0, 973), - (0, 3), - (0, 638), - (0, 54), - (0, 764), - (0, 489), - (1, 312), - (0, 0), - (0, 0), - (0, 121), - (0, 26), - (0, 12), - (0, 4), - (0, 0), - (1, 4), - (0, 1), - (1, 636), - (0, 562), - (0, 476), - (1, 29), - (0, 464), - (0, 7), - (5, 438), - (0, 1), - (0, 58), - (0, 20), - (2, 952), - (0, 65), - (0, 175), + (3, 453), + (0, 395), (0, 11), - (0, 177), - (0, 394), - (1, 619), - (2, 817), - (0, 102), - (0, 396), - (0, 1), - (0, 510), - (0, 7), - (0, 0), - (0, 325), - (0, 13), - (0, 3), - (0, 436), - (0, 153), - (0, 509), - (0, 462), - (0, 138), - (0, 3), - (0, 315), - (0, 25), - (0, 233), - (0, 20), - (0, 773), - (0, 162), - (1, 143), - (5, 0), - (0, 105), - (1, 977), - (2, 167), + (1, 90), (0, 6), - (0, 2), - (0, 4), - (0, 49), - (6, 84), - (0, 728), - (0, 19), - (0, 117), - (0, 16), - (0, 3), - (3, 741), - (2, 487), - (2, 911), - (0, 9), - (0, 14), - (0, 12), - (1, 997), - (0, 30), - (0, 8), - (0, 80), - (0, 0), - (0, 32), - (0, 208), - (0, 756), - (1, 518), - (1, 509), - (1, 278), - (0, 21), - (0, 15), - (0, 213), - (2, 140), - (14, 931), - (0, 482), - (0, 59), - (3, 489), - (0, 3), - (0, 402), - (1, 481), + (0, 415), + (0, 437), + (1, 144), + (5, 448), + (0, 147), (0, 1), - (0, 11), - (109, 201), - (0, 11), - (2, 985), - (0, 14), - (0, 951), + (1, 311), + (0, 1), + (0, 162), + (0, 429), + (0, 238), + (0, 5), + (0, 627), + (0, 738), + (6, 728), + (1, 246), + (0, 38), + (0, 243), + (0, 535), + (0, 528), + (0, 996), + (0, 0), + (8, 35), (0, 10), - (5, 638), - (0, 733), - (0, 302), - (3, 231), - (0, 604), - (0, 70), - (0, 19), - (1, 887), - (0, 48), - (0, 1), - (1, 173), - (4, 492), - (12, 280), - (1, 60), - (0, 0), - (0, 45), - (4, 176), - (0, 114), - (2, 989), - (16, 258), - (0, 252), - (0, 445), - (3, 206), - (5, 373), - (3, 216), - (3, 1022), - (12, 308), - (0, 17), + (5, 865), + (1, 481), + (0, 7), + (1, 365), + (2, 245), + (0, 350), + (2, 603), + (0, 228), + (0, 115), + (0, 326), + (4, 420), + (0, 21), + (3, 839), + (17, 494), + (2, 64), + (0, 727), + (6, 817), ], entries: &[ - ("stfdu", (gen_stfdu, 0x0)), - ("crandc", (gen_crandc, 0x0)), - ("frsqrte", (gen_frsqrte, 0x0)), - ("ps_cmpu0", (gen_ps_cmpu0, 0x0)), - ("mulhdu", (gen_mulhdu, 0x0)), - ("fctiwz.", (gen_fctiwz, 0x1)), - ("mulldo.", (gen_mulld, 0x401)), - ("fmuls.", (gen_fmuls, 0x1)), - ("bgtctr", (gen_bgtctr, 0x0)), - ("bdnza", (gen_bdnz, 0x2)), - ("bnea-", (gen_bne, 0x200002)), - ("lvrxl", (gen_lvrxl, 0x0)), - ("bltctr", (gen_bltctr, 0x0)), - ("mullw.", (gen_mullw, 0x1)), - ("lfsu", (gen_lfsu, 0x0)), - ("bdnzflr+", (gen_bdnzflr, 0x200000)), - ("bcctrl+", (gen_bcctr, 0x200001)), - ("ps_madds0", (gen_ps_madds0, 0x0)), - ("stvxl128", (gen_stvxl128, 0x0)), - ("vmaxub", (gen_vmaxub, 0x0)), - ("vavgub", (gen_vavgub, 0x0)), - ("vmulesb", (gen_vmulesb, 0x0)), - ("bnsctrl", (gen_bnsctr, 0x1)), - ("sthx", (gen_sthx, 0x0)), - ("ps_sum1", (gen_ps_sum1, 0x0)), - ("subf.", (gen_subf, 0x1)), - ("andi.", (gen_andi_, 0x0)), - ("icbi", (gen_icbi, 0x0)), - ("crclr", (gen_crclr, 0x0)), - ("bso", (gen_bso, 0x0)), - ("beqla", (gen_beq, 0x3)), - ("slwi", (gen_slwi, 0x0)), - ("andc", (gen_andc, 0x0)), - ("bnea", (gen_bne, 0x2)), - ("ps_msub", (gen_ps_msub, 0x0)), - ("bdnztlrl", (gen_bdnztlr, 0x1)), - ("bsola+", (gen_bso, 0x200003)), - ("vrlw128", (gen_vrlw128, 0x0)), - ("bgtl+", (gen_bgt, 0x200001)), - ("vcfsx128", (gen_vcfsx128, 0x0)), - ("bgea", (gen_bge, 0x2)), - ("or.", (gen_or, 0x1)), - ("bdnz+", (gen_bdnz, 0x200000)), - ("bltl", (gen_blt, 0x1)), - ("vmaxsb", (gen_vmaxsb, 0x0)), - ("bctr", (gen_bctr, 0x0)), - ("bdnzt+", (gen_bdnzt, 0x200000)), - ("vcmpgtuh", (gen_vcmpgtuh, 0x0)), - ("bnectr+", (gen_bnectr, 0x200000)), - ("dcbzl", (gen_dcbzl, 0x0)), - ("ecowx", (gen_ecowx, 0x0)), - ("bdnzfl-", (gen_bdnzf, 0x200001)), - ("mtibatl", (gen_mtibatl, 0x0)), - ("subfe", (gen_subfe, 0x0)), - ("vor128", (gen_vor128, 0x0)), - ("subis", (gen_subis, 0x0)), - ("orc.", (gen_orc, 0x1)), - ("bdnzf-", (gen_bdnzf, 0x200000)), - ("bgt+", (gen_bgt, 0x200000)), - ("subfze", (gen_subfze, 0x0)), - ("vrlimi128", (gen_vrlimi128, 0x0)), - ("mtfsfi.", (gen_mtfsfi, 0x1)), - ("fsubs.", (gen_fsubs, 0x1)), - ("stfiwx", (gen_stfiwx, 0x0)), - ("bgelrl", (gen_bgelr, 0x1)), - ("vslb", (gen_vslb, 0x0)), - ("vmaxuh", (gen_vmaxuh, 0x0)), - ("ps_merge00", (gen_ps_merge00, 0x0)), - ("vmsumubm", (gen_vmsumubm, 0x0)), - ("cntlzw.", (gen_cntlzw, 0x1)), - ("fneg.", (gen_fneg, 0x1)), - ("vcmpgtfp128", (gen_vcmpgtfp128, 0x0)), - ("cmp", (gen_cmp, 0x0)), - ("extsb.", (gen_extsb, 0x1)), - ("addeo", (gen_adde, 0x400)), ("stwbrx", (gen_stwbrx, 0x0)), - ("vadduws", (gen_vadduws, 0x0)), - ("bltlr+", (gen_bltlr, 0x200000)), - ("bdzfla-", (gen_bdzf, 0x200003)), - ("mtibatu", (gen_mtibatu, 0x0)), - ("fneg", (gen_fneg, 0x0)), - ("subfic", (gen_subfic, 0x0)), - ("bdnzt", (gen_bdnzt, 0x0)), - ("blelrl+", (gen_blelr, 0x200001)), - ("mfvscr", (gen_mfvscr, 0x0)), - ("mtdbatl", (gen_mtdbatl, 0x0)), - ("ps_nabs", (gen_ps_nabs, 0x0)), - ("vxor128", (gen_vxor128, 0x0)), - ("fcmpu", (gen_fcmpu, 0x0)), - ("mr", (gen_mr, 0x0)), - ("lha", (gen_lha, 0x0)), - ("vctuxs", (gen_vctuxs, 0x0)), - ("vavguw", (gen_vavguw, 0x0)), - ("vspltisb", (gen_vspltisb, 0x0)), - ("bdnzfa+", (gen_bdnzf, 0x200002)), - ("mtfsb0.", (gen_mtfsb0, 0x1)), - ("psq_lx", (gen_psq_lx, 0x0)), - ("fctiwz", (gen_fctiwz, 0x0)), - ("stswx", (gen_stswx, 0x0)), - ("bdza-", (gen_bdz, 0x200002)), - ("beqctr+", (gen_beqctr, 0x200000)), - ("bcctr+", (gen_bcctr, 0x200000)), - ("vmrglw", (gen_vmrglw, 0x0)), - ("ps_merge11", (gen_ps_merge11, 0x0)), - ("rlwimi.", (gen_rlwimi, 0x1)), - ("bdnzf", (gen_bdnzf, 0x0)), - ("clrlslwi", (gen_clrlslwi, 0x0)), - ("bdzfa", (gen_bdzf, 0x2)), - ("vpkuhum128", (gen_vpkuhum128, 0x0)), - ("beq-", (gen_beq, 0x200000)), - ("lfsx", (gen_lfsx, 0x0)), - ("stvrxl128", (gen_stvrxl128, 0x0)), - ("fdivs.", (gen_fdivs, 0x1)), - ("frsp.", (gen_frsp, 0x1)), - ("slw", (gen_slw, 0x0)), - ("bdztlrl+", (gen_bdztlr, 0x200001)), - ("mfdec", (gen_mfdec, 0x0)), - ("vxor", (gen_vxor, 0x0)), - ("bgela-", (gen_bge, 0x200003)), - ("rlwnm", (gen_rlwnm, 0x0)), - ("vcmpgtfp128.", (gen_vcmpgtfp128, 0x40)), - ("bsola-", (gen_bso, 0x200003)), - ("bdzt-", (gen_bdzt, 0x200000)), - ("clrlslwi.", (gen_clrlslwi, 0x1)), - ("lvlx", (gen_lvlx, 0x0)), - ("cmpdi", (gen_cmpdi, 0x0)), - ("bnectrl", (gen_bnectr, 0x1)), - ("mtdbatu", (gen_mtdbatu, 0x0)), - ("rotlw.", (gen_rotlw, 0x1)), - ("vmaxfp128", (gen_vmaxfp128, 0x0)), - ("bdzl", (gen_bdz, 0x1)), - ("vpkuwus", (gen_vpkuwus, 0x0)), - ("ps_res", (gen_ps_res, 0x0)), - ("bcla", (gen_bc, 0x3)), - ("bdz", (gen_bdz, 0x0)), - ("ps_sel", (gen_ps_sel, 0x0)), - ("bso-", (gen_bso, 0x200000)), - ("bgtlr+", (gen_bgtlr, 0x200000)), - ("bsoctrl+", (gen_bsoctr, 0x200001)), - ("divwuo", (gen_divwu, 0x400)), - ("rldicr.", (gen_rldicr, 0x1)), - ("mttbl", (gen_mttbl, 0x0)), - ("lfsux", (gen_lfsux, 0x0)), - ("ps_add.", (gen_ps_add, 0x1)), - ("divwu.", (gen_divwu, 0x1)), - ("bdzt", (gen_bdzt, 0x0)), - ("bdnztla", (gen_bdnzt, 0x3)), - ("addco", (gen_addc, 0x400)), - ("lfdu", (gen_lfdu, 0x0)), - ("bdzfl", (gen_bdzf, 0x1)), - ("mtfsb1", (gen_mtfsb1, 0x0)), - ("ps_nmadd.", (gen_ps_nmadd, 0x1)), - ("vaddubm", (gen_vaddubm, 0x0)), - ("mulld.", (gen_mulld, 0x1)), - ("srwi", (gen_srwi, 0x0)), - ("mtsprg", (gen_mtsprg, 0x0)), - ("vsububs", (gen_vsububs, 0x0)), - ("mtfsfi", (gen_mtfsfi, 0x0)), - ("vupkd3d128", (gen_vupkd3d128, 0x0)), - ("srad", (gen_srad, 0x0)), - ("vaddcuw", (gen_vaddcuw, 0x0)), - ("stdu", (gen_stdu, 0x0)), - ("bne-", (gen_bne, 0x200000)), - ("beqa-", (gen_beq, 0x200002)), - ("vadduhm", (gen_vadduhm, 0x0)), - ("vpkuwum", (gen_vpkuwum, 0x0)), - ("lvlxl", (gen_lvlxl, 0x0)), - ("vupklsh", (gen_vupklsh, 0x0)), - ("bdzf-", (gen_bdzf, 0x200000)), - ("vsubcuw", (gen_vsubcuw, 0x0)), - ("vcmpgtuw.", (gen_vcmpgtuw, 0x400)), - ("bdnzf+", (gen_bdnzf, 0x200000)), - ("blt+", (gen_blt, 0x200000)), - ("vpkuhum", (gen_vpkuhum, 0x0)), - ("psq_lux", (gen_psq_lux, 0x0)), - ("vminsb", (gen_vminsb, 0x0)), - ("bgtlr", (gen_bgtlr, 0x0)), - ("fmr", (gen_fmr, 0x0)), - ("mullwo.", (gen_mullw, 0x401)), - ("vsubsbs", (gen_vsubsbs, 0x0)), - ("lvxl", (gen_lvxl, 0x0)), - ("fsub", (gen_fsub, 0x0)), - ("vnor128", (gen_vnor128, 0x0)), - ("blta+", (gen_blt, 0x200002)), - ("bdnztlr", (gen_bdnztlr, 0x0)), - ("fres.", (gen_fres, 0x1)), - ("vcmpbfp128.", (gen_vcmpbfp128, 0x40)), - ("bgtlrl", (gen_bgtlr, 0x1)), - ("vadduhs", (gen_vadduhs, 0x0)), - ("ps_muls0", (gen_ps_muls0, 0x0)), - ("bdnzflrl", (gen_bdnzflr, 0x1)), - ("lhau", (gen_lhau, 0x0)), - ("ps_nmsub.", (gen_ps_nmsub, 0x1)), - ("fctidz.", (gen_fctidz, 0x1)), - ("ps_neg.", (gen_ps_neg, 0x1)), - ("mtsr", (gen_mtsr, 0x0)), - ("bdzlr", (gen_bdzlr, 0x0)), - ("mfctr", (gen_mfctr, 0x0)), - ("vmsum3fp128", (gen_vmsum3fp128, 0x0)), - ("divdo.", (gen_divd, 0x401)), - ("bnslr", (gen_bnslr, 0x0)), - ("tdnei", (gen_tdnei, 0x0)), - ("fmadd.", (gen_fmadd, 0x1)), - ("fmsubs.", (gen_fmsubs, 0x1)), - ("vmrglh", (gen_vmrglh, 0x0)), - ("mffs", (gen_mffs, 0x0)), - ("bdzf+", (gen_bdzf, 0x200000)), - ("vrefp128", (gen_vrefp128, 0x0)), - ("vcmpbfp", (gen_vcmpbfp, 0x0)), - ("bnsa-", (gen_bns, 0x200002)), - ("rldcl.", (gen_rldcl, 0x1)), - ("bltlr", (gen_bltlr, 0x0)), - ("sync", (gen_sync, 0x0)), - ("vsldoi", (gen_vsldoi, 0x0)), - ("vmaxsh", (gen_vmaxsh, 0x0)), - ("vpkswus", (gen_vpkswus, 0x0)), - ("bdnzt-", (gen_bdnzt, 0x200000)), - ("stfs", (gen_stfs, 0x0)), - ("bdzlrl", (gen_bdzlr, 0x1)), - ("mtdsisr", (gen_mtdsisr, 0x0)), - ("bdnzfl+", (gen_bdnzf, 0x200001)), - ("cmpli", (gen_cmpli, 0x0)), - ("ps_merge10", (gen_ps_merge10, 0x0)), - ("stswi", (gen_stswi, 0x0)), - ("slbia", (gen_slbia, 0x0)), - ("mfear", (gen_mfear, 0x0)), - ("bdztl", (gen_bdzt, 0x1)), - ("lswx", (gen_lswx, 0x0)), - ("vrsqrtefp", (gen_vrsqrtefp, 0x0)), - ("rldic", (gen_rldic, 0x0)), - ("vmuleub", (gen_vmuleub, 0x0)), - ("vpkuhus128", (gen_vpkuhus128, 0x0)), - ("lwaux", (gen_lwaux, 0x0)), - ("lhzx", (gen_lhzx, 0x0)), - ("nor", (gen_nor, 0x0)), - ("vmhraddshs", (gen_vmhraddshs, 0x0)), - ("addme", (gen_addme, 0x0)), - ("bdzl+", (gen_bdz, 0x200001)), - ("andis.", (gen_andis_, 0x0)), - ("sld", (gen_sld, 0x0)), - ("vsrw", (gen_vsrw, 0x0)), - ("cmpldi", (gen_cmpldi, 0x0)), - ("subfeo", (gen_subfe, 0x400)), - ("vaddubs", (gen_vaddubs, 0x0)), - ("vsubfp", (gen_vsubfp, 0x0)), - ("vcmpgtub.", (gen_vcmpgtub, 0x400)), - ("mtmsrd", (gen_mtmsrd, 0x0)), - ("bnelr+", (gen_bnelr, 0x200000)), - ("mfspr", (gen_mfspr, 0x0)), - ("vavgsw", (gen_vavgsw, 0x0)), - ("fdiv.", (gen_fdiv, 0x1)), - ("nop", (gen_nop, 0x0)), - ("bgtl", (gen_bgt, 0x1)), - ("cmpld", (gen_cmpld, 0x0)), - ("beqla-", (gen_beq, 0x200003)), - ("rotld.", (gen_rotld, 0x1)), - ("fmadds", (gen_fmadds, 0x0)), - ("lvsr128", (gen_lvsr128, 0x0)), - ("blea-", (gen_ble, 0x200002)), - ("ps_merge01.", (gen_ps_merge01, 0x1)), - ("bgta", (gen_bgt, 0x2)), - ("eqv.", (gen_eqv, 0x1)), - ("fmuls", (gen_fmuls, 0x0)), - ("stvx128", (gen_stvx128, 0x0)), - ("beq", (gen_beq, 0x0)), - ("bdnzlrl+", (gen_bdnzlr, 0x200001)), - ("and.", (gen_and, 0x1)), - ("bdzflrl", (gen_bdzflr, 0x1)), - ("td", (gen_td, 0x0)), - ("lbz", (gen_lbz, 0x0)), - ("bdzflr", (gen_bdzflr, 0x0)), - ("vsrah", (gen_vsrah, 0x0)), - ("psq_stx", (gen_psq_stx, 0x0)), - ("neg", (gen_neg, 0x0)), - ("ptesync", (gen_ptesync, 0x0)), - ("vrefp", (gen_vrefp, 0x0)), - ("lvx", (gen_lvx, 0x0)), - ("bnsl-", (gen_bns, 0x200001)), - ("srw.", (gen_srw, 0x1)), - ("bdnzfla-", (gen_bdnzf, 0x200003)), - ("extlwi.", (gen_extlwi, 0x1)), - ("beqlr", (gen_beqlr, 0x0)), - ("vpkshus", (gen_vpkshus, 0x0)), - ("bdza", (gen_bdz, 0x2)), - ("vpkswss", (gen_vpkswss, 0x0)), - ("bsol", (gen_bso, 0x1)), - ("vcfsx", (gen_vcfsx, 0x0)), - ("stwux", (gen_stwux, 0x0)), - ("bdzfa-", (gen_bdzf, 0x200002)), - ("bnsctrl+", (gen_bnsctr, 0x200001)), - ("fmul.", (gen_fmul, 0x1)), - ("bdzta", (gen_bdzt, 0x2)), - ("lvlx128", (gen_lvlx128, 0x0)), - ("tdlti", (gen_tdlti, 0x0)), - ("tw", (gen_tw, 0x0)), - ("vcmpeqfp.", (gen_vcmpeqfp, 0x400)), - ("clrrwi", (gen_clrrwi, 0x0)), - ("vcmpbfp128", (gen_vcmpbfp128, 0x0)), - ("bltla-", (gen_blt, 0x200003)), - ("subfme", (gen_subfme, 0x0)), - ("twui", (gen_twui, 0x0)), - ("vor", (gen_vor, 0x0)), - ("vsrb", (gen_vsrb, 0x0)), - ("rlwnm.", (gen_rlwnm, 0x1)), - ("bdnzta-", (gen_bdnzt, 0x200002)), - ("vminfp", (gen_vminfp, 0x0)), - ("ps_div.", (gen_ps_div, 0x1)), - ("vmrghb", (gen_vmrghb, 0x0)), - ("vaddfp", (gen_vaddfp, 0x0)), - ("rldcl", (gen_rldcl, 0x0)), - ("bdzf", (gen_bdzf, 0x0)), - ("vupkhsb128", (gen_vupkhsb128, 0x0)), - ("ps_mul", (gen_ps_mul, 0x0)), - ("bdnztlrl+", (gen_bdnztlr, 0x200001)), - ("bso+", (gen_bso, 0x200000)), - ("rldimi.", (gen_rldimi, 0x1)), - ("bnela-", (gen_bne, 0x200003)), - ("bdzla-", (gen_bdz, 0x200003)), - ("ldu", (gen_ldu, 0x0)), - ("fnabs.", (gen_fnabs, 0x1)), - ("bgt", (gen_bgt, 0x0)), - ("dcbf", (gen_dcbf, 0x0)), - ("ps_nmsub", (gen_ps_nmsub, 0x0)), - ("vmsumuhm", (gen_vmsumuhm, 0x0)), - ("stfdx", (gen_stfdx, 0x0)), - ("bclrl", (gen_bclr, 0x1)), - ("vcmpgtub", (gen_vcmpgtub, 0x0)), - ("psq_st", (gen_psq_st, 0x0)), - ("vmrglb", (gen_vmrglb, 0x0)), - ("xoris", (gen_xoris, 0x0)), - ("mulhwu", (gen_mulhwu, 0x0)), - ("mfmsr", (gen_mfmsr, 0x0)), - ("stvlx", (gen_stvlx, 0x0)), - ("fres", (gen_fres, 0x0)), - ("divdo", (gen_divd, 0x400)), - ("neg.", (gen_neg, 0x1)), - ("vpkshus128", (gen_vpkshus128, 0x0)), - ("bgtla", (gen_bgt, 0x3)), - ("stvewx", (gen_stvewx, 0x0)), - ("bsolr+", (gen_bsolr, 0x200000)), - ("bnel+", (gen_bne, 0x200001)), - ("bsoa+", (gen_bso, 0x200002)), - ("vmsumuhs", (gen_vmsumuhs, 0x0)), - ("lfdx", (gen_lfdx, 0x0)), - ("nego.", (gen_neg, 0x401)), - ("addo", (gen_add, 0x400)), - ("rlwinm", (gen_rlwinm, 0x0)), - ("vpkshss128", (gen_vpkshss128, 0x0)), - ("mtfsf", (gen_mtfsf, 0x0)), - ("addzeo", (gen_addze, 0x400)), - ("bdz-", (gen_bdz, 0x200000)), - ("addc", (gen_addc, 0x0)), - ("beqa+", (gen_beq, 0x200002)), - ("lvsr", (gen_lvsr, 0x0)), - ("vsubuhs", (gen_vsubuhs, 0x0)), - ("rotrwi.", (gen_rotrwi, 0x1)), - ("blela", (gen_ble, 0x3)), - ("fnmadds", (gen_fnmadds, 0x0)), - ("lwz", (gen_lwz, 0x0)), - ("sraw.", (gen_sraw, 0x1)), - ("subf", (gen_subf, 0x0)), - ("vaddsws", (gen_vaddsws, 0x0)), - ("lfdux", (gen_lfdux, 0x0)), - ("subfmeo", (gen_subfme, 0x400)), - ("stw", (gen_stw, 0x0)), - ("fmadd", (gen_fmadd, 0x0)), - ("vspltish", (gen_vspltish, 0x0)), - ("mtvscr", (gen_mtvscr, 0x0)), - ("ps_sum1.", (gen_ps_sum1, 0x1)), - ("lhzu", (gen_lhzu, 0x0)), - ("vsububm", (gen_vsububm, 0x0)), - ("rldic.", (gen_rldic, 0x1)), - ("bdz+", (gen_bdz, 0x200000)), - ("vmladduhm", (gen_vmladduhm, 0x0)), - ("mfsrin", (gen_mfsrin, 0x0)), - ("fnmsub.", (gen_fnmsub, 0x1)), - ("mtdar", (gen_mtdar, 0x0)), - ("vpermwi128", (gen_vpermwi128, 0x0)), - ("vlogefp128", (gen_vlogefp128, 0x0)), - ("dcbt", (gen_dcbt, 0x0)), - ("rldcr", (gen_rldcr, 0x0)), - ("fadds.", (gen_fadds, 0x1)), - ("fadd.", (gen_fadd, 0x1)), - ("rotlwi", (gen_rotlwi, 0x0)), - ("bdzfl+", (gen_bdzf, 0x200001)), - ("ble", (gen_ble, 0x0)), - ("vsplth", (gen_vsplth, 0x0)), - ("ps_sum0", (gen_ps_sum0, 0x0)), - ("ps_nmadd", (gen_ps_nmadd, 0x0)), - ("stdcx.", (gen_stdcx_, 0x0)), - ("lwarx", (gen_lwarx, 0x0)), - ("vmrglw128", (gen_vmrglw128, 0x0)), - ("fdivs", (gen_fdivs, 0x0)), - ("adde", (gen_adde, 0x0)), - ("b", (gen_b, 0x0)), - ("slw.", (gen_slw, 0x1)), - ("ps_abs.", (gen_ps_abs, 0x1)), - ("mttbu", (gen_mttbu, 0x0)), - ("mfxer", (gen_mfxer, 0x0)), - ("vpkswus128", (gen_vpkswus128, 0x0)), - ("vcmpequb", (gen_vcmpequb, 0x0)), - ("lwax", (gen_lwax, 0x0)), - ("bdzlrl+", (gen_bdzlr, 0x200001)), - ("mtxer", (gen_mtxer, 0x0)), - ("bsoctr+", (gen_bsoctr, 0x200000)), - ("mtlr", (gen_mtlr, 0x0)), - ("bnsla-", (gen_bns, 0x200003)), - ("blr", (gen_blr, 0x0)), - ("bdnzl", (gen_bdnz, 0x1)), - ("fctiw", (gen_fctiw, 0x0)), - ("vminuh", (gen_vminuh, 0x0)), - ("vrfip", (gen_vrfip, 0x0)), - ("clrlwi", (gen_clrlwi, 0x0)), - ("divw", (gen_divw, 0x0)), - ("add", (gen_add, 0x0)), - ("mtsrr1", (gen_mtsrr1, 0x0)), - ("nand", (gen_nand, 0x0)), - ("lvewx128", (gen_lvewx128, 0x0)), - ("fmadds.", (gen_fmadds, 0x1)), - ("mfsr", (gen_mfsr, 0x0)), - ("stvlx128", (gen_stvlx128, 0x0)), - ("ps_madds1.", (gen_ps_madds1, 0x1)), - ("eqv", (gen_eqv, 0x0)), - ("mfdbatu", (gen_mfdbatu, 0x0)), - ("subfe.", (gen_subfe, 0x1)), - ("mtcrf", (gen_mtcrf, 0x0)), - ("fnmsubs", (gen_fnmsubs, 0x0)), - ("bnslr+", (gen_bnslr, 0x200000)), - ("rotlwi.", (gen_rotlwi, 0x1)), - ("frsp", (gen_frsp, 0x0)), - ("fcfid", (gen_fcfid, 0x0)), - ("vnmsubfp", (gen_vnmsubfp, 0x0)), - ("ps_merge00.", (gen_ps_merge00, 0x1)), - ("bne+", (gen_bne, 0x200000)), - ("bnsa", (gen_bns, 0x2)), - ("beqctr", (gen_beqctr, 0x0)), - ("bne", (gen_bne, 0x0)), - ("blel-", (gen_ble, 0x200001)), - ("vminub", (gen_vminub, 0x0)), - ("stvlxl128", (gen_stvlxl128, 0x0)), - ("bge-", (gen_bge, 0x200000)), - ("vrfin", (gen_vrfin, 0x0)), - ("lfd", (gen_lfd, 0x0)), - ("subfzeo", (gen_subfze, 0x400)), - ("cmplwi", (gen_cmplwi, 0x0)), - ("bdnzla", (gen_bdnz, 0x3)), - ("subfze.", (gen_subfze, 0x1)), - ("bdnza+", (gen_bdnz, 0x200002)), - ("vcmpgefp.", (gen_vcmpgefp, 0x400)), - ("divwu", (gen_divwu, 0x0)), - ("bdnzta", (gen_bdnzt, 0x2)), - ("rotrwi", (gen_rotrwi, 0x0)), - ("lvrx", (gen_lvrx, 0x0)), - ("nor.", (gen_nor, 0x1)), - ("vcmpgtsw", (gen_vcmpgtsw, 0x0)), - ("vctsxs128", (gen_vctsxs128, 0x0)), - ("sth", (gen_sth, 0x0)), - ("ps_madds1", (gen_ps_madds1, 0x0)), - ("dcbi", (gen_dcbi, 0x0)), - ("subfo", (gen_subf, 0x400)), - ("srwi.", (gen_srwi, 0x1)), - ("bc-", (gen_bc, 0x200000)), - ("tdi", (gen_tdi, 0x0)), - ("divwuo.", (gen_divwu, 0x401)), - ("cmpwi", (gen_cmpwi, 0x0)), - ("creqv", (gen_creqv, 0x0)), - ("bc", (gen_bc, 0x0)), - ("lvsl", (gen_lvsl, 0x0)), - ("vsrw128", (gen_vsrw128, 0x0)), - ("mullw", (gen_mullw, 0x0)), - ("slwi.", (gen_slwi, 0x1)), - ("bnela+", (gen_bne, 0x200003)), - ("stwu", (gen_stwu, 0x0)), - ("divwo.", (gen_divw, 0x401)), - ("dst", (gen_dst, 0x0)), - ("fdiv", (gen_fdiv, 0x0)), - ("bnsla", (gen_bns, 0x3)), - ("fnmadds.", (gen_fnmadds, 0x1)), - ("fmr.", (gen_fmr, 0x1)), - ("bsol-", (gen_bso, 0x200001)), - ("crnot", (gen_crnot, 0x0)), - ("beqctrl+", (gen_beqctr, 0x200001)), - ("bgtla+", (gen_bgt, 0x200003)), - ("vcmpgefp128.", (gen_vcmpgefp128, 0x40)), - ("ldx", (gen_ldx, 0x0)), - ("bgectrl", (gen_bgectr, 0x1)), - ("cror", (gen_cror, 0x0)), - ("lwzux", (gen_lwzux, 0x0)), - ("lwsync", (gen_lwsync, 0x0)), - ("vmaxuw", (gen_vmaxuw, 0x0)), - ("ble+", (gen_ble, 0x200000)), - ("subic", (gen_subic, 0x0)), - ("vrfiz128", (gen_vrfiz128, 0x0)), - ("vaddsbs", (gen_vaddsbs, 0x0)), - ("divd", (gen_divd, 0x0)), - ("bdnztla+", (gen_bdnzt, 0x200003)), - ("bsolrl+", (gen_bsolr, 0x200001)), - ("bgel+", (gen_bge, 0x200001)), - ("bgectr+", (gen_bgectr, 0x200000)), - ("vpkuhus", (gen_vpkuhus, 0x0)), - ("ps_cmpo0", (gen_ps_cmpo0, 0x0)), - ("vcmpeqfp128", (gen_vcmpeqfp128, 0x0)), - ("bdztlr+", (gen_bdztlr, 0x200000)), - ("bdnz", (gen_bdnz, 0x0)), - ("bnelrl", (gen_bnelr, 0x1)), - ("mulhd", (gen_mulhd, 0x0)), - ("blea+", (gen_ble, 0x200002)), - ("beqlrl+", (gen_beqlr, 0x200001)), - ("bgela", (gen_bge, 0x3)), - ("bgela+", (gen_bge, 0x200003)), - ("blel+", (gen_ble, 0x200001)), - ("mcrxr", (gen_mcrxr, 0x0)), - ("mtdec", (gen_mtdec, 0x0)), - ("twi", (gen_twi, 0x0)), - ("vsro", (gen_vsro, 0x0)), - ("nego", (gen_neg, 0x400)), ("bgtctr+", (gen_bgtctr, 0x200000)), - ("ps_abs", (gen_ps_abs, 0x0)), - ("bcla-", (gen_bc, 0x200003)), - ("bdnztl-", (gen_bdnzt, 0x200001)), - ("mtsrd", (gen_mtsrd, 0x0)), - ("vmaxsw", (gen_vmaxsw, 0x0)), - ("bdnzfa", (gen_bdnzf, 0x2)), - ("mfsprg", (gen_mfsprg, 0x0)), - ("vmulfp128", (gen_vmulfp128, 0x0)), - ("bnelr", (gen_bnelr, 0x0)), - ("cntlzw", (gen_cntlzw, 0x0)), - ("lvebx", (gen_lvebx, 0x0)), - ("bnsctr", (gen_bnsctr, 0x0)), - ("vaddshs", (gen_vaddshs, 0x0)), - ("extsw", (gen_extsw, 0x0)), - ("mtfsb0", (gen_mtfsb0, 0x0)), - ("ps_nabs.", (gen_ps_nabs, 0x1)), - ("crand", (gen_crand, 0x0)), - ("lfs", (gen_lfs, 0x0)), - ("cntlzd.", (gen_cntlzd, 0x1)), - ("vnmsubfp128", (gen_vnmsubfp128, 0x0)), - ("vctuxs128", (gen_vctuxs128, 0x0)), - ("bdzla+", (gen_bdz, 0x200003)), - ("cntlzd", (gen_cntlzd, 0x0)), - ("tlbie", (gen_tlbie, 0x0)), - ("bdzflr+", (gen_bdzflr, 0x200000)), - ("stfsx", (gen_stfsx, 0x0)), - ("bnel-", (gen_bne, 0x200001)), - ("blta", (gen_blt, 0x2)), - ("vsrab", (gen_vsrab, 0x0)), - ("xor", (gen_xor, 0x0)), - ("andc.", (gen_andc, 0x1)), - ("bsolrl", (gen_bsolr, 0x1)), - ("blela-", (gen_ble, 0x200003)), - ("bltctrl", (gen_bltctr, 0x1)), - ("vcmpgtuh.", (gen_vcmpgtuh, 0x400)), - ("vcmpeqfp", (gen_vcmpeqfp, 0x0)), - ("vrsqrtefp128", (gen_vrsqrtefp128, 0x0)), - ("rfid", (gen_rfid, 0x0)), - ("tdge", (gen_tdge, 0x0)), - ("vandc128", (gen_vandc128, 0x0)), - ("bltl+", (gen_blt, 0x200001)), - ("mfdar", (gen_mfdar, 0x0)), - ("mfsdr1", (gen_mfsdr1, 0x0)), - ("fctid.", (gen_fctid, 0x1)), - ("ldarx", (gen_ldarx, 0x0)), - ("mulhwu.", (gen_mulhwu, 0x1)), - ("mcrfs", (gen_mcrfs, 0x0)), - ("subfco.", (gen_subfc, 0x401)), - ("psq_lu", (gen_psq_lu, 0x0)), - ("addmeo", (gen_addme, 0x400)), - ("ori", (gen_ori, 0x0)), - ("bdnzta+", (gen_bdnzt, 0x200002)), - ("eciwx", (gen_eciwx, 0x0)), - ("bdnztlr+", (gen_bdnztlr, 0x200000)), - ("bclr+", (gen_bclr, 0x200000)), - ("trap", (gen_trap, 0x0)), - ("vsubshs", (gen_vsubshs, 0x0)), - ("vand128", (gen_vand128, 0x0)), - ("clrlwi.", (gen_clrlwi, 0x1)), - ("stmw", (gen_stmw, 0x0)), - ("lbzux", (gen_lbzux, 0x0)), - ("bdnzlrl", (gen_bdnzlr, 0x1)), - ("mffs.", (gen_mffs, 0x1)), - ("lhbrx", (gen_lhbrx, 0x0)), - ("dstst", (gen_dstst, 0x0)), - ("bgelr", (gen_bgelr, 0x0)), - ("vsubuwm", (gen_vsubuwm, 0x0)), - ("ps_madd", (gen_ps_madd, 0x0)), - ("vadduwm", (gen_vadduwm, 0x0)), - ("sthu", (gen_sthu, 0x0)), - ("stvrx", (gen_stvrx, 0x0)), - ("vsel128", (gen_vsel128, 0x0)), - ("beqlr+", (gen_beqlr, 0x200000)), - ("addzeo.", (gen_addze, 0x401)), - ("divd.", (gen_divd, 0x1)), - ("srawi", (gen_srawi, 0x0)), - ("vmsumshs", (gen_vmsumshs, 0x0)), - ("blta-", (gen_blt, 0x200002)), - ("bcla+", (gen_bc, 0x200003)), - ("fnmadd.", (gen_fnmadd, 0x1)), - ("subfme.", (gen_subfme, 0x1)), - ("lhz", (gen_lhz, 0x0)), - ("lbzu", (gen_lbzu, 0x0)), - ("vminfp128", (gen_vminfp128, 0x0)), - ("xori", (gen_xori, 0x0)), - ("vperm128", (gen_vperm128, 0x0)), - ("and", (gen_and, 0x0)), - ("lvrxl128", (gen_lvrxl128, 0x0)), - ("lwzx", (gen_lwzx, 0x0)), - ("ps_muls1", (gen_ps_muls1, 0x0)), - ("vsraw", (gen_vsraw, 0x0)), - ("bctrl", (gen_bctr, 0x1)), - ("divwo", (gen_divw, 0x400)), - ("bdztl-", (gen_bdzt, 0x200001)), - ("blt-", (gen_blt, 0x200000)), - ("extrwi", (gen_extrwi, 0x0)), - ("crxor", (gen_crxor, 0x0)), - ("mfsrr1", (gen_mfsrr1, 0x0)), - ("crnand", (gen_crnand, 0x0)), - ("bnela", (gen_bne, 0x3)), - ("blea", (gen_ble, 0x2)), - ("tweq", (gen_tweq, 0x0)), - ("vsro128", (gen_vsro128, 0x0)), - ("subfeo.", (gen_subfe, 0x401)), - ("bdnzfla", (gen_bdnzf, 0x3)), - ("dstt", (gen_dst, 0x2000000)), - ("fadd", (gen_fadd, 0x0)), - ("twgti", (gen_twgti, 0x0)), - ("stvrxl", (gen_stvrxl, 0x0)), - ("bcl-", (gen_bc, 0x200001)), - ("vcmpgefp128", (gen_vcmpgefp128, 0x0)), - ("stfd", (gen_stfd, 0x0)), - ("ps_mr.", (gen_ps_mr, 0x1)), - ("vrlh", (gen_vrlh, 0x0)), - ("vminsw", (gen_vminsw, 0x0)), - ("vsum4sbs", (gen_vsum4sbs, 0x0)), - ("lwa", (gen_lwa, 0x0)), - ("bdzfla", (gen_bdzf, 0x3)), - ("subfc", (gen_subfc, 0x0)), - ("subfzeo.", (gen_subfze, 0x401)), - ("bdnz-", (gen_bdnz, 0x200000)), - ("vslo128", (gen_vslo128, 0x0)), - ("bgel", (gen_bge, 0x1)), - ("frsqrte.", (gen_frsqrte, 0x1)), - ("lswi", (gen_lswi, 0x0)), - ("fabs", (gen_fabs, 0x0)), - ("ps_mr", (gen_ps_mr, 0x0)), - ("mcrf", (gen_mcrf, 0x0)), - ("divdu", (gen_divdu, 0x0)), - ("ble-", (gen_ble, 0x200000)), - ("vsel", (gen_vsel, 0x0)), - ("vmaddcfp128", (gen_vmaddcfp128, 0x0)), - ("bdnztla-", (gen_bdnzt, 0x200003)), - ("bgta-", (gen_bgt, 0x200002)), - ("mfdbatl", (gen_mfdbatl, 0x0)), - ("stvehx", (gen_stvehx, 0x0)), - ("eieio", (gen_eieio, 0x0)), - ("mullwo", (gen_mullw, 0x400)), - ("stdx", (gen_stdx, 0x0)), - ("srd.", (gen_srd, 0x1)), - ("bcl", (gen_bc, 0x1)), - ("subi", (gen_subi, 0x0)), - ("fnmadd", (gen_fnmadd, 0x0)), - ("vcmpequw", (gen_vcmpequw, 0x0)), - ("vcmpequw128", (gen_vcmpequw128, 0x0)), - ("mtear", (gen_mtear, 0x0)), - ("stfsu", (gen_stfsu, 0x0)), - ("bsol+", (gen_bso, 0x200001)), - ("orc", (gen_orc, 0x0)), - ("subfmeo.", (gen_subfme, 0x401)), - ("cmpl", (gen_cmpl, 0x0)), - ("bdzta-", (gen_bdzt, 0x200002)), - ("addo.", (gen_add, 0x401)), - ("rotld", (gen_rotld, 0x0)), - ("vspltisw128", (gen_vspltisw128, 0x0)), - ("bdnzfa-", (gen_bdnzf, 0x200002)), - ("mtmsr", (gen_mtmsr, 0x0)), - ("slbie", (gen_slbie, 0x0)), - ("bdnzla+", (gen_bdnz, 0x200003)), - ("vupkhpx", (gen_vupkhpx, 0x0)), - ("sradi", (gen_sradi, 0x0)), - ("vspltw", (gen_vspltw, 0x0)), - ("bdzt+", (gen_bdzt, 0x200000)), - ("vcmpgtuw", (gen_vcmpgtuw, 0x0)), - ("stvxl", (gen_stvxl, 0x0)), - ("mtspr", (gen_mtspr, 0x0)), - ("vspltisw", (gen_vspltisw, 0x0)), - ("ps_muls0.", (gen_ps_muls0, 0x1)), - ("vsum4ubs", (gen_vsum4ubs, 0x0)), - ("ps_muls1.", (gen_ps_muls1, 0x1)), - ("psq_l", (gen_psq_l, 0x0)), - ("vspltb", (gen_vspltb, 0x0)), - ("rlwimi", (gen_rlwimi, 0x0)), - ("bgtctrl+", (gen_bgtctr, 0x200001)), - ("beql", (gen_beq, 0x1)), - ("mulhw.", (gen_mulhw, 0x1)), - ("vupkhsh", (gen_vupkhsh, 0x0)), - ("vrfim128", (gen_vrfim128, 0x0)), - ("sraw", (gen_sraw, 0x0)), - ("bgelr+", (gen_bgelr, 0x200000)), - ("rfi", (gen_rfi, 0x0)), - ("addme.", (gen_addme, 0x1)), - ("bdztlr", (gen_bdztlr, 0x0)), - ("vsubuhm", (gen_vsubuhm, 0x0)), - ("psq_stux", (gen_psq_stux, 0x0)), - ("bdnzflrl+", (gen_bdnzflr, 0x200001)), - ("fmsub", (gen_fmsub, 0x0)), - ("bdzfa+", (gen_bdzf, 0x200002)), - ("bc+", (gen_bc, 0x200000)), - ("fsub.", (gen_fsub, 0x1)), - ("bnelrl+", (gen_bnelr, 0x200001)), - ("vnot", (gen_vnot, 0x0)), - ("vupklsh128", (gen_vupklsh128, 0x0)), - ("bnsl", (gen_bns, 0x1)), - ("cmpw", (gen_cmpw, 0x0)), - ("stdux", (gen_stdux, 0x0)), - ("li", (gen_li, 0x0)), - ("bdza+", (gen_bdz, 0x200002)), - ("bltl-", (gen_blt, 0x200001)), - ("stfdux", (gen_stfdux, 0x0)), - ("ps_sum0.", (gen_ps_sum0, 0x1)), - ("bgta+", (gen_bgt, 0x200002)), - ("vcmpequh.", (gen_vcmpequh, 0x400)), - ("bsoa", (gen_bso, 0x2)), - ("crnor", (gen_crnor, 0x0)), - ("vand", (gen_vand, 0x0)), - ("rlwinm.", (gen_rlwinm, 0x1)), - ("bgectr", (gen_bgectr, 0x0)), - ("stwcx.", (gen_stwcx_, 0x0)), - ("vspltw128", (gen_vspltw128, 0x0)), - ("vupklsb128", (gen_vupklsb128, 0x0)), - ("stvx", (gen_stvx, 0x0)), - ("ps_msub.", (gen_ps_msub, 0x1)), - ("bltlrl", (gen_bltlr, 0x1)), - ("fctidz", (gen_fctidz, 0x0)), - ("lvxl128", (gen_lvxl128, 0x0)), - ("vmrghw128", (gen_vmrghw128, 0x0)), - ("bdzflrl+", (gen_bdzflr, 0x200001)), - ("bgea-", (gen_bge, 0x200002)), - ("fcmpo", (gen_fcmpo, 0x0)), - ("bsola", (gen_bso, 0x3)), - ("lwzu", (gen_lwzu, 0x0)), - ("vmulosb", (gen_vmulosb, 0x0)), - ("subfo.", (gen_subf, 0x401)), - ("vsrh", (gen_vsrh, 0x0)), - ("stvewx128", (gen_stvewx128, 0x0)), - ("addic.", (gen_addic_, 0x0)), - ("vaddfp128", (gen_vaddfp128, 0x0)), - ("blectrl", (gen_blectr, 0x1)), - ("vrfiz", (gen_vrfiz, 0x0)), - ("bnectr", (gen_bnectr, 0x0)), - ("beql+", (gen_beq, 0x200001)), - ("addco.", (gen_addc, 0x401)), - ("vcmpgtsb.", (gen_vcmpgtsb, 0x400)), - ("beqctrl", (gen_beqctr, 0x1)), - ("tlbsync", (gen_tlbsync, 0x0)), - ("icbi.", (gen_icbi, 0x1)), - ("vcmpequw128.", (gen_vcmpequw128, 0x40)), - ("vmsumshm", (gen_vmsumshm, 0x0)), - ("bsoctr", (gen_bsoctr, 0x0)), - ("bge", (gen_bge, 0x0)), - ("bgtl-", (gen_bgt, 0x200001)), - ("vsubuws", (gen_vsubuws, 0x0)), - ("vsraw128", (gen_vsraw128, 0x0)), - ("rldicr", (gen_rldicr, 0x0)), - ("fmsubs", (gen_fmsubs, 0x0)), - ("vcmpgefp", (gen_vcmpgefp, 0x0)), - ("cmpd", (gen_cmpd, 0x0)), - ("rldicl", (gen_rldicl, 0x0)), - ("ldux", (gen_ldux, 0x0)), - ("vcmpequw.", (gen_vcmpequw, 0x400)), - ("vmsummbm", (gen_vmsummbm, 0x0)), - ("mtsdr1", (gen_mtsdr1, 0x0)), - ("ps_madds0.", (gen_ps_madds0, 0x1)), - ("ba", (gen_b, 0x2)), - ("vminuw", (gen_vminuw, 0x0)), - ("beqlrl", (gen_beqlr, 0x1)), - ("fsel.", (gen_fsel, 0x1)), - ("sradi.", (gen_sradi, 0x1)), - ("vcfux", (gen_vcfux, 0x0)), - ("stbu", (gen_stbu, 0x0)), - ("vmsum4fp128", (gen_vmsum4fp128, 0x0)), - ("bnectrl+", (gen_bnectr, 0x200001)), - ("bsolr", (gen_bsolr, 0x0)), - ("vcmpeqfp128.", (gen_vcmpeqfp128, 0x40)), - ("twlge", (gen_twlge, 0x0)), - ("nand.", (gen_nand, 0x1)), - ("stbx", (gen_stbx, 0x0)), - ("bdzfl-", (gen_bdzf, 0x200001)), - ("extsb", (gen_extsb, 0x0)), - ("bcl+", (gen_bc, 0x200001)), - ("mtsrin", (gen_mtsrin, 0x0)), - ("mr.", (gen_mr, 0x1)), - ("lmw", (gen_lmw, 0x0)), - ("psq_stu", (gen_psq_stu, 0x0)), - ("vcmpgtsb", (gen_vcmpgtsb, 0x0)), - ("bgtctrl", (gen_bgtctr, 0x1)), - ("addmeo.", (gen_addme, 0x401)), - ("vmr", (gen_vmr, 0x0)), - ("subic.", (gen_subic_, 0x0)), - ("tdlnl", (gen_tdlnl, 0x0)), - ("vrfim", (gen_vrfim, 0x0)), - ("vpkd3d128", (gen_vpkd3d128, 0x0)), - ("vrfip128", (gen_vrfip128, 0x0)), - ("vupklpx", (gen_vupklpx, 0x0)), - ("vsr", (gen_vsr, 0x0)), - ("stbux", (gen_stbux, 0x0)), - ("fnmsubs.", (gen_fnmsubs, 0x1)), - ("extsw.", (gen_extsw, 0x1)), - ("vcmpequb.", (gen_vcmpequb, 0x400)), - ("fmsub.", (gen_fmsub, 0x1)), - ("vupkhsh128", (gen_vupkhsh128, 0x0)), - ("dststt", (gen_dstst, 0x2000000)), - ("ps_cmpo1", (gen_ps_cmpo1, 0x0)), - ("vpkpx", (gen_vpkpx, 0x0)), - ("bltctr+", (gen_bltctr, 0x200000)), - ("stwx", (gen_stwx, 0x0)), - ("vmaddfp128", (gen_vmaddfp128, 0x0)), - ("bsoctrl", (gen_bsoctr, 0x1)), - ("fctiw.", (gen_fctiw, 0x1)), - ("oris", (gen_oris, 0x0)), - ("subfc.", (gen_subfc, 0x1)), - ("lvlxl128", (gen_lvlxl128, 0x0)), - ("extsh", (gen_extsh, 0x0)), - ("blectr", (gen_blectr, 0x0)), - ("bclr", (gen_bclr, 0x0)), ("crmove", (gen_crmove, 0x0)), - ("ps_sel.", (gen_ps_sel, 0x1)), - ("mulld", (gen_mulld, 0x0)), - ("lhaux", (gen_lhaux, 0x0)), - ("mftb", (gen_mftb, 0x0)), - ("lis", (gen_lis, 0x0)), - ("mulhd.", (gen_mulhd, 0x1)), - ("vupkhsb", (gen_vupkhsb, 0x0)), - ("mulhw", (gen_mulhw, 0x0)), - ("mfibatu", (gen_mfibatu, 0x0)), - ("beq+", (gen_beq, 0x200000)), - ("bdnzla-", (gen_bdnz, 0x200003)), - ("srawi.", (gen_srawi, 0x1)), - ("fadds", (gen_fadds, 0x0)), - ("vavgsb", (gen_vavgsb, 0x0)), - ("bdnzlr+", (gen_bdnzlr, 0x200000)), - ("vctsxs", (gen_vctsxs, 0x0)), - ("sthbrx", (gen_sthbrx, 0x0)), - ("vslo", (gen_vslo, 0x0)), - ("bcctrl", (gen_bcctr, 0x1)), + ("fabs.", (gen_fabs, 0x1)), + ("lbzu", (gen_lbzu, 0x0)), ("sthux", (gen_sthux, 0x0)), - ("vsubsws", (gen_vsubsws, 0x0)), - ("extsh.", (gen_extsh, 0x1)), - ("vsum2sws", (gen_vsum2sws, 0x0)), - ("vmaxfp", (gen_vmaxfp, 0x0)), + ("vrfin", (gen_vrfin, 0x0)), + ("mulhwu", (gen_mulhwu, 0x0)), + ("ps_cmpo0", (gen_ps_cmpo0, 0x0)), + ("vmsum4fp128", (gen_vmsum4fp128, 0x0)), + ("andis.", (gen_andis_, 0x0)), + ("bdnz-", (gen_bdnz, 0x200000)), + ("bdnzl+", (gen_bdnz, 0x200001)), + ("fmadd", (gen_fmadd, 0x0)), + ("bdzfla+", (gen_bdzf, 0x200003)), + ("addco.", (gen_addc, 0x401)), + ("bclrl", (gen_bclr, 0x1)), + ("ps_sel.", (gen_ps_sel, 0x1)), + ("mfctr", (gen_mfctr, 0x0)), + ("mulld.", (gen_mulld, 0x1)), ("mfdsisr", (gen_mfdsisr, 0x0)), - ("srad.", (gen_srad, 0x1)), - ("vcmpgtfp.", (gen_vcmpgtfp, 0x400)), - ("stvebx", (gen_stvebx, 0x0)), - ("vcmpbfp.", (gen_vcmpbfp, 0x400)), - ("ps_rsqrte.", (gen_ps_rsqrte, 0x1)), - ("lvewx", (gen_lvewx, 0x0)), - ("dcbz_l", (gen_dcbz_l, 0x0)), - ("std", (gen_std, 0x0)), - ("bca+", (gen_bc, 0x200002)), - ("addis", (gen_addis, 0x0)), - ("addc.", (gen_addc, 0x1)), - ("mfsrr0", (gen_mfsrr0, 0x0)), - ("blelr+", (gen_blelr, 0x200000)), - ("vmuleuh", (gen_vmuleuh, 0x0)), - ("clrrwi.", (gen_clrrwi, 0x1)), - ("stfsux", (gen_stfsux, 0x0)), - ("bdzla", (gen_bdz, 0x3)), - ("vexptefp128", (gen_vexptefp128, 0x0)), - ("vmuloub", (gen_vmuloub, 0x0)), + ("addeo.", (gen_adde, 0x401)), + ("bdnza+", (gen_bdnz, 0x200002)), + ("bnsla-", (gen_bns, 0x200003)), + ("vcmpgtsh.", (gen_vcmpgtsh, 0x400)), + ("bcctr+", (gen_bcctr, 0x200000)), + ("vavgsh", (gen_vavgsh, 0x0)), + ("vmr", (gen_vmr, 0x0)), + ("vsubshs", (gen_vsubshs, 0x0)), + ("mtsprg", (gen_mtsprg, 0x0)), + ("add.", (gen_add, 0x1)), + ("vnot", (gen_vnot, 0x0)), + ("bdnzta", (gen_bdnzt, 0x2)), + ("mfdbatu", (gen_mfdbatu, 0x0)), + ("vminsh", (gen_vminsh, 0x0)), + ("ps_cmpu1", (gen_ps_cmpu1, 0x0)), + ("bltlrl+", (gen_bltlr, 0x200001)), + ("bgtctrl", (gen_bgtctr, 0x1)), + ("lfdu", (gen_lfdu, 0x0)), + ("stwux", (gen_stwux, 0x0)), + ("rldic.", (gen_rldic, 0x1)), + ("bdzfa+", (gen_bdzf, 0x200002)), + ("blr", (gen_blr, 0x0)), + ("crclr", (gen_crclr, 0x0)), + ("vrfip128", (gen_vrfip128, 0x0)), + ("lvrxl128", (gen_lvrxl128, 0x0)), + ("bdzta-", (gen_bdzt, 0x200002)), + ("rotld.", (gen_rotld, 0x1)), + ("mulldo", (gen_mulld, 0x400)), + ("fmul", (gen_fmul, 0x0)), + ("vcmpgtub.", (gen_vcmpgtub, 0x400)), + ("addze.", (gen_addze, 0x1)), + ("vexptefp", (gen_vexptefp, 0x0)), + ("bdzfa-", (gen_bdzf, 0x200002)), + ("stvx", (gen_stvx, 0x0)), + ("rldimi", (gen_rldimi, 0x0)), + ("vmaddfp128", (gen_vmaddfp128, 0x0)), + ("vcmpequb", (gen_vcmpequb, 0x0)), + ("lwbrx", (gen_lwbrx, 0x0)), + ("srd", (gen_srd, 0x0)), + ("fnmsub", (gen_fnmsub, 0x0)), + ("fdiv", (gen_fdiv, 0x0)), + ("mcrfs", (gen_mcrfs, 0x0)), + ("vpkshss128", (gen_vpkshss128, 0x0)), + ("fadd", (gen_fadd, 0x0)), + ("beqa", (gen_beq, 0x2)), + ("bctrl", (gen_bctr, 0x1)), + ("bns-", (gen_bns, 0x200000)), + ("ble+", (gen_ble, 0x200000)), + ("bsoctrl", (gen_bsoctr, 0x1)), + ("lhax", (gen_lhax, 0x0)), + ("xori", (gen_xori, 0x0)), + ("bnsctr", (gen_bnsctr, 0x0)), + ("vslw", (gen_vslw, 0x0)), + ("beq", (gen_beq, 0x0)), + ("crset", (gen_crset, 0x0)), + ("tweq", (gen_tweq, 0x0)), + ("bdnzt+", (gen_bdnzt, 0x200000)), + ("crand", (gen_crand, 0x0)), ("addic", (gen_addic, 0x0)), ("bgelrl+", (gen_bgelr, 0x200001)), - ("divduo.", (gen_divdu, 0x401)), - ("crorc", (gen_crorc, 0x0)), - ("ps_merge11.", (gen_ps_merge11, 0x1)), - ("mulldo", (gen_mulld, 0x400)), - ("bdnzl+", (gen_bdnz, 0x200001)), - ("bdztla+", (gen_bdzt, 0x200003)), - ("bdzlr+", (gen_bdzlr, 0x200000)), - ("bdnzfla+", (gen_bdnzf, 0x200003)), - ("extlwi", (gen_extlwi, 0x0)), - ("bltla", (gen_blt, 0x3)), - ("vslw", (gen_vslw, 0x0)), - ("bnsla+", (gen_bns, 0x200003)), - ("fsubs", (gen_fsubs, 0x0)), - ("fabs.", (gen_fabs, 0x1)), - ("bl", (gen_b, 0x1)), - ("vperm", (gen_vperm, 0x0)), - ("cmpi", (gen_cmpi, 0x0)), - ("sc", (gen_sc, 0x0)), - ("divw.", (gen_divw, 0x1)), - ("bclrl+", (gen_bclr, 0x200001)), - ("bnsa+", (gen_bns, 0x200002)), - ("lvx128", (gen_lvx128, 0x0)), - ("ps_rsqrte", (gen_ps_rsqrte, 0x0)), - ("vrfin128", (gen_vrfin128, 0x0)), - ("divdu.", (gen_divdu, 0x1)), - ("vsumsws", (gen_vsumsws, 0x0)), - ("add.", (gen_add, 0x1)), - ("stvrx128", (gen_stvrx128, 0x0)), - ("bsoa-", (gen_bso, 0x200002)), - ("mflr", (gen_mflr, 0x0)), - ("ps_sub", (gen_ps_sub, 0x0)), - ("rldimi", (gen_rldimi, 0x0)), - ("xor.", (gen_xor, 0x1)), - ("bca", (gen_bc, 0x2)), - ("ps_mul.", (gen_ps_mul, 0x1)), - ("bdnztl+", (gen_bdnzt, 0x200001)), - ("mtctr", (gen_mtctr, 0x0)), - ("beqla+", (gen_beq, 0x200003)), - ("mulhdu.", (gen_mulhdu, 0x1)), - ("mtsrdin", (gen_mtsrdin, 0x0)), - ("vcfux128", (gen_vcfux128, 0x0)), - ("vmrghw", (gen_vmrghw, 0x0)), - ("lwbrx", (gen_lwbrx, 0x0)), - ("vmulosh", (gen_vmulosh, 0x0)), - ("vslw128", (gen_vslw128, 0x0)), - ("vmulouh", (gen_vmulouh, 0x0)), - ("ps_sub.", (gen_ps_sub, 0x1)), - ("vcmpgtsh", (gen_vcmpgtsh, 0x0)), - ("mulli", (gen_mulli, 0x0)), - ("isync", (gen_isync, 0x0)), - ("vcmpgtsw.", (gen_vcmpgtsw, 0x400)), - ("blela+", (gen_ble, 0x200003)), - ("bdnztl", (gen_bdnzt, 0x1)), - ("bdnzflr", (gen_bdnzflr, 0x0)), - ("fsel", (gen_fsel, 0x0)), - ("bla", (gen_b, 0x3)), - ("vavguh", (gen_vavguh, 0x0)), - ("bdnzfl", (gen_bdnzf, 0x1)), - ("vpkswss128", (gen_vpkswss128, 0x0)), - ("ps_madd.", (gen_ps_madd, 0x1)), - ("bgea+", (gen_bge, 0x200002)), - ("vcmpgtsh.", (gen_vcmpgtsh, 0x400)), - ("rotlw", (gen_rotlw, 0x0)), - ("bgt-", (gen_bgt, 0x200000)), - ("vsubfp128", (gen_vsubfp128, 0x0)), - ("rldcr.", (gen_rldcr, 0x1)), - ("dcbz", (gen_dcbz, 0x0)), - ("vrlb", (gen_vrlb, 0x0)), - ("bdztla", (gen_bdzt, 0x3)), - ("vandc", (gen_vandc, 0x0)), - ("mfcr", (gen_mfcr, 0x0)), - ("ps_neg", (gen_ps_neg, 0x0)), - ("lvehx", (gen_lvehx, 0x0)), - ("subfco", (gen_subfc, 0x400)), - ("blectrl+", (gen_blectr, 0x200001)), - ("bgtla-", (gen_bgt, 0x200003)), - ("addze.", (gen_addze, 0x1)), - ("vcmpequh", (gen_vcmpequh, 0x0)), - ("blt", (gen_blt, 0x0)), - ("bns-", (gen_bns, 0x200000)), - ("vexptefp", (gen_vexptefp, 0x0)), - ("blelr", (gen_blelr, 0x0)), - ("bnsl+", (gen_bns, 0x200001)), + ("mfxer", (gen_mfxer, 0x0)), + ("fmsub.", (gen_fmsub, 0x1)), + ("ptesync", (gen_ptesync, 0x0)), ("vpkuwum128", (gen_vpkuwum128, 0x0)), - ("vmhaddshs", (gen_vmhaddshs, 0x0)), - ("bnslrl+", (gen_bnslr, 0x200001)), - ("bns", (gen_bns, 0x0)), - ("dss", (gen_dss, 0x0)), - ("bdztla-", (gen_bdzt, 0x200003)), - ("mtfsb1.", (gen_mtfsb1, 0x1)), - ("addeo.", (gen_adde, 0x401)), - ("beql-", (gen_beq, 0x200001)), - ("rldicl.", (gen_rldicl, 0x1)), - ("dcbst", (gen_dcbst, 0x0)), - ("or", (gen_or, 0x0)), - ("ld", (gen_ld, 0x0)), - ("cmplw", (gen_cmplw, 0x0)), - ("bgectrl+", (gen_bgectr, 0x200001)), - ("blel", (gen_ble, 0x1)), - ("lvsl128", (gen_lvsl128, 0x0)), - ("bltla+", (gen_blt, 0x200003)), - ("bge+", (gen_bge, 0x200000)), + ("bltl+", (gen_blt, 0x200001)), ("fctid", (gen_fctid, 0x0)), - ("sld.", (gen_sld, 0x1)), - ("beqa", (gen_beq, 0x2)), - ("bdzl-", (gen_bdz, 0x200001)), - ("mfibatl", (gen_mfibatl, 0x0)), - ("bnslrl", (gen_bnslr, 0x1)), - ("bgtlrl+", (gen_bgtlr, 0x200001)), - ("vpkuwus128", (gen_vpkuwus128, 0x0)), - ("ps_add", (gen_ps_add, 0x0)), - ("bns+", (gen_bns, 0x200000)), - ("fcfid.", (gen_fcfid, 0x1)), - ("extrwi.", (gen_extrwi, 0x1)), - ("lhax", (gen_lhax, 0x0)), - ("vsl", (gen_vsl, 0x0)), - ("dcbtst", (gen_dcbtst, 0x0)), - ("vpkshss", (gen_vpkshss, 0x0)), - ("fmul", (gen_fmul, 0x0)), - ("vnor", (gen_vnor, 0x0)), - ("bcctr", (gen_bcctr, 0x0)), - ("vmulesh", (gen_vmulesh, 0x0)), - ("bnea+", (gen_bne, 0x200002)), - ("lbzx", (gen_lbzx, 0x0)), - ("vsldoi128", (gen_vsldoi128, 0x0)), - ("bnsctr+", (gen_bnsctr, 0x200000)), - ("lvrx128", (gen_lvrx128, 0x0)), - ("bltlrl+", (gen_bltlr, 0x200001)), - ("ps_div", (gen_ps_div, 0x0)), - ("bdnzlr", (gen_bdnzlr, 0x0)), - ("vminsh", (gen_vminsh, 0x0)), - ("vmrghh", (gen_vmrghh, 0x0)), - ("blelrl", (gen_blelr, 0x1)), - ("vavgsh", (gen_vavgsh, 0x0)), - ("vmaddfp", (gen_vmaddfp, 0x0)), - ("bdzta+", (gen_bdzt, 0x200002)), - ("twllei", (gen_twllei, 0x0)), - ("vupklsb", (gen_vupklsb, 0x0)), - ("bdnzl-", (gen_bdnz, 0x200001)), - ("vlogefp", (gen_vlogefp, 0x0)), - ("addze", (gen_addze, 0x0)), - ("lhzux", (gen_lhzux, 0x0)), - ("bgel-", (gen_bge, 0x200001)), - ("dssall", (gen_dssall, 0x0)), - ("blectr+", (gen_blectr, 0x200000)), - ("ps_res.", (gen_ps_res, 0x1)), - ("vsum4shs", (gen_vsum4shs, 0x0)), - ("srd", (gen_srd, 0x0)), - ("srw", (gen_srw, 0x0)), - ("vslh", (gen_vslh, 0x0)), - ("bdztl+", (gen_bdzt, 0x200001)), - ("mtsrr0", (gen_mtsrr0, 0x0)), - ("vrlw", (gen_vrlw, 0x0)), - ("ps_merge10.", (gen_ps_merge10, 0x1)), - ("ps_cmpu1", (gen_ps_cmpu1, 0x0)), - ("ps_merge01", (gen_ps_merge01, 0x0)), - ("stb", (gen_stb, 0x0)), - ("fnabs", (gen_fnabs, 0x0)), - ("vcmpgtfp", (gen_vcmpgtfp, 0x0)), - ("stvlxl", (gen_stvlxl, 0x0)), - ("bnel", (gen_bne, 0x1)), - ("bdzfla+", (gen_bdzf, 0x200003)), - ("bca-", (gen_bc, 0x200002)), - ("crset", (gen_crset, 0x0)), - ("bdnza-", (gen_bdnz, 0x200002)), - ("bdztlrl", (gen_bdztlr, 0x1)), - ("bltctrl+", (gen_bltctr, 0x200001)), - ("mtfsf.", (gen_mtfsf, 0x1)), + ("cmpw", (gen_cmpw, 0x0)), + ("bdnzf+", (gen_bdnzf, 0x200000)), + ("fdivs.", (gen_fdivs, 0x1)), + ("bdnzla-", (gen_bdnz, 0x200003)), + ("vsububs", (gen_vsububs, 0x0)), + ("vminsw", (gen_vminsw, 0x0)), + ("ps_merge00", (gen_ps_merge00, 0x0)), + ("bge", (gen_bge, 0x0)), + ("ps_madds0.", (gen_ps_madds0, 0x1)), + ("vrlh", (gen_vrlh, 0x0)), + ("dst", (gen_dst, 0x0)), + ("cmplwi", (gen_cmplwi, 0x0)), + ("ps_madd", (gen_ps_madd, 0x0)), + ("mulhw.", (gen_mulhw, 0x1)), + ("cntlzw", (gen_cntlzw, 0x0)), + ("addmeo", (gen_addme, 0x400)), + ("bcl", (gen_bc, 0x1)), + ("sthbrx", (gen_sthbrx, 0x0)), + ("bgtla-", (gen_bgt, 0x200003)), + ("stswx", (gen_stswx, 0x0)), + ("bdzflrl+", (gen_bdzflr, 0x200001)), + ("mfcr", (gen_mfcr, 0x0)), + ("vpkswss", (gen_vpkswss, 0x0)), + ("bdztla+", (gen_bdzt, 0x200003)), + ("subfe", (gen_subfe, 0x0)), + ("rldic", (gen_rldic, 0x0)), + ("tlbie", (gen_tlbie, 0x0)), + ("lvewx", (gen_lvewx, 0x0)), + ("fdivs", (gen_fdivs, 0x0)), + ("mtctr", (gen_mtctr, 0x0)), + ("clrlslwi", (gen_clrlslwi, 0x0)), + ("subic.", (gen_subic_, 0x0)), + ("twgti", (gen_twgti, 0x0)), + ("sc", (gen_sc, 0x0)), + ("bgela", (gen_bge, 0x3)), + ("vsplth", (gen_vsplth, 0x0)), + ("vaddubs", (gen_vaddubs, 0x0)), + ("vspltw128", (gen_vspltw128, 0x0)), + ("mtsrr1", (gen_mtsrr1, 0x0)), + ("psq_lux", (gen_psq_lux, 0x0)), + ("stvrx128", (gen_stvrx128, 0x0)), + ("vpkd3d128", (gen_vpkd3d128, 0x0)), + ("bltla+", (gen_blt, 0x200003)), + ("beqla+", (gen_beq, 0x200003)), + ("bgtl", (gen_bgt, 0x1)), + ("mcrf", (gen_mcrf, 0x0)), + ("lfdux", (gen_lfdux, 0x0)), + ("bgtl+", (gen_bgt, 0x200001)), + ("vcfux", (gen_vcfux, 0x0)), + ("vmrghw", (gen_vmrghw, 0x0)), + ("ps_abs.", (gen_ps_abs, 0x1)), + ("dstt", (gen_dst, 0x2000000)), + ("vslb", (gen_vslb, 0x0)), ("blrl", (gen_blr, 0x1)), - ("addi", (gen_addi, 0x0)), + ("bltla-", (gen_blt, 0x200003)), + ("ldux", (gen_ldux, 0x0)), + ("lvsr128", (gen_lvsr128, 0x0)), + ("rlwnm.", (gen_rlwnm, 0x1)), + ("bge-", (gen_bge, 0x200000)), + ("lvlxl128", (gen_lvlxl128, 0x0)), + ("bcl-", (gen_bc, 0x200001)), + ("subfo", (gen_subf, 0x400)), + ("beqctrl", (gen_beqctr, 0x1)), + ("fsel.", (gen_fsel, 0x1)), + ("lwax", (gen_lwax, 0x0)), + ("fadd.", (gen_fadd, 0x1)), + ("vsrah", (gen_vsrah, 0x0)), + ("slbie", (gen_slbie, 0x0)), + ("bgelr", (gen_bgelr, 0x0)), + ("lhau", (gen_lhau, 0x0)), + ("cmpldi", (gen_cmpldi, 0x0)), + ("divwuo.", (gen_divwu, 0x401)), + ("crxor", (gen_crxor, 0x0)), + ("stfdu", (gen_stfdu, 0x0)), + ("vrsqrtefp", (gen_vrsqrtefp, 0x0)), + ("bdnzlr+", (gen_bdnzlr, 0x200000)), + ("psq_l", (gen_psq_l, 0x0)), + ("beqlr+", (gen_beqlr, 0x200000)), + ("bgectr+", (gen_bgectr, 0x200000)), + ("divdu", (gen_divdu, 0x0)), + ("vavgsw", (gen_vavgsw, 0x0)), + ("mfspr", (gen_mfspr, 0x0)), + ("mtsdr1", (gen_mtsdr1, 0x0)), + ("stbux", (gen_stbux, 0x0)), + ("blelrl+", (gen_blelr, 0x200001)), + ("vcmpgtub", (gen_vcmpgtub, 0x0)), + ("fmsubs", (gen_fmsubs, 0x0)), + ("bgela+", (gen_bge, 0x200003)), + ("vavguw", (gen_vavguw, 0x0)), + ("mulld", (gen_mulld, 0x0)), + ("vsraw128", (gen_vsraw128, 0x0)), + ("bdzl", (gen_bdz, 0x1)), + ("mfsprg", (gen_mfsprg, 0x0)), + ("vminsb", (gen_vminsb, 0x0)), + ("bdnztlr", (gen_bdnztlr, 0x0)), + ("psq_lu", (gen_psq_lu, 0x0)), + ("stdux", (gen_stdux, 0x0)), + ("slwi", (gen_slwi, 0x0)), + ("bdzlrl", (gen_bdzlr, 0x1)), + ("vcmpequw128", (gen_vcmpequw128, 0x0)), + ("dcbz", (gen_dcbz, 0x0)), + ("frsqrte.", (gen_frsqrte, 0x1)), + ("lwz", (gen_lwz, 0x0)), + ("bc-", (gen_bc, 0x200000)), + ("vsro", (gen_vsro, 0x0)), + ("vmladduhm", (gen_vmladduhm, 0x0)), + ("lvxl128", (gen_lvxl128, 0x0)), + ("bsolr", (gen_bsolr, 0x0)), + ("bltlrl", (gen_bltlr, 0x1)), + ("bsoa-", (gen_bso, 0x200002)), + ("vsel", (gen_vsel, 0x0)), + ("mtibatu", (gen_mtibatu, 0x0)), + ("slw.", (gen_slw, 0x1)), + ("ps_madds1.", (gen_ps_madds1, 0x1)), + ("stvxl", (gen_stvxl, 0x0)), + ("mtspr", (gen_mtspr, 0x0)), + ("stdu", (gen_stdu, 0x0)), + ("stfd", (gen_stfd, 0x0)), + ("vmuleub", (gen_vmuleub, 0x0)), + ("mttbl", (gen_mttbl, 0x0)), + ("extlwi", (gen_extlwi, 0x0)), + ("vavgsb", (gen_vavgsb, 0x0)), + ("vmrglw128", (gen_vmrglw128, 0x0)), + ("vminfp", (gen_vminfp, 0x0)), + ("neg", (gen_neg, 0x0)), + ("or.", (gen_or, 0x1)), + ("mtdbatl", (gen_mtdbatl, 0x0)), + ("andc", (gen_andc, 0x0)), + ("blelrl", (gen_blelr, 0x1)), + ("bsola+", (gen_bso, 0x200003)), + ("vperm128", (gen_vperm128, 0x0)), + ("slw", (gen_slw, 0x0)), + ("sthu", (gen_sthu, 0x0)), + ("vxor128", (gen_vxor128, 0x0)), + ("mfsrr0", (gen_mfsrr0, 0x0)), ("divduo", (gen_divdu, 0x400)), + ("bdzfl", (gen_bdzf, 0x1)), + ("bnsl+", (gen_bns, 0x200001)), + ("ps_nmadd", (gen_ps_nmadd, 0x0)), + ("ori", (gen_ori, 0x0)), + ("mulldo.", (gen_mulld, 0x401)), + ("addo.", (gen_add, 0x401)), + ("bdzl-", (gen_bdz, 0x200001)), + ("fctiw", (gen_fctiw, 0x0)), + ("dcbzl", (gen_dcbzl, 0x0)), + ("vsum4shs", (gen_vsum4shs, 0x0)), + ("bdztlr+", (gen_bdztlr, 0x200000)), + ("vmrglh", (gen_vmrglh, 0x0)), + ("vpkswus", (gen_vpkswus, 0x0)), + ("subfic", (gen_subfic, 0x0)), + ("lhzu", (gen_lhzu, 0x0)), + ("beqa+", (gen_beq, 0x200002)), + ("ps_add.", (gen_ps_add, 0x1)), + ("fctiwz", (gen_fctiwz, 0x0)), + ("divw.", (gen_divw, 0x1)), + ("andc.", (gen_andc, 0x1)), + ("vmaxuw", (gen_vmaxuw, 0x0)), + ("blt", (gen_blt, 0x0)), + ("blela-", (gen_ble, 0x200003)), + ("vexptefp128", (gen_vexptefp128, 0x0)), + ("neg.", (gen_neg, 0x1)), + ("vmaxsw", (gen_vmaxsw, 0x0)), + ("vaddshs", (gen_vaddshs, 0x0)), + ("bdnzfla+", (gen_bdnzf, 0x200003)), + ("lhz", (gen_lhz, 0x0)), + ("sradi.", (gen_sradi, 0x1)), + ("vcmpgefp.", (gen_vcmpgefp, 0x400)), + ("vcmpequb.", (gen_vcmpequb, 0x400)), + ("vpkuwus128", (gen_vpkuwus128, 0x0)), + ("vcmpgefp128.", (gen_vcmpgefp128, 0x40)), + ("bnsla+", (gen_bns, 0x200003)), + ("vcmpequw128.", (gen_vcmpequw128, 0x40)), + ("sthx", (gen_sthx, 0x0)), + ("bdnztla-", (gen_bdnzt, 0x200003)), + ("vcmpgtuh.", (gen_vcmpgtuh, 0x400)), + ("fadds", (gen_fadds, 0x0)), + ("nor.", (gen_nor, 0x1)), + ("fsub.", (gen_fsub, 0x1)), + ("vpkuhus", (gen_vpkuhus, 0x0)), + ("subfme.", (gen_subfme, 0x1)), + ("vcmpgefp", (gen_vcmpgefp, 0x0)), + ("fcfid.", (gen_fcfid, 0x1)), + ("vcmpbfp", (gen_vcmpbfp, 0x0)), + ("subfeo", (gen_subfe, 0x400)), + ("twllei", (gen_twllei, 0x0)), + ("bdzt", (gen_bdzt, 0x0)), + ("vmsum3fp128", (gen_vmsum3fp128, 0x0)), + ("bdnztl", (gen_bdnzt, 0x1)), + ("dcbi", (gen_dcbi, 0x0)), + ("fneg.", (gen_fneg, 0x1)), + ("vrfim", (gen_vrfim, 0x0)), + ("bdnzfl+", (gen_bdnzf, 0x200001)), + ("vaddcuw", (gen_vaddcuw, 0x0)), + ("bgta", (gen_bgt, 0x2)), + ("vpkuwus", (gen_vpkuwus, 0x0)), + ("ps_nmsub", (gen_ps_nmsub, 0x0)), + ("rfid", (gen_rfid, 0x0)), + ("bnea+", (gen_bne, 0x200002)), + ("fsel", (gen_fsel, 0x0)), + ("subfmeo.", (gen_subfme, 0x401)), + ("rlwimi", (gen_rlwimi, 0x0)), + ("ps_mr", (gen_ps_mr, 0x0)), + ("stb", (gen_stb, 0x0)), + ("psq_stu", (gen_psq_stu, 0x0)), + ("bdnzla", (gen_bdnz, 0x3)), + ("vmsummbm", (gen_vmsummbm, 0x0)), + ("ba", (gen_b, 0x2)), + ("bdzlrl+", (gen_bdzlr, 0x200001)), + ("extsb", (gen_extsb, 0x0)), + ("fnabs", (gen_fnabs, 0x0)), + ("bdnzflr", (gen_bdnzflr, 0x0)), + ("rlwinm.", (gen_rlwinm, 0x1)), + ("fctidz", (gen_fctidz, 0x0)), + ("fnmadds", (gen_fnmadds, 0x0)), + ("addzeo", (gen_addze, 0x400)), + ("vsubsws", (gen_vsubsws, 0x0)), + ("beqctr+", (gen_beqctr, 0x200000)), + ("vslo128", (gen_vslo128, 0x0)), + ("vrfin128", (gen_vrfin128, 0x0)), + ("twi", (gen_twi, 0x0)), + ("nor", (gen_nor, 0x0)), + ("ps_madds0", (gen_ps_madds0, 0x0)), + ("sraw.", (gen_sraw, 0x1)), + ("ps_sum0.", (gen_ps_sum0, 0x1)), + ("ps_neg", (gen_ps_neg, 0x0)), + ("mullw", (gen_mullw, 0x0)), + ("fnmadd", (gen_fnmadd, 0x0)), + ("bsoa+", (gen_bso, 0x200002)), + ("fnabs.", (gen_fnabs, 0x1)), + ("ps_rsqrte", (gen_ps_rsqrte, 0x0)), + ("dcbf", (gen_dcbf, 0x0)), + ("vcmpgefp128", (gen_vcmpgefp128, 0x0)), + ("subis", (gen_subis, 0x0)), + ("vrfiz", (gen_vrfiz, 0x0)), + ("vlogefp", (gen_vlogefp, 0x0)), + ("vpermwi128", (gen_vpermwi128, 0x0)), + ("blel", (gen_ble, 0x1)), + ("subfe.", (gen_subfe, 0x1)), + ("addze", (gen_addze, 0x0)), + ("bdnztlrl", (gen_bdnztlr, 0x1)), + ("subfco", (gen_subfc, 0x400)), + ("icbi", (gen_icbi, 0x0)), + ("crnand", (gen_crnand, 0x0)), + ("divwu.", (gen_divwu, 0x1)), + ("bdztl-", (gen_bdzt, 0x200001)), + ("lwa", (gen_lwa, 0x0)), + ("tdnei", (gen_tdnei, 0x0)), + ("vsubsbs", (gen_vsubsbs, 0x0)), + ("vnmsubfp", (gen_vnmsubfp, 0x0)), + ("bsol-", (gen_bso, 0x200001)), + ("vrfip", (gen_vrfip, 0x0)), + ("bca", (gen_bc, 0x2)), + ("bsolrl", (gen_bsolr, 0x1)), + ("bdzla", (gen_bdz, 0x3)), + ("trap", (gen_trap, 0x0)), + ("cmpwi", (gen_cmpwi, 0x0)), + ("mtfsfi", (gen_mtfsfi, 0x0)), + ("vcmpgtsh", (gen_vcmpgtsh, 0x0)), + ("fctiwz.", (gen_fctiwz, 0x1)), + ("stwu", (gen_stwu, 0x0)), + ("vsrw128", (gen_vsrw128, 0x0)), + ("subfo.", (gen_subf, 0x401)), + ("bdnzl", (gen_bdnz, 0x1)), + ("vmulesb", (gen_vmulesb, 0x0)), + ("crorc", (gen_crorc, 0x0)), + ("lhbrx", (gen_lhbrx, 0x0)), + ("bdzfa", (gen_bdzf, 0x2)), + ("add", (gen_add, 0x0)), + ("bltctr+", (gen_bltctr, 0x200000)), + ("vminuh", (gen_vminuh, 0x0)), + ("vsldoi128", (gen_vsldoi128, 0x0)), + ("bns+", (gen_bns, 0x200000)), + ("lvrxl", (gen_lvrxl, 0x0)), + ("vspltb", (gen_vspltb, 0x0)), + ("cmpl", (gen_cmpl, 0x0)), + ("lswi", (gen_lswi, 0x0)), + ("fcfid", (gen_fcfid, 0x0)), + ("fnmadds.", (gen_fnmadds, 0x1)), + ("bgta+", (gen_bgt, 0x200002)), + ("cntlzd.", (gen_cntlzd, 0x1)), + ("fnmadd.", (gen_fnmadd, 0x1)), + ("ps_sum0", (gen_ps_sum0, 0x0)), + ("srad", (gen_srad, 0x0)), + ("mulhdu", (gen_mulhdu, 0x0)), + ("or", (gen_or, 0x0)), + ("bgel-", (gen_bge, 0x200001)), + ("vcmpeqfp", (gen_vcmpeqfp, 0x0)), + ("ps_div.", (gen_ps_div, 0x1)), + ("cmpi", (gen_cmpi, 0x0)), + ("sld", (gen_sld, 0x0)), + ("vspltisw", (gen_vspltisw, 0x0)), + ("rotlwi.", (gen_rotlwi, 0x1)), + ("stbu", (gen_stbu, 0x0)), + ("stvebx", (gen_stvebx, 0x0)), + ("bltctrl", (gen_bltctr, 0x1)), + ("lhaux", (gen_lhaux, 0x0)), + ("rotrwi", (gen_rotrwi, 0x0)), + ("subfzeo", (gen_subfze, 0x400)), + ("bsolr+", (gen_bsolr, 0x200000)), + ("vor", (gen_vor, 0x0)), + ("stwx", (gen_stwx, 0x0)), + ("bsolrl+", (gen_bsolr, 0x200001)), + ("vcmpgtfp.", (gen_vcmpgtfp, 0x400)), + ("bnela", (gen_bne, 0x3)), + ("vrlb", (gen_vrlb, 0x0)), + ("cmpdi", (gen_cmpdi, 0x0)), + ("cntlzd", (gen_cntlzd, 0x0)), ("adde.", (gen_adde, 0x1)), - ("fnmsub", (gen_fnmsub, 0x0)), + ("vslh", (gen_vslh, 0x0)), + ("mfmsr", (gen_mfmsr, 0x0)), + ("frsp", (gen_frsp, 0x0)), + ("mr", (gen_mr, 0x0)), + ("fdiv.", (gen_fdiv, 0x1)), + ("bnectr+", (gen_bnectr, 0x200000)), + ("vctuxs", (gen_vctuxs, 0x0)), + ("rldcr", (gen_rldcr, 0x0)), + ("vcmpgtfp128.", (gen_vcmpgtfp128, 0x40)), + ("bdza+", (gen_bdz, 0x200002)), + ("lvsl", (gen_lvsl, 0x0)), + ("frsqrte", (gen_frsqrte, 0x0)), + ("stfsu", (gen_stfsu, 0x0)), + ("bgea", (gen_bge, 0x2)), + ("mtxer", (gen_mtxer, 0x0)), + ("cror", (gen_cror, 0x0)), + ("bdzfl+", (gen_bdzf, 0x200001)), + ("ps_msub.", (gen_ps_msub, 0x1)), + ("ps_sum1", (gen_ps_sum1, 0x0)), + ("tw", (gen_tw, 0x0)), + ("lbz", (gen_lbz, 0x0)), + ("lfsx", (gen_lfsx, 0x0)), + ("vmrglw", (gen_vmrglw, 0x0)), + ("divd.", (gen_divd, 0x1)), + ("vsraw", (gen_vsraw, 0x0)), + ("bdnztlr+", (gen_bdnztlr, 0x200000)), + ("ps_merge01", (gen_ps_merge01, 0x0)), + ("bnsla", (gen_bns, 0x3)), + ("vspltisb", (gen_vspltisb, 0x0)), + ("mulli", (gen_mulli, 0x0)), + ("vcmpeqfp128.", (gen_vcmpeqfp128, 0x40)), + ("bsola-", (gen_bso, 0x200003)), + ("fnmsub.", (gen_fnmsub, 0x1)), + ("bgel", (gen_bge, 0x1)), + ("vmrghw128", (gen_vmrghw128, 0x0)), + ("subfzeo.", (gen_subfze, 0x401)), + ("blectr+", (gen_blectr, 0x200000)), + ("mullw.", (gen_mullw, 0x1)), + ("blel+", (gen_ble, 0x200001)), + ("bgelr+", (gen_bgelr, 0x200000)), + ("fcmpu", (gen_fcmpu, 0x0)), + ("lfdx", (gen_lfdx, 0x0)), + ("extsh", (gen_extsh, 0x0)), + ("td", (gen_td, 0x0)), + ("vrsqrtefp128", (gen_vrsqrtefp128, 0x0)), + ("fmuls.", (gen_fmuls, 0x1)), + ("mtdsisr", (gen_mtdsisr, 0x0)), + ("extlwi.", (gen_extlwi, 0x1)), + ("vcmpbfp128", (gen_vcmpbfp128, 0x0)), + ("stvlxl", (gen_stvlxl, 0x0)), + ("ps_muls1.", (gen_ps_muls1, 0x1)), + ("vavguh", (gen_vavguh, 0x0)), + ("vsum2sws", (gen_vsum2sws, 0x0)), + ("bnel-", (gen_bne, 0x200001)), + ("vslw128", (gen_vslw128, 0x0)), + ("divwo", (gen_divw, 0x400)), + ("vcmpeqfp.", (gen_vcmpeqfp, 0x400)), + ("creqv", (gen_creqv, 0x0)), + ("beqlrl+", (gen_beqlr, 0x200001)), + ("vsl", (gen_vsl, 0x0)), + ("lwzx", (gen_lwzx, 0x0)), + ("ps_merge11", (gen_ps_merge11, 0x0)), + ("dststt", (gen_dstst, 0x2000000)), + ("vmaxub", (gen_vmaxub, 0x0)), + ("vsubfp", (gen_vsubfp, 0x0)), + ("stdx", (gen_stdx, 0x0)), + ("bdztla-", (gen_bdzt, 0x200003)), + ("bdnzfla", (gen_bdnzf, 0x3)), + ("clrrwi", (gen_clrrwi, 0x0)), + ("psq_st", (gen_psq_st, 0x0)), + ("bdztlrl+", (gen_bdztlr, 0x200001)), + ("lvrx128", (gen_lvrx128, 0x0)), + ("bcctrl+", (gen_bcctr, 0x200001)), + ("bdzfla-", (gen_bdzf, 0x200003)), + ("divwuo", (gen_divwu, 0x400)), + ("vsububm", (gen_vsububm, 0x0)), + ("vand128", (gen_vand128, 0x0)), + ("vcmpgtsb.", (gen_vcmpgtsb, 0x400)), + ("divw", (gen_divw, 0x0)), + ("tdlnl", (gen_tdlnl, 0x0)), + ("sld.", (gen_sld, 0x1)), + ("bgtla", (gen_bgt, 0x3)), + ("lfd", (gen_lfd, 0x0)), + ("subfc", (gen_subfc, 0x0)), + ("vpkswss128", (gen_vpkswss128, 0x0)), + ("frsp.", (gen_frsp, 0x1)), + ("ps_madd.", (gen_ps_madd, 0x1)), + ("bnelrl", (gen_bnelr, 0x1)), + ("nego", (gen_neg, 0x400)), + ("extrwi", (gen_extrwi, 0x0)), + ("bdnzfl-", (gen_bdnzf, 0x200001)), + ("bdzlr+", (gen_bdzlr, 0x200000)), + ("lvlx", (gen_lvlx, 0x0)), + ("vsubuhm", (gen_vsubuhm, 0x0)), + ("vupkd3d128", (gen_vupkd3d128, 0x0)), + ("mtsr", (gen_mtsr, 0x0)), + ("vmulouh", (gen_vmulouh, 0x0)), + ("vcmpequw", (gen_vcmpequw, 0x0)), + ("mfdbatl", (gen_mfdbatl, 0x0)), + ("bnsctrl", (gen_bnsctr, 0x1)), + ("fsubs.", (gen_fsubs, 0x1)), + ("vmulfp128", (gen_vmulfp128, 0x0)), + ("bdzta+", (gen_bdzt, 0x200002)), + ("lbzux", (gen_lbzux, 0x0)), + ("bcla", (gen_bc, 0x3)), + ("vmaddfp", (gen_vmaddfp, 0x0)), + ("blea-", (gen_ble, 0x200002)), + ("vsubuws", (gen_vsubuws, 0x0)), + ("bgta-", (gen_bgt, 0x200002)), + ("bdnzfa-", (gen_bdnzf, 0x200002)), + ("subf.", (gen_subf, 0x1)), + ("stvlxl128", (gen_stvlxl128, 0x0)), + ("vupkhpx", (gen_vupkhpx, 0x0)), + ("fctidz.", (gen_fctidz, 0x1)), + ("mtfsfi.", (gen_mtfsfi, 0x1)), + ("bne", (gen_bne, 0x0)), + ("bgt+", (gen_bgt, 0x200000)), + ("b", (gen_b, 0x0)), + ("crnot", (gen_crnot, 0x0)), + ("bdzta", (gen_bdzt, 0x2)), + ("bdnzflr+", (gen_bdnzflr, 0x200000)), + ("beql-", (gen_beq, 0x200001)), + ("vsubcuw", (gen_vsubcuw, 0x0)), + ("vupklsh", (gen_vupklsh, 0x0)), + ("bnslrl", (gen_bnslr, 0x1)), + ("bcla-", (gen_bc, 0x200003)), + ("stvlx", (gen_stvlx, 0x0)), + ("bca+", (gen_bc, 0x200002)), + ("vmsumshm", (gen_vmsumshm, 0x0)), + ("rldimi.", (gen_rldimi, 0x1)), + ("ps_merge01.", (gen_ps_merge01, 0x1)), + ("divd", (gen_divd, 0x0)), + ("vrlimi128", (gen_vrlimi128, 0x0)), + ("blta-", (gen_blt, 0x200002)), + ("vadduws", (gen_vadduws, 0x0)), + ("mulhd", (gen_mulhd, 0x0)), + ("srawi.", (gen_srawi, 0x1)), + ("bnectrl", (gen_bnectr, 0x1)), + ("lis", (gen_lis, 0x0)), + ("ps_sub", (gen_ps_sub, 0x0)), + ("beqlrl", (gen_beqlr, 0x1)), + ("bdnzta+", (gen_bdnzt, 0x200002)), + ("dcbst", (gen_dcbst, 0x0)), + ("vmaxfp128", (gen_vmaxfp128, 0x0)), + ("vupklsb128", (gen_vupklsb128, 0x0)), + ("bdzflr", (gen_bdzflr, 0x0)), + ("stfdx", (gen_stfdx, 0x0)), + ("bca-", (gen_bc, 0x200002)), + ("vcmpgtuw.", (gen_vcmpgtuw, 0x400)), + ("vsrw", (gen_vsrw, 0x0)), + ("stvrxl128", (gen_stvrxl128, 0x0)), + ("vspltw", (gen_vspltw, 0x0)), + ("vmulosb", (gen_vmulosb, 0x0)), + ("slwi.", (gen_slwi, 0x1)), + ("bdza", (gen_bdz, 0x2)), + ("bsoa", (gen_bso, 0x2)), + ("beq-", (gen_beq, 0x200000)), + ("dcbt", (gen_dcbt, 0x0)), + ("addmeo.", (gen_addme, 0x401)), + ("vcmpgtuh", (gen_vcmpgtuh, 0x0)), + ("fctiw.", (gen_fctiw, 0x1)), + ("ldu", (gen_ldu, 0x0)), + ("fres.", (gen_fres, 0x1)), + ("ps_mul", (gen_ps_mul, 0x0)), + ("beql", (gen_beq, 0x1)), + ("vctsxs128", (gen_vctsxs128, 0x0)), + ("bnsl-", (gen_bns, 0x200001)), + ("ps_merge10", (gen_ps_merge10, 0x0)), + ("subfeo.", (gen_subfe, 0x401)), + ("addo", (gen_add, 0x400)), + ("subfco.", (gen_subfc, 0x401)), + ("bne+", (gen_bne, 0x200000)), + ("xoris", (gen_xoris, 0x0)), + ("vsum4ubs", (gen_vsum4ubs, 0x0)), + ("bdzt-", (gen_bdzt, 0x200000)), + ("vrfiz128", (gen_vrfiz128, 0x0)), + ("mullwo.", (gen_mullw, 0x401)), + ("vupkhsb128", (gen_vupkhsb128, 0x0)), + ("mtfsf.", (gen_mtfsf, 0x1)), + ("orc.", (gen_orc, 0x1)), + ("clrlwi", (gen_clrlwi, 0x0)), + ("dstst", (gen_dstst, 0x0)), + ("fmadd.", (gen_fmadd, 0x1)), + ("blela+", (gen_ble, 0x200003)), + ("divdo", (gen_divd, 0x400)), + ("rldicl.", (gen_rldicl, 0x1)), + ("bnectrl+", (gen_bnectr, 0x200001)), + ("ps_div", (gen_ps_div, 0x0)), + ("vminfp128", (gen_vminfp128, 0x0)), + ("bnsa+", (gen_bns, 0x200002)), + ("stvrx", (gen_stvrx, 0x0)), + ("ps_nabs", (gen_ps_nabs, 0x0)), + ("bdztla", (gen_bdzt, 0x3)), + ("addco", (gen_addc, 0x400)), + ("divdu.", (gen_divdu, 0x1)), + ("mulhdu.", (gen_mulhdu, 0x1)), + ("mulhw", (gen_mulhw, 0x0)), + ("divdo.", (gen_divd, 0x401)), + ("slbia", (gen_slbia, 0x0)), + ("vmuloub", (gen_vmuloub, 0x0)), + ("bdnztla+", (gen_bdnzt, 0x200003)), + ("mtlr", (gen_mtlr, 0x0)), + ("bnela-", (gen_bne, 0x200003)), + ("bnslr+", (gen_bnslr, 0x200000)), + ("stmw", (gen_stmw, 0x0)), + ("mtfsb0.", (gen_mtfsb0, 0x1)), + ("fneg", (gen_fneg, 0x0)), + ("stvx128", (gen_stvx128, 0x0)), + ("stvrxl", (gen_stvrxl, 0x0)), + ("ld", (gen_ld, 0x0)), + ("ps_msub", (gen_ps_msub, 0x0)), + ("mtear", (gen_mtear, 0x0)), + ("ps_nmadd.", (gen_ps_nmadd, 0x1)), + ("vmaxuh", (gen_vmaxuh, 0x0)), + ("vcmpeqfp128", (gen_vcmpeqfp128, 0x0)), + ("addeo", (gen_adde, 0x400)), + ("rotld", (gen_rotld, 0x0)), + ("srawi", (gen_srawi, 0x0)), + ("fmuls", (gen_fmuls, 0x0)), + ("cmplw", (gen_cmplw, 0x0)), + ("fabs", (gen_fabs, 0x0)), + ("stvewx128", (gen_stvewx128, 0x0)), + ("stw", (gen_stw, 0x0)), + ("bdzflr+", (gen_bdzflr, 0x200000)), + ("bdnz+", (gen_bdnz, 0x200000)), + ("ldarx", (gen_ldarx, 0x0)), + ("lbzx", (gen_lbzx, 0x0)), + ("vcmpgtfp", (gen_vcmpgtfp, 0x0)), + ("mfsr", (gen_mfsr, 0x0)), + ("ecowx", (gen_ecowx, 0x0)), + ("ps_mul.", (gen_ps_mul, 0x1)), + ("ble-", (gen_ble, 0x200000)), + ("vnor128", (gen_vnor128, 0x0)), + ("blel-", (gen_ble, 0x200001)), + ("vpkuhum128", (gen_vpkuhum128, 0x0)), + ("bdzla-", (gen_bdz, 0x200003)), + ("bgectrl+", (gen_bgectr, 0x200001)), + ("vctsxs", (gen_vctsxs, 0x0)), + ("dssall", (gen_dssall, 0x0)), + ("bnsa", (gen_bns, 0x2)), + ("bltl-", (gen_blt, 0x200001)), + ("mtsrdin", (gen_mtsrdin, 0x0)), + ("beql+", (gen_beq, 0x200001)), + ("ps_mr.", (gen_ps_mr, 0x1)), + ("bgtla+", (gen_bgt, 0x200003)), + ("mfvscr", (gen_mfvscr, 0x0)), + ("vsr", (gen_vsr, 0x0)), + ("bgtlrl", (gen_bgtlr, 0x1)), + ("bgectr", (gen_bgectr, 0x0)), + ("fmsubs.", (gen_fmsubs, 0x1)), + ("vaddubm", (gen_vaddubm, 0x0)), + ("psq_lx", (gen_psq_lx, 0x0)), + ("bdnzt-", (gen_bdnzt, 0x200000)), + ("crandc", (gen_crandc, 0x0)), + ("lmw", (gen_lmw, 0x0)), + ("subi", (gen_subi, 0x0)), + ("ps_res.", (gen_ps_res, 0x1)), + ("mullwo", (gen_mullw, 0x400)), + ("bltl", (gen_blt, 0x1)), + ("bdzl+", (gen_bdz, 0x200001)), + ("rldicl", (gen_rldicl, 0x0)), + ("vmaxsh", (gen_vmaxsh, 0x0)), + ("blea", (gen_ble, 0x2)), + ("fcmpo", (gen_fcmpo, 0x0)), + ("icbi.", (gen_icbi, 0x1)), + ("vminub", (gen_vminub, 0x0)), + ("lwaux", (gen_lwaux, 0x0)), + ("bgelrl", (gen_bgelr, 0x1)), + ("nego.", (gen_neg, 0x401)), + ("fmsub", (gen_fmsub, 0x0)), + ("vadduwm", (gen_vadduwm, 0x0)), + ("bgtlr+", (gen_bgtlr, 0x200000)), + ("bdnzflrl+", (gen_bdnzflr, 0x200001)), + ("bnelr+", (gen_bnelr, 0x200000)), + ("extsh.", (gen_extsh, 0x1)), + ("lfsu", (gen_lfsu, 0x0)), + ("dss", (gen_dss, 0x0)), + ("mfibatu", (gen_mfibatu, 0x0)), + ("vsldoi", (gen_vsldoi, 0x0)), + ("adde", (gen_adde, 0x0)), + ("subic", (gen_subic, 0x0)), + ("eieio", (gen_eieio, 0x0)), + ("rotrwi.", (gen_rotrwi, 0x1)), + ("srw.", (gen_srw, 0x1)), + ("subfmeo", (gen_subfme, 0x400)), + ("vsubfp128", (gen_vsubfp128, 0x0)), + ("mfear", (gen_mfear, 0x0)), + ("vmsumubm", (gen_vmsumubm, 0x0)), + ("bsoctr", (gen_bsoctr, 0x0)), + ("rldcl", (gen_rldcl, 0x0)), + ("ps_muls0.", (gen_ps_muls0, 0x1)), + ("bnea", (gen_bne, 0x2)), + ("bgtlr", (gen_bgtlr, 0x0)), + ("vsubuwm", (gen_vsubuwm, 0x0)), + ("vcfsx128", (gen_vcfsx128, 0x0)), + ("lvx", (gen_lvx, 0x0)), + ("bnsa-", (gen_bns, 0x200002)), + ("vcfsx", (gen_vcfsx, 0x0)), + ("beqctr", (gen_beqctr, 0x0)), + ("srd.", (gen_srd, 0x1)), + ("bltlr+", (gen_bltlr, 0x200000)), + ("stfdux", (gen_stfdux, 0x0)), + ("ps_sum1.", (gen_ps_sum1, 0x1)), + ("bla", (gen_b, 0x3)), + ("ps_res", (gen_ps_res, 0x0)), + ("bltla", (gen_blt, 0x3)), + ("andi.", (gen_andi_, 0x0)), + ("cmpli", (gen_cmpli, 0x0)), + ("fmadds", (gen_fmadds, 0x0)), + ("and.", (gen_and, 0x1)), + ("vsro128", (gen_vsro128, 0x0)), + ("bgela-", (gen_bge, 0x200003)), + ("vmhaddshs", (gen_vmhaddshs, 0x0)), + ("vmsumshs", (gen_vmsumshs, 0x0)), + ("eqv.", (gen_eqv, 0x1)), + ("fnmsubs.", (gen_fnmsubs, 0x1)), + ("vsrh", (gen_vsrh, 0x0)), + ("mttbu", (gen_mttbu, 0x0)), + ("eqv", (gen_eqv, 0x0)), + ("orc", (gen_orc, 0x0)), + ("bclr+", (gen_bclr, 0x200000)), + ("ps_merge10.", (gen_ps_merge10, 0x1)), + ("addzeo.", (gen_addze, 0x401)), + ("vmaxfp", (gen_vmaxfp, 0x0)), + ("vslo", (gen_vslo, 0x0)), + ("bdztl+", (gen_bdzt, 0x200001)), + ("ps_rsqrte.", (gen_ps_rsqrte, 0x1)), + ("bclrl+", (gen_bclr, 0x200001)), + ("fmul.", (gen_fmul, 0x1)), + ("vspltisw128", (gen_vspltisw128, 0x0)), + ("stfsx", (gen_stfsx, 0x0)), + ("vaddsws", (gen_vaddsws, 0x0)), + ("vcmpgtsw.", (gen_vcmpgtsw, 0x400)), + ("lwzu", (gen_lwzu, 0x0)), + ("stvehx", (gen_stvehx, 0x0)), + ("beqlr", (gen_beqlr, 0x0)), + ("bdnztl-", (gen_bdnzt, 0x200001)), + ("eciwx", (gen_eciwx, 0x0)), + ("vupkhsh128", (gen_vupkhsh128, 0x0)), + ("stfs", (gen_stfs, 0x0)), + ("rlwimi.", (gen_rlwimi, 0x1)), + ("rlwinm", (gen_rlwinm, 0x0)), + ("vminuw", (gen_vminuw, 0x0)), + ("vcmpequh.", (gen_vcmpequh, 0x400)), + ("mffs", (gen_mffs, 0x0)), + ("stwcx.", (gen_stwcx_, 0x0)), + ("rldicr", (gen_rldicr, 0x0)), + ("mtfsf", (gen_mtfsf, 0x0)), + ("bnslr", (gen_bnslr, 0x0)), + ("stdcx.", (gen_stdcx_, 0x0)), + ("fres", (gen_fres, 0x0)), + ("bdz+", (gen_bdz, 0x200000)), + ("vrlw128", (gen_vrlw128, 0x0)), + ("bdztlr", (gen_bdztlr, 0x0)), + ("mtmsrd", (gen_mtmsrd, 0x0)), + ("vmsumuhm", (gen_vmsumuhm, 0x0)), + ("sradi", (gen_sradi, 0x0)), + ("psq_stx", (gen_psq_stx, 0x0)), + ("vpkpx", (gen_vpkpx, 0x0)), + ("vcmpbfp.", (gen_vcmpbfp, 0x400)), + ("bcctrl", (gen_bcctr, 0x1)), + ("extsw.", (gen_extsw, 0x1)), + ("bge+", (gen_bge, 0x200000)), + ("mfsrr1", (gen_mfsrr1, 0x0)), + ("subfze", (gen_subfze, 0x0)), + ("bso", (gen_bso, 0x0)), + ("bdzla+", (gen_bdz, 0x200003)), + ("vmrglb", (gen_vmrglb, 0x0)), + ("lvrx", (gen_lvrx, 0x0)), + ("cmpld", (gen_cmpld, 0x0)), + ("bc", (gen_bc, 0x0)), + ("lvlx128", (gen_lvlx128, 0x0)), + ("blectrl", (gen_blectr, 0x1)), + ("xor.", (gen_xor, 0x1)), + ("beqla", (gen_beq, 0x3)), + ("vsumsws", (gen_vsumsws, 0x0)), + ("mflr", (gen_mflr, 0x0)), + ("vaddfp128", (gen_vaddfp128, 0x0)), + ("vpkshus", (gen_vpkshus, 0x0)), + ("dcbz_l", (gen_dcbz_l, 0x0)), + ("vmulosh", (gen_vmulosh, 0x0)), + ("mtcrf", (gen_mtcrf, 0x0)), + ("bdztlrl", (gen_bdztlr, 0x1)), + ("bdnzf", (gen_bdnzf, 0x0)), + ("vrfim128", (gen_vrfim128, 0x0)), + ("beqa-", (gen_beq, 0x200002)), + ("bgectrl", (gen_bgectr, 0x1)), + ("vand", (gen_vand, 0x0)), + ("bgtctr", (gen_bgtctr, 0x0)), + ("ble", (gen_ble, 0x0)), + ("mtdec", (gen_mtdec, 0x0)), + ("bgtctrl+", (gen_bgtctr, 0x200001)), + ("lvehx", (gen_lvehx, 0x0)), + ("ps_nmsub.", (gen_ps_nmsub, 0x1)), + ("mtsrin", (gen_mtsrin, 0x0)), + ("bso-", (gen_bso, 0x200000)), + ("rfi", (gen_rfi, 0x0)), + ("vrlw", (gen_vrlw, 0x0)), + ("bso+", (gen_bso, 0x200000)), + ("oris", (gen_oris, 0x0)), + ("vsrb", (gen_vsrb, 0x0)), + ("addme", (gen_addme, 0x0)), + ("bltctr", (gen_bltctr, 0x0)), + ("subfme", (gen_subfme, 0x0)), + ("addis", (gen_addis, 0x0)), + ("fmadds.", (gen_fmadds, 0x1)), + ("bdz-", (gen_bdz, 0x200000)), + ("xor", (gen_xor, 0x0)), + ("stvewx", (gen_stvewx, 0x0)), + ("ps_muls0", (gen_ps_muls0, 0x0)), + ("bdzfla", (gen_bdzf, 0x3)), + ("mfdec", (gen_mfdec, 0x0)), + ("bdnztl+", (gen_bdnzt, 0x200001)), + ("stfiwx", (gen_stfiwx, 0x0)), + ("vsel128", (gen_vsel128, 0x0)), + ("bdnzlrl", (gen_bdnzlr, 0x1)), + ("rldicr.", (gen_rldicr, 0x1)), + ("mcrxr", (gen_mcrxr, 0x0)), + ("bsola", (gen_bso, 0x3)), + ("vmaddcfp128", (gen_vmaddcfp128, 0x0)), + ("blelr+", (gen_blelr, 0x200000)), + ("clrrwi.", (gen_clrrwi, 0x1)), + ("vaddsbs", (gen_vaddsbs, 0x0)), + ("vpkshss", (gen_vpkshss, 0x0)), + ("divduo.", (gen_divdu, 0x401)), + ("psq_stux", (gen_psq_stux, 0x0)), + ("bns", (gen_bns, 0x0)), + ("nand", (gen_nand, 0x0)), + ("bgt", (gen_bgt, 0x0)), + ("blt+", (gen_blt, 0x200000)), + ("bcctr", (gen_bcctr, 0x0)), + ("bdnztla", (gen_bdnzt, 0x3)), + ("vaddfp", (gen_vaddfp, 0x0)), + ("vpkuwum", (gen_vpkuwum, 0x0)), + ("bsoctr+", (gen_bsoctr, 0x200000)), + ("fctid.", (gen_fctid, 0x1)), + ("subfze.", (gen_subfze, 0x1)), + ("bctr", (gen_bctr, 0x0)), + ("ps_sel", (gen_ps_sel, 0x0)), + ("subfc.", (gen_subfc, 0x1)), + ("addic.", (gen_addic_, 0x0)), + ("vpkuhum", (gen_vpkuhum, 0x0)), + ("clrlwi.", (gen_clrlwi, 0x1)), + ("tdi", (gen_tdi, 0x0)), + ("lhzx", (gen_lhzx, 0x0)), + ("cmpd", (gen_cmpd, 0x0)), + ("mtfsb1", (gen_mtfsb1, 0x0)), + ("vavgub", (gen_vavgub, 0x0)), + ("bdnzfl", (gen_bdnzf, 0x1)), + ("lfsux", (gen_lfsux, 0x0)), + ("vmsumuhs", (gen_vmsumuhs, 0x0)), + ("bgea+", (gen_bge, 0x200002)), + ("nand.", (gen_nand, 0x1)), + ("vsum4sbs", (gen_vsum4sbs, 0x0)), + ("vnmsubfp128", (gen_vnmsubfp128, 0x0)), + ("bdzt+", (gen_bdzt, 0x200000)), + ("vcmpgtsw", (gen_vcmpgtsw, 0x0)), + ("lvewx128", (gen_lvewx128, 0x0)), + ("bdnzfa", (gen_bdnzf, 0x2)), + ("rotlw", (gen_rotlw, 0x0)), + ("vmrghh", (gen_vmrghh, 0x0)), + ("bsol", (gen_bso, 0x1)), + ("bnel+", (gen_bne, 0x200001)), + ("fmr", (gen_fmr, 0x0)), + ("bnelr", (gen_bnelr, 0x0)), + ("mtdar", (gen_mtdar, 0x0)), + ("vcmpequw.", (gen_vcmpequw, 0x400)), + ("vcmpbfp128.", (gen_vcmpbfp128, 0x40)), + ("bnsl", (gen_bns, 0x1)), + ("vupklsb", (gen_vupklsb, 0x0)), + ("vcmpequh", (gen_vcmpequh, 0x0)), + ("ps_nabs.", (gen_ps_nabs, 0x1)), + ("bdnzflrl", (gen_bdnzflr, 0x1)), + ("bgtl-", (gen_bgt, 0x200001)), + ("ps_madds1", (gen_ps_madds1, 0x0)), + ("vspltish", (gen_vspltish, 0x0)), + ("blt-", (gen_blt, 0x200000)), + ("mtfsb1.", (gen_mtfsb1, 0x1)), + ("bl", (gen_b, 0x1)), + ("crnor", (gen_crnor, 0x0)), + ("sraw", (gen_sraw, 0x0)), + ("vor128", (gen_vor128, 0x0)), + ("fsub", (gen_fsub, 0x0)), + ("bdnzla+", (gen_bdnz, 0x200003)), + ("bdnzlr", (gen_bdnzlr, 0x0)), + ("mfdar", (gen_mfdar, 0x0)), + ("stvxl128", (gen_stvxl128, 0x0)), + ("ps_cmpu0", (gen_ps_cmpu0, 0x0)), + ("lvsl128", (gen_lvsl128, 0x0)), + ("bdnzta-", (gen_bdnzt, 0x200002)), + ("mulhwu.", (gen_mulhwu, 0x1)), + ("addc", (gen_addc, 0x0)), + ("bnel", (gen_bne, 0x1)), + ("blelr", (gen_blelr, 0x0)), + ("std", (gen_std, 0x0)), + ("ps_muls1", (gen_ps_muls1, 0x0)), + ("bdnzlrl+", (gen_bdnzlr, 0x200001)), + ("ps_merge00.", (gen_ps_merge00, 0x1)), + ("bgea-", (gen_bge, 0x200002)), + ("rldcl.", (gen_rldcl, 0x1)), + ("addi", (gen_addi, 0x0)), + ("divwo.", (gen_divw, 0x401)), + ("vlogefp128", (gen_vlogefp128, 0x0)), + ("vmuleuh", (gen_vmuleuh, 0x0)), + ("vupklpx", (gen_vupklpx, 0x0)), + ("lswx", (gen_lswx, 0x0)), + ("sync", (gen_sync, 0x0)), + ("srw", (gen_srw, 0x0)), + ("mr.", (gen_mr, 0x1)), + ("ps_neg.", (gen_ps_neg, 0x1)), + ("bsoctrl+", (gen_bsoctr, 0x200001)), + ("extsw", (gen_extsw, 0x0)), + ("rlwnm", (gen_rlwnm, 0x0)), + ("cmp", (gen_cmp, 0x0)), + ("bdzfl-", (gen_bdzf, 0x200001)), + ("vadduhs", (gen_vadduhs, 0x0)), + ("bnslrl+", (gen_bnslr, 0x200001)), + ("lwsync", (gen_lwsync, 0x0)), + ("vsrab", (gen_vsrab, 0x0)), + ("lvx128", (gen_lvx128, 0x0)), + ("mtdbatu", (gen_mtdbatu, 0x0)), + ("bdzf+", (gen_bdzf, 0x200000)), + ("vpkuhus128", (gen_vpkuhus128, 0x0)), + ("vmhraddshs", (gen_vmhraddshs, 0x0)), + ("ldx", (gen_ldx, 0x0)), + ("rldcr.", (gen_rldcr, 0x1)), + ("bdnzfla-", (gen_bdnzf, 0x200003)), + ("mtfsb0", (gen_mtfsb0, 0x0)), + ("vnor", (gen_vnor, 0x0)), + ("lha", (gen_lha, 0x0)), + ("dcbtst", (gen_dcbtst, 0x0)), + ("bnsctr+", (gen_bnsctr, 0x200000)), + ("vandc128", (gen_vandc128, 0x0)), + ("mtmsr", (gen_mtmsr, 0x0)), + ("stfsux", (gen_stfsux, 0x0)), + ("bdnzf-", (gen_bdnzf, 0x200000)), + ("ps_cmpo1", (gen_ps_cmpo1, 0x0)), + ("vadduhm", (gen_vadduhm, 0x0)), + ("fsubs", (gen_fsubs, 0x0)), + ("mfsdr1", (gen_mfsdr1, 0x0)), + ("stswi", (gen_stswi, 0x0)), + ("srwi", (gen_srwi, 0x0)), + ("bdzf-", (gen_bdzf, 0x200000)), + ("lwarx", (gen_lwarx, 0x0)), + ("ps_merge11.", (gen_ps_merge11, 0x1)), + ("twui", (gen_twui, 0x0)), + ("isync", (gen_isync, 0x0)), + ("mtvscr", (gen_mtvscr, 0x0)), + ("bdzflrl", (gen_bdzflr, 0x1)), + ("bltlr", (gen_bltlr, 0x0)), + ("mfsrin", (gen_mfsrin, 0x0)), + ("mtsrd", (gen_mtsrd, 0x0)), + ("mffs.", (gen_mffs, 0x1)), + ("and", (gen_and, 0x0)), + ("mtsrr0", (gen_mtsrr0, 0x0)), + ("vmulesh", (gen_vmulesh, 0x0)), + ("cntlzw.", (gen_cntlzw, 0x1)), + ("ps_abs", (gen_ps_abs, 0x0)), + ("extsb.", (gen_extsb, 0x1)), + ("nop", (gen_nop, 0x0)), + ("extrwi.", (gen_extrwi, 0x1)), + ("lfs", (gen_lfs, 0x0)), + ("rotlw.", (gen_rotlw, 0x1)), + ("bnectr", (gen_bnectr, 0x0)), + ("bdzlr", (gen_bdzlr, 0x0)), + ("bdnztlrl+", (gen_bdnztlr, 0x200001)), + ("bgtlrl+", (gen_bgtlr, 0x200001)), + ("vmaxsb", (gen_vmaxsb, 0x0)), + ("bne-", (gen_bne, 0x200000)), + ("fadds.", (gen_fadds, 0x1)), + ("vctuxs128", (gen_vctuxs128, 0x0)), + ("clrlslwi.", (gen_clrlslwi, 0x1)), + ("blta", (gen_blt, 0x2)), + ("mftb", (gen_mftb, 0x0)), + ("vsubuhs", (gen_vsubuhs, 0x0)), + ("mtibatl", (gen_mtibatl, 0x0)), + ("vrefp128", (gen_vrefp128, 0x0)), + ("bltctrl+", (gen_bltctr, 0x200001)), + ("blectrl+", (gen_blectr, 0x200001)), + ("stvlx128", (gen_stvlx128, 0x0)), + ("bsol+", (gen_bso, 0x200001)), + ("lvlxl", (gen_lvlxl, 0x0)), + ("bgel+", (gen_bge, 0x200001)), + ("srad.", (gen_srad, 0x1)), + ("mulhd.", (gen_mulhd, 0x1)), + ("twlge", (gen_twlge, 0x0)), + ("vrefp", (gen_vrefp, 0x0)), + ("tlbsync", (gen_tlbsync, 0x0)), + ("tdlti", (gen_tdlti, 0x0)), + ("lvxl", (gen_lvxl, 0x0)), + ("bcla+", (gen_bc, 0x200003)), + ("bdza-", (gen_bdz, 0x200002)), + ("beqla-", (gen_beq, 0x200003)), + ("vcfux128", (gen_vcfux128, 0x0)), + ("vupkhsb", (gen_vupkhsb, 0x0)), + ("addme.", (gen_addme, 0x1)), + ("blea+", (gen_ble, 0x200002)), + ("stbx", (gen_stbx, 0x0)), + ("bdztl", (gen_bdzt, 0x1)), + ("beq+", (gen_beq, 0x200000)), + ("vcmpgtfp128", (gen_vcmpgtfp128, 0x0)), + ("mfibatl", (gen_mfibatl, 0x0)), + ("vmrghb", (gen_vmrghb, 0x0)), + ("bdnzfa+", (gen_bdnzf, 0x200002)), + ("blta+", (gen_blt, 0x200002)), + ("bclr", (gen_bclr, 0x0)), + ("vxor", (gen_vxor, 0x0)), + ("lvebx", (gen_lvebx, 0x0)), + ("bc+", (gen_bc, 0x200000)), + ("subf", (gen_subf, 0x0)), + ("fmr.", (gen_fmr, 0x1)), + ("ps_sub.", (gen_ps_sub, 0x1)), + ("vandc", (gen_vandc, 0x0)), + ("bdnzl-", (gen_bdnz, 0x200001)), + ("bgt-", (gen_bgt, 0x200000)), + ("sth", (gen_sth, 0x0)), + ("lwzux", (gen_lwzux, 0x0)), + ("bdnza-", (gen_bdnz, 0x200002)), + ("li", (gen_li, 0x0)), + ("divwu", (gen_divwu, 0x0)), + ("vperm", (gen_vperm, 0x0)), + ("blela", (gen_ble, 0x3)), + ("bnelrl+", (gen_bnelr, 0x200001)), + ("bnela+", (gen_bne, 0x200003)), + ("bdzf", (gen_bdzf, 0x0)), + ("addc.", (gen_addc, 0x1)), + ("lvsr", (gen_lvsr, 0x0)), + ("tdge", (gen_tdge, 0x0)), + ("bnsctrl+", (gen_bnsctr, 0x200001)), + ("beqctrl+", (gen_beqctr, 0x200001)), + ("ps_add", (gen_ps_add, 0x0)), + ("fnmsubs", (gen_fnmsubs, 0x0)), + ("vupkhsh", (gen_vupkhsh, 0x0)), + ("bdnzt", (gen_bdnzt, 0x0)), + ("vpkswus128", (gen_vpkswus128, 0x0)), + ("lhzux", (gen_lhzux, 0x0)), + ("bdnza", (gen_bdnz, 0x2)), + ("rotlwi", (gen_rotlwi, 0x0)), + ("vcmpgtsb", (gen_vcmpgtsb, 0x0)), + ("vpkshus128", (gen_vpkshus128, 0x0)), + ("bcl+", (gen_bc, 0x200001)), + ("vcmpgtuw", (gen_vcmpgtuw, 0x0)), + ("vupklsh128", (gen_vupklsh128, 0x0)), + ("bdnz", (gen_bdnz, 0x0)), + ("blectr", (gen_blectr, 0x0)), + ("bnea-", (gen_bne, 0x200002)), + ("srwi.", (gen_srwi, 0x1)), + ("bdz", (gen_bdz, 0x0)), ], }; pub fn assemble(mnemonic: &str, args: &Arguments) -> Result { diff --git a/asm/src/types.rs b/asm/src/types.rs index 1abd493..9355cfd 100644 --- a/asm/src/types.rs +++ b/asm/src/types.rs @@ -1,23 +1,22 @@ use crate::Arguments; -use core::fmt::Formatter; +use thiserror::Error; -#[derive(Debug)] +#[derive(Error, Debug)] pub enum ArgumentError { + #[error( + "argument index {index} is out of range: {value} (expected between {start} and {end})" + )] ArgOutOfRangeUnsigned { index: usize, value: u32, start: u32, end: u32 }, + #[error( + "argument index {index} is out of range: {value} (expected between {start} and {end})" + )] ArgOutOfRangeSigned { index: usize, value: i32, start: i32, end: i32 }, + #[error("unexpected number of arguments: {value} (expected at most {expected})")] ArgCount { value: usize, expected: usize }, + #[error("unknown instruction mnemonic")] UnknownMnemonic, } -impl core::fmt::Display for ArgumentError { - fn fmt(&self, _f: &mut Formatter<'_>) -> core::fmt::Result { - todo!() - } -} - -#[cfg(feature = "std")] -impl std::error::Error for ArgumentError {} - #[derive(Debug, Default, Clone, Copy, Eq, PartialEq)] pub enum Argument { #[default] diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 6fa5fad..d3cffe6 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -11,5 +11,5 @@ publish = false [dependencies] clap = "4" -num_cpus = "1.16" +num_cpus = "1.17" powerpc = { path = "../disasm" } diff --git a/genisa/Cargo.toml b/genisa/Cargo.toml index 7312217..f6a8aab 100644 --- a/genisa/Cargo.toml +++ b/genisa/Cargo.toml @@ -14,7 +14,7 @@ anyhow = "1.0" indexmap = { version = "2.10", features = ["serde"] } log = "0.4" num-traits = "0.2" -phf_codegen = "0.11" +phf_codegen = "0.12" prettyplease = "0.2" proc-macro2 = "1.0" quote = "1.0" diff --git a/genisa/src/asm.rs b/genisa/src/asm.rs index 975f003..2615cd3 100644 --- a/genisa/src/asm.rs +++ b/genisa/src/asm.rs @@ -94,7 +94,7 @@ pub fn gen_asm(isa: &Isa, max_args: usize) -> Result { pattern |= modifier.mask(); } let name = format!("{}{}", mnemonic.name(), suffix); - func_map.entry(name, &format!("(gen_{}, {:#x})", to_ident(mnemonic.name()), pattern)); + func_map.entry(name, format!("(gen_{}, {:#x})", to_ident(mnemonic.name()), pattern)); } let func_map = syn::parse_str::(&func_map.build().to_string())?;