From 7ebcd5de1ea06d3ab2c01bb7ed0c05c2fb722e8e Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Sun, 18 Jan 2026 19:12:48 -0800 Subject: [PATCH] decode bitwise logic instructions; also nop and mr special cases --- crates/cpu/src/decoder/simple_power_isa.rs | 146 +- crates/cpu/src/instruction.rs | 106 +- crates/cpu/src/unit/alu_branch.rs | 33 +- crates/cpu/tests/expected/decode_one_insn.vcd | 7765 ++++++++++++----- crates/cpu/tests/simple_power_isa_decoder.rs | 233 +- 5 files changed, 6101 insertions(+), 2182 deletions(-) diff --git a/crates/cpu/src/decoder/simple_power_isa.rs b/crates/cpu/src/decoder/simple_power_isa.rs index dcb85d1..b59955c 100644 --- a/crates/cpu/src/decoder/simple_power_isa.rs +++ b/crates/cpu/src/decoder/simple_power_isa.rs @@ -1,22 +1,19 @@ // SPDX-License-Identifier: LGPL-3.0-or-later // See Notices.txt for copyright information -use crate::instruction::{ - AddSubMOp, CompareMOp, CompareMode, MOpDestReg, MOpRegNum, OutputIntegerMode, -}; -use crate::powerisa_instructions_xml::{ - InstructionBitFieldName, InstructionBitFieldsInner, TextLineItem, -}; -use crate::util::array_vec::Length; use crate::{ - config::CpuConfig, instruction::MOp, powerisa_instructions_xml::Instructions, - util::array_vec::ArrayVec, + config::CpuConfig, + instruction::{ + AddSubMOp, CompareMOp, CompareMode, LogicalMOp, MOp, MOpDestReg, MOpRegNum, MoveRegMOp, + OutputIntegerMode, + }, + powerisa_instructions_xml::{ + InstructionBitFieldName, InstructionBitFieldsInner, Instructions, TextLineItem, + }, + util::array_vec::{ArrayVec, Length}, }; -use fayalite::module::wire_with_loc; -use fayalite::prelude::*; -use fayalite::ty::StaticType; -use std::collections::BTreeMap; -use std::ops::RangeInclusive; +use fayalite::{module::wire_with_loc, prelude::*, ty::StaticType}; +use std::{collections::BTreeMap, ops::RangeInclusive}; #[rustfmt::skip] const FP_MNEMONICS: &[&str] = &[ @@ -122,6 +119,7 @@ const VSX_MNEMONICS: &[&str] = &[ "xxspltiw", "xxspltw", "xxperm", "xxpermr", "xxsldwi", "xxgenpcvdm", "xxgenpcvwm", "lxvkq", "xvtlsbb", ]; +#[derive(Debug)] struct DecodeState { mnemonic: &'static str, arguments: Option<&'static str>, @@ -185,6 +183,8 @@ impl_fields! { struct FieldRA(FieldGpr); #[name = "RB"] struct FieldRB(FieldGpr); + #[name = "RS"] + struct FieldRS(FieldGpr); #[name = "RT"] struct FieldRT(FieldGpr); #[name = "SI"] @@ -1024,6 +1024,103 @@ impl DecodeState { ); }); } + /// for `andi[s]./ori[s]/xori[s]` + #[hdl] + fn decode_andis_oris_xoris(&mut self) { + assert_eq!(self.arguments, Some("RA,RS,UI"), "{self:?}"); + let lut = match self.mnemonic { + "andi." | "andis." => LogicalMOp::lut_from_fn(|[a, b]| a & b), + "ori" | "oris" => LogicalMOp::lut_from_fn(|[a, b]| a | b), + "xori" | "xoris" => LogicalMOp::lut_from_fn(|[a, b]| a ^ b), + _ => unreachable!(), + }; + self.decode_scope(|this, (FieldRS(rs), FieldRA(ra), FieldUI(ui))| { + // TODO: handle SO propagation + connect( + ArrayVec::len(this.output), + 1usize.cast_to_static::>(), + ); + connect( + this.output[0], + LogicalMOp::logical_i( + MOpDestReg::new( + [gpr(ra)], + [( + MOpRegNum::POWER_ISA_CR_0_REG_NUM, + this.mnemonic.contains('.').to_expr(), + )], + ), + [gpr(rs).value], + if this.mnemonic.contains('s') { + (ui << 16).cast_to_static::>() + } else { + ui.cast_to_static::>() + }, + OutputIntegerMode.Full64(), + lut, + ), + ); + if this.mnemonic == "ori" { + #[hdl] + if rs.reg_num.cmp_eq(0u8) & ra.reg_num.cmp_eq(0u8) & ui.cmp_eq(0u8) { + // found `nop`, remove at decode time + connect( + ArrayVec::len(this.output), + 0usize.cast_to_static::>(), + ); + } + } + }); + } + /// for `and[.]/xor[.]/nand[.]/or[.]/orc[.]/nor[.]/eqv[.]/andc[.]` + #[hdl] + fn decode_and_xor_nand_or_orc_nor_eqv_andc(&mut self) { + assert_eq!(self.arguments, Some("RA,RS,RB")); + let lut = match self.mnemonic.trim_end_matches('.') { + "and" => LogicalMOp::lut_from_fn(|[a, b]| a & b), + "xor" => LogicalMOp::lut_from_fn(|[a, b]| a ^ b), + "nand" => LogicalMOp::lut_from_fn(|[a, b]| !(a & b)), + "or" => LogicalMOp::lut_from_fn(|[a, b]| a | b), + "orc" => LogicalMOp::lut_from_fn(|[a, b]| a | !b), + "nor" => LogicalMOp::lut_from_fn(|[a, b]| !(a | b)), + "eqv" => LogicalMOp::lut_from_fn(|[a, b]| a == b), + "andc" => LogicalMOp::lut_from_fn(|[a, b]| a & !b), + _ => unreachable!(), + }; + self.decode_scope( + |this, (FieldRA(ra), FieldRS(rs), FieldRB(rb), FieldRc(rc))| { + // TODO: handle SO propagation + connect( + ArrayVec::len(this.output), + 1usize.cast_to_static::>(), + ); + connect( + this.output[0], + LogicalMOp::logical( + MOpDestReg::new([gpr(ra)], [(MOpRegNum::POWER_ISA_CR_0_REG_NUM, rc)]), + [gpr(rs).value, gpr(rb).value], + 0.cast_to_static::>(), + OutputIntegerMode.Full64(), + lut, + ), + ); + if this.mnemonic == "or" { + #[hdl] + if rs.reg_num.cmp_eq(rb.reg_num) & !rc { + // found `mr` + connect( + this.output[0], + MoveRegMOp::move_reg( + MOpDestReg::new([gpr(ra)], []), + [gpr(rs).value], + 0i8.cast_to_static::>(), + ), + ); + } + } + }, + ); + } } type DecodeFn = fn(&mut DecodeState); @@ -1179,15 +1276,16 @@ const DECODE_FNS: &[(&[&str], DecodeFn)] = &[ (&["isel"], |_state| { // TODO }), + ( + &["andi.", "andis.", "ori", "oris", "xori", "xoris"], + DecodeState::decode_andis_oris_xoris, + ), ( &[ - "andi.", "andis.", "ori", "oris", "xori", "xoris", "and", "and.", "xor", "xor.", - "nand", "nand.", "or", "or.", "orc", "orc.", "nor", "nor.", "eqv", "eqv.", "andc", - "andc.", + "and", "and.", "xor", "xor.", "nand", "nand.", "or", "or.", "orc", "orc.", "nor", + "nor.", "eqv", "eqv.", "andc", "andc.", ], - |_state| { - // TODO - }, + DecodeState::decode_and_xor_nand_or_orc_nor_eqv_andc, ), (&["extsb", "extsb.", "extsh", "extsh."], |_state| { // TODO @@ -1367,13 +1465,13 @@ pub fn decode_one_insn() { let mut conditions; if let Some((mnemonic_, rest)) = mnemonic_line.split_once(char::is_whitespace) { mnemonic = mnemonic_; - if let Some((arguments_, rest)) = - rest.trim_start().split_once(char::is_whitespace) - { + let rest = rest.trim_start(); + if let Some((arguments_, rest)) = rest.split_once(char::is_whitespace) { arguments = Some(arguments_); conditions = Some(rest.trim_start()).filter(|v| !v.is_empty()); } else { - arguments = None; + assert!(!rest.starts_with('(')); + arguments = Some(rest).filter(|v| !v.is_empty()); conditions = None; } } else { diff --git a/crates/cpu/src/instruction.rs b/crates/cpu/src/instruction.rs index 57e4220..7f878c5 100644 --- a/crates/cpu/src/instruction.rs +++ b/crates/cpu/src/instruction.rs @@ -701,16 +701,48 @@ impl AddSubMOp LogicalMOp)] + #[mapped( LogicalMOp)] #[hdl(cmp_eq)] - pub struct LogicalMOp { + /// computes the output like so: + /// ``` + /// fn logical_output(src: [u64; 2], lut: u8) -> u64 { + /// let mut output = 0u64; + /// for i in 0..64 { + /// let mask = 1 << i; + /// let mut lut_index = 0; + /// if (src[0] & mask) != 0 { + /// lut_index |= 1; + /// } + /// if (src[1] & mask) != 0 { + /// lut_index |= 2; + /// } + /// if (lut & (1 << lut_index)) != 0 { + /// output |= mask; + /// } + /// } + /// output + /// } + /// ``` + pub struct LogicalMOp { #[common] - pub alu_common: AluCommonMOp>, + pub alu_common: AluCommonMOp, pub lut: UInt<4>, } } -impl LogicalMOp { +impl LogicalMOp, ConstUsize<2>> { + pub fn lut_from_fn(f: impl Fn([bool; 2]) -> bool) -> UIntValue> { + let mut retval = 0u8; + for lut_index in 0..4 { + if f([(lut_index & 1) != 0, (lut_index & 2) != 0]) { + retval |= 1 << lut_index; + } + } + retval.cast_to_static::>() + } +} + +impl LogicalMOp> { #[hdl] pub fn logical( dest: impl ToExpr, @@ -736,6 +768,32 @@ impl LogicalMOp { } } +impl LogicalMOp> { + #[hdl] + pub fn logical_i( + dest: impl ToExpr, + src: impl ToExpr, 1>>, + imm: impl ToExpr>, + output_integer_mode: impl ToExpr, + lut: impl ToExpr>, + ) -> Expr + where + Self: MOpInto, + { + MOpInto::mop_into( + #[hdl] + LogicalMOp { + alu_common: #[hdl] + AluCommonMOp { + common: CommonMOp::new(0_hdl_u0, dest, src, Expr::as_dyn_int(imm.to_expr())), + output_integer_mode, + }, + lut, + }, + ) + } +} + #[hdl] pub enum CompareMode { U64, @@ -866,7 +924,8 @@ mop_enum! { pub enum AluBranchMOp { AddSub(AddSubMOp>), AddSubI(AddSubMOp>), - Logical(LogicalMOp), + Logical(LogicalMOp>), + LogicalI(LogicalMOp>), Compare(CompareMOp>), CompareI(CompareMOp>), } @@ -944,6 +1003,43 @@ common_mop_struct! { } } +impl MOpInto + for MoveRegMOp +where + UnitMOp: MOpInto, +{ + fn mop_into_ty(self) -> Target { + MOpInto::mop_into_ty( + UnitMOp[MOpTrait::dest_reg_ty(self)][MOpTrait::src_reg_width(self)][self], + ) + } + fn mop_into(this: Expr) -> Expr { + MOpInto::mop_into( + MOpInto::>::mop_into_ty(this.ty()) + .TransformedMove(this), + ) + } +} + +impl MoveRegMOp { + #[hdl] + pub fn move_reg( + dest: impl ToExpr, + src: impl ToExpr, 1>>, + imm: impl ToExpr>, + ) -> Expr + where + Self: MOpInto, + { + MOpInto::mop_into( + #[hdl] + MoveRegMOp { + common: CommonMOp::new(0_hdl_u2, dest, src, Expr::as_dyn_int(imm.to_expr())), + }, + ) + } +} + #[hdl(cmp_eq)] /// there may be more than one unit of a given kind, so UnitNum is not the same as UnitKind. /// zero is used for built-in constants, such as the zero register diff --git a/crates/cpu/src/unit/alu_branch.rs b/crates/cpu/src/unit/alu_branch.rs index f9ad6d3..bce8cdf 100644 --- a/crates/cpu/src/unit/alu_branch.rs +++ b/crates/cpu/src/unit/alu_branch.rs @@ -232,7 +232,21 @@ fn add_sub( #[hdl] fn logical( - mop: Expr, DynSize>>, + mop: Expr, DynSize, ConstUsize<2>>>, + flags_mode: Expr, + src_values: Expr>, +) -> Expr> { + // TODO: finish + #[hdl] + UnitResultCompleted::<_> { + value: PRegValue::zeroed(), + extra_out: (), + } +} + +#[hdl] +fn logical_i( + mop: Expr, DynSize, ConstUsize<1>>>, flags_mode: Expr, src_values: Expr>, ) -> Expr> { @@ -350,6 +364,23 @@ pub fn alu_branch(config: &CpuConfig, unit_index: usize) { }, ), ), + AluBranchMOp::<_, _>::LogicalI(mop) => connect( + unit_base.execute_end, + HdlSome( + #[hdl] + ExecuteEnd::<_, _> { + unit_output: #[hdl] + UnitOutput::<_, _> { + which: MOpTrait::dest_reg(mop), + result: UnitResult[()].Completed(logical_i( + mop, + global_state.flags_mode, + src_values, + )), + }, + }, + ), + ), AluBranchMOp::<_, _>::Compare(mop) => connect( unit_base.execute_end, HdlSome( diff --git a/crates/cpu/tests/expected/decode_one_insn.vcd b/crates/cpu/tests/expected/decode_one_insn.vcd index d3a2ccf..8778398 100644 --- a/crates/cpu/tests/expected/decode_one_insn.vcd +++ b/crates/cpu/tests/expected/decode_one_insn.vcd @@ -132,7 +132,7 @@ $var string 1 K output_integer_mode $end $upscope $end $var wire 4 L lut $end $upscope $end -$scope struct Compare $end +$scope struct LogicalI $end $scope struct alu_common $end $scope struct common $end $var string 0 M prefix_pad $end @@ -170,9 +170,9 @@ $upscope $end $upscope $end $var string 1 W output_integer_mode $end $upscope $end -$var string 1 X compare_mode $end +$var wire 4 X lut $end $upscope $end -$scope struct CompareI $end +$scope struct Compare $end $scope struct alu_common $end $scope struct common $end $var string 0 Y prefix_pad $end @@ -212,10 +212,10 @@ $var string 1 c output_integer_mode $end $upscope $end $var string 1 d compare_mode $end $upscope $end -$upscope $end -$scope struct TransformedMove $end +$scope struct CompareI $end +$scope struct alu_common $end $scope struct common $end -$var wire 2 e prefix_pad $end +$var string 0 e prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end @@ -248,87 +248,85 @@ $var wire 1 n imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end +$var string 1 o output_integer_mode $end $upscope $end -$scope struct LoadStore $end -$var string 1 o \$tag $end -$scope struct Load $end -$var wire 1 p prefix_pad $end +$var string 1 p compare_mode $end +$upscope $end +$upscope $end +$scope struct TransformedMove $end +$scope struct common $end +$var wire 2 q prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end -$var wire 8 q value $end +$var wire 8 r value $end $upscope $end $scope struct \[1] $end -$var wire 8 r value $end +$var wire 8 s value $end $upscope $end $upscope $end $scope struct flag_regs $end $scope struct \[0] $end -$var string 1 s \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct \[1] $end $var string 1 t \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end +$scope struct \[1] $end +$var string 1 u \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end $upscope $end $upscope $end $scope struct src $end -$var wire 8 u \[0] $end -$var wire 8 v \[1] $end -$var wire 8 w \[2] $end +$var wire 8 v \[0] $end +$var wire 8 w \[1] $end +$var wire 8 x \[2] $end $upscope $end -$var wire 25 x imm_low $end -$var wire 1 y imm_sign $end +$var wire 25 y imm_low $end +$var wire 1 z imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end -$scope struct Store $end -$var wire 1 z prefix_pad $end +$upscope $end +$scope struct LoadStore $end +$var string 1 { \$tag $end +$scope struct Load $end +$var wire 1 | prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end -$var wire 8 { value $end +$var wire 8 } value $end $upscope $end $scope struct \[1] $end -$var wire 8 | value $end +$var wire 8 ~ value $end $upscope $end $upscope $end $scope struct flag_regs $end $scope struct \[0] $end -$var string 1 } \$tag $end +$var string 1 !" \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end $scope struct \[1] $end -$var string 1 ~ \$tag $end +$var string 1 "" \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end $upscope $end $upscope $end $scope struct src $end -$var wire 8 !" \[0] $end -$var wire 8 "" \[1] $end -$var wire 8 #" \[2] $end +$var wire 8 #" \[0] $end +$var wire 8 $" \[1] $end +$var wire 8 %" \[2] $end $upscope $end -$var wire 25 $" imm_low $end -$var wire 1 %" imm_sign $end +$var wire 25 &" imm_low $end +$var wire 1 '" imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end -$upscope $end -$upscope $end -$scope struct \[1] $end -$var string 1 &" \$tag $end -$scope struct AluBranch $end -$var string 1 '" \$tag $end -$scope struct AddSub $end -$scope struct alu_common $end -$scope struct common $end -$var string 0 (" prefix_pad $end +$scope struct Store $end +$var wire 1 (" prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end @@ -361,99 +359,101 @@ $var wire 1 1" imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end -$var string 1 2" output_integer_mode $end $upscope $end -$var wire 1 3" invert_src0 $end -$var wire 1 4" src1_is_carry_in $end -$var wire 1 5" invert_carry_in $end -$var wire 1 6" add_pc $end +$upscope $end +$scope struct \[1] $end +$var string 1 2" \$tag $end +$scope struct AluBranch $end +$var string 1 3" \$tag $end +$scope struct AddSub $end +$scope struct alu_common $end +$scope struct common $end +$var string 0 4" prefix_pad $end +$scope struct dest $end +$scope struct normal_regs $end +$scope struct \[0] $end +$var wire 8 5" value $end +$upscope $end +$scope struct \[1] $end +$var wire 8 6" value $end +$upscope $end +$upscope $end +$scope struct flag_regs $end +$scope struct \[0] $end +$var string 1 7" \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct \[1] $end +$var string 1 8" \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$upscope $end +$upscope $end +$scope struct src $end +$var wire 8 9" \[0] $end +$var wire 8 :" \[1] $end +$var wire 8 ;" \[2] $end +$upscope $end +$var wire 25 <" imm_low $end +$var wire 1 =" imm_sign $end +$scope struct _phantom $end +$upscope $end +$upscope $end +$var string 1 >" output_integer_mode $end +$upscope $end +$var wire 1 ?" invert_src0 $end +$var wire 1 @" src1_is_carry_in $end +$var wire 1 A" invert_carry_in $end +$var wire 1 B" add_pc $end $upscope $end $scope struct AddSubI $end $scope struct alu_common $end $scope struct common $end -$var string 0 7" prefix_pad $end +$var string 0 C" prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end -$var wire 8 8" value $end +$var wire 8 D" value $end $upscope $end $scope struct \[1] $end -$var wire 8 9" value $end +$var wire 8 E" value $end $upscope $end $upscope $end $scope struct flag_regs $end $scope struct \[0] $end -$var string 1 :" \$tag $end +$var string 1 F" \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end $scope struct \[1] $end -$var string 1 ;" \$tag $end +$var string 1 G" \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end $upscope $end $upscope $end $scope struct src $end -$var wire 8 <" \[0] $end -$var wire 8 =" \[1] $end -$var wire 8 >" \[2] $end +$var wire 8 H" \[0] $end +$var wire 8 I" \[1] $end +$var wire 8 J" \[2] $end $upscope $end -$var wire 25 ?" imm_low $end -$var wire 1 @" imm_sign $end +$var wire 25 K" imm_low $end +$var wire 1 L" imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end -$var string 1 A" output_integer_mode $end +$var string 1 M" output_integer_mode $end $upscope $end -$var wire 1 B" invert_src0 $end -$var wire 1 C" src1_is_carry_in $end -$var wire 1 D" invert_carry_in $end -$var wire 1 E" add_pc $end +$var wire 1 N" invert_src0 $end +$var wire 1 O" src1_is_carry_in $end +$var wire 1 P" invert_carry_in $end +$var wire 1 Q" add_pc $end $upscope $end $scope struct Logical $end $scope struct alu_common $end $scope struct common $end -$var string 0 F" prefix_pad $end -$scope struct dest $end -$scope struct normal_regs $end -$scope struct \[0] $end -$var wire 8 G" value $end -$upscope $end -$scope struct \[1] $end -$var wire 8 H" value $end -$upscope $end -$upscope $end -$scope struct flag_regs $end -$scope struct \[0] $end -$var string 1 I" \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct \[1] $end -$var string 1 J" \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$upscope $end -$upscope $end -$scope struct src $end -$var wire 8 K" \[0] $end -$var wire 8 L" \[1] $end -$var wire 8 M" \[2] $end -$upscope $end -$var wire 25 N" imm_low $end -$var wire 1 O" imm_sign $end -$scope struct _phantom $end -$upscope $end -$upscope $end -$var string 1 P" output_integer_mode $end -$upscope $end -$var wire 4 Q" lut $end -$upscope $end -$scope struct Compare $end -$scope struct alu_common $end -$scope struct common $end $var string 0 R" prefix_pad $end $scope struct dest $end $scope struct normal_regs $end @@ -489,9 +489,9 @@ $upscope $end $upscope $end $var string 1 \" output_integer_mode $end $upscope $end -$var string 1 ]" compare_mode $end +$var wire 4 ]" lut $end $upscope $end -$scope struct CompareI $end +$scope struct LogicalI $end $scope struct alu_common $end $scope struct common $end $var string 0 ^" prefix_pad $end @@ -529,12 +529,12 @@ $upscope $end $upscope $end $var string 1 h" output_integer_mode $end $upscope $end -$var string 1 i" compare_mode $end +$var wire 4 i" lut $end $upscope $end -$upscope $end -$scope struct TransformedMove $end +$scope struct Compare $end +$scope struct alu_common $end $scope struct common $end -$var wire 2 j" prefix_pad $end +$var string 0 j" prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end @@ -567,74 +567,154 @@ $var wire 1 s" imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end +$var string 1 t" output_integer_mode $end $upscope $end -$scope struct LoadStore $end -$var string 1 t" \$tag $end -$scope struct Load $end -$var wire 1 u" prefix_pad $end +$var string 1 u" compare_mode $end +$upscope $end +$scope struct CompareI $end +$scope struct alu_common $end +$scope struct common $end +$var string 0 v" prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end -$var wire 8 v" value $end +$var wire 8 w" value $end $upscope $end $scope struct \[1] $end -$var wire 8 w" value $end +$var wire 8 x" value $end $upscope $end $upscope $end $scope struct flag_regs $end $scope struct \[0] $end -$var string 1 x" \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct \[1] $end $var string 1 y" \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end +$scope struct \[1] $end +$var string 1 z" \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end $upscope $end $upscope $end $scope struct src $end -$var wire 8 z" \[0] $end -$var wire 8 {" \[1] $end -$var wire 8 |" \[2] $end +$var wire 8 {" \[0] $end +$var wire 8 |" \[1] $end +$var wire 8 }" \[2] $end $upscope $end -$var wire 25 }" imm_low $end -$var wire 1 ~" imm_sign $end +$var wire 25 ~" imm_low $end +$var wire 1 !# imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end -$scope struct Store $end -$var wire 1 !# prefix_pad $end +$var string 1 "# output_integer_mode $end +$upscope $end +$var string 1 ## compare_mode $end +$upscope $end +$upscope $end +$scope struct TransformedMove $end +$scope struct common $end +$var wire 2 $# prefix_pad $end $scope struct dest $end $scope struct normal_regs $end $scope struct \[0] $end -$var wire 8 "# value $end +$var wire 8 %# value $end $upscope $end $scope struct \[1] $end -$var wire 8 ## value $end +$var wire 8 &# value $end $upscope $end $upscope $end $scope struct flag_regs $end $scope struct \[0] $end -$var string 1 $# \$tag $end +$var string 1 '# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end $scope struct \[1] $end -$var string 1 %# \$tag $end +$var string 1 (# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end $upscope $end $upscope $end $scope struct src $end -$var wire 8 &# \[0] $end -$var wire 8 '# \[1] $end -$var wire 8 (# \[2] $end +$var wire 8 )# \[0] $end +$var wire 8 *# \[1] $end +$var wire 8 +# \[2] $end $upscope $end -$var wire 25 )# imm_low $end -$var wire 1 *# imm_sign $end +$var wire 25 ,# imm_low $end +$var wire 1 -# imm_sign $end +$scope struct _phantom $end +$upscope $end +$upscope $end +$upscope $end +$scope struct LoadStore $end +$var string 1 .# \$tag $end +$scope struct Load $end +$var wire 1 /# prefix_pad $end +$scope struct dest $end +$scope struct normal_regs $end +$scope struct \[0] $end +$var wire 8 0# value $end +$upscope $end +$scope struct \[1] $end +$var wire 8 1# value $end +$upscope $end +$upscope $end +$scope struct flag_regs $end +$scope struct \[0] $end +$var string 1 2# \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct \[1] $end +$var string 1 3# \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$upscope $end +$upscope $end +$scope struct src $end +$var wire 8 4# \[0] $end +$var wire 8 5# \[1] $end +$var wire 8 6# \[2] $end +$upscope $end +$var wire 25 7# imm_low $end +$var wire 1 8# imm_sign $end +$scope struct _phantom $end +$upscope $end +$upscope $end +$scope struct Store $end +$var wire 1 9# prefix_pad $end +$scope struct dest $end +$scope struct normal_regs $end +$scope struct \[0] $end +$var wire 8 :# value $end +$upscope $end +$scope struct \[1] $end +$var wire 8 ;# value $end +$upscope $end +$upscope $end +$scope struct flag_regs $end +$scope struct \[0] $end +$var string 1 <# \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct \[1] $end +$var string 1 =# \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$upscope $end +$upscope $end +$scope struct src $end +$var wire 8 ># \[0] $end +$var wire 8 ?# \[1] $end +$var wire 8 @# \[2] $end +$upscope $end +$var wire 25 A# imm_low $end +$var wire 1 B# imm_sign $end $scope struct _phantom $end $upscope $end $upscope $end @@ -642,662 +722,838 @@ $upscope $end $upscope $end $upscope $end $scope struct len $end -$var wire 2 +# value $end -$var string 1 ,# range $end +$var wire 2 C# value $end +$var string 1 D# range $end $upscope $end $upscope $end -$var wire 1 -# is_illegal $end -$var wire 32 .# first_input $end +$var wire 1 E# is_illegal $end +$var wire 32 F# first_input $end $scope struct second_input $end -$var string 1 /# \$tag $end -$var wire 32 0# HdlSome $end -$upscope $end -$var wire 1 1# second_input_used $end -$var wire 16 2# addi_SI $end -$var wire 5 3# addi_RA $end -$var wire 5 4# addi_RT $end -$scope struct power_isa_gpr_or_zero_reg $end -$var wire 8 5# value $end -$upscope $end -$var wire 18 6# paddi_si0 $end -$var wire 1 7# paddi_R $end -$var wire 16 8# paddi_si1 $end -$var wire 5 9# paddi_RA $end -$var wire 5 :# paddi_RT $end -$scope struct power_isa_gpr_or_zero_reg_2 $end -$var wire 8 ;# value $end -$upscope $end -$var wire 16 <# addis_SI $end -$var wire 5 =# addis_RA $end -$var wire 5 ># addis_RT $end -$scope struct power_isa_gpr_or_zero_reg_3 $end -$var wire 8 ?# value $end -$upscope $end -$var wire 1 @# addpcis_d2 $end -$var wire 10 A# addpcis_d0 $end -$var wire 5 B# addpcis_d1 $end -$var wire 5 C# addpcis_RT $end -$var wire 5 D# add_RB $end -$var wire 5 E# add_RA $end -$var wire 5 F# add_RT $end -$scope struct flag_reg_0 $end $var string 1 G# \$tag $end -$scope struct HdlSome $end +$var wire 32 H# HdlSome $end $upscope $end +$var wire 1 I# second_input_used $end +$var wire 16 J# addi_SI $end +$var wire 5 K# addi_RA $end +$var wire 5 L# addi_RT $end +$scope struct power_isa_gpr_or_zero_reg $end +$var wire 8 M# value $end $upscope $end -$scope struct flag_reg_1 $end -$var string 1 H# \$tag $end -$scope struct HdlSome $end +$var wire 18 N# paddi_si0 $end +$var wire 1 O# paddi_R $end +$var wire 16 P# paddi_si1 $end +$var wire 5 Q# paddi_RA $end +$var wire 5 R# paddi_RT $end +$scope struct power_isa_gpr_or_zero_reg_2 $end +$var wire 8 S# value $end $upscope $end +$var wire 16 T# addis_SI $end +$var wire 5 U# addis_RA $end +$var wire 5 V# addis_RT $end +$scope struct power_isa_gpr_or_zero_reg_3 $end +$var wire 8 W# value $end $upscope $end -$var wire 5 I# add__RB $end -$var wire 5 J# add__RA $end -$var wire 5 K# add__RT $end -$scope struct flag_reg_0_2 $end -$var string 1 L# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct flag_reg_1_2 $end -$var string 1 M# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$var wire 5 N# addo_RB $end -$var wire 5 O# addo_RA $end -$var wire 5 P# addo_RT $end -$scope struct flag_reg_0_3 $end -$var string 1 Q# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct flag_reg_1_3 $end -$var string 1 R# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$var wire 5 S# addo__RB $end -$var wire 5 T# addo__RA $end -$var wire 5 U# addo__RT $end -$scope struct flag_reg_0_4 $end -$var string 1 V# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct flag_reg_1_4 $end -$var string 1 W# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$var wire 16 X# addic_SI $end -$var wire 5 Y# addic_RA $end -$var wire 5 Z# addic_RT $end -$scope struct flag_reg_1_5 $end -$var string 1 [# \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$var wire 16 \# addic__SI $end -$var wire 5 ]# addic__RA $end -$var wire 5 ^# addic__RT $end -$scope struct flag_reg_1_6 $end +$var wire 1 X# addpcis_d2 $end +$var wire 10 Y# addpcis_d0 $end +$var wire 5 Z# addpcis_d1 $end +$var wire 5 [# addpcis_RT $end +$var wire 5 \# add_RB $end +$var wire 5 ]# add_RA $end +$var wire 5 ^# add_RT $end +$scope struct flag_reg_0 $end $var string 1 _# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 `# subf_RB $end -$var wire 5 a# subf_RA $end -$var wire 5 b# subf_RT $end -$scope struct flag_reg_0_5 $end -$var string 1 c# \$tag $end +$scope struct flag_reg_1 $end +$var string 1 `# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_7 $end +$var wire 5 a# add__RB $end +$var wire 5 b# add__RA $end +$var wire 5 c# add__RT $end +$scope struct flag_reg_0_2 $end $var string 1 d# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 e# subf__RB $end -$var wire 5 f# subf__RA $end -$var wire 5 g# subf__RT $end -$scope struct flag_reg_0_6 $end -$var string 1 h# \$tag $end +$scope struct flag_reg_1_2 $end +$var string 1 e# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_8 $end +$var wire 5 f# addo_RB $end +$var wire 5 g# addo_RA $end +$var wire 5 h# addo_RT $end +$scope struct flag_reg_0_3 $end $var string 1 i# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 j# subfo_RB $end -$var wire 5 k# subfo_RA $end -$var wire 5 l# subfo_RT $end -$scope struct flag_reg_0_7 $end -$var string 1 m# \$tag $end +$scope struct flag_reg_1_3 $end +$var string 1 j# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_9 $end +$var wire 5 k# addo__RB $end +$var wire 5 l# addo__RA $end +$var wire 5 m# addo__RT $end +$scope struct flag_reg_0_4 $end $var string 1 n# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 o# subfo__RB $end -$var wire 5 p# subfo__RA $end -$var wire 5 q# subfo__RT $end -$scope struct flag_reg_0_8 $end -$var string 1 r# \$tag $end +$scope struct flag_reg_1_4 $end +$var string 1 o# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_10 $end +$var wire 16 p# addic_SI $end +$var wire 5 q# addic_RA $end +$var wire 5 r# addic_RT $end +$scope struct flag_reg_1_5 $end $var string 1 s# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 16 t# subfic_SI $end -$var wire 5 u# subfic_RA $end -$var wire 5 v# subfic_RT $end -$scope struct flag_reg_1_11 $end +$var wire 16 t# addic__SI $end +$var wire 5 u# addic__RA $end +$var wire 5 v# addic__RT $end +$scope struct flag_reg_1_6 $end $var string 1 w# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 x# addc_RB $end -$var wire 5 y# addc_RA $end -$var wire 5 z# addc_RT $end -$scope struct flag_reg_0_9 $end +$var wire 5 x# subf_RB $end +$var wire 5 y# subf_RA $end +$var wire 5 z# subf_RT $end +$scope struct flag_reg_0_5 $end $var string 1 {# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_12 $end +$scope struct flag_reg_1_7 $end $var string 1 |# \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 }# addc__RB $end -$var wire 5 ~# addc__RA $end -$var wire 5 !$ addc__RT $end -$scope struct flag_reg_0_10 $end +$var wire 5 }# subf__RB $end +$var wire 5 ~# subf__RA $end +$var wire 5 !$ subf__RT $end +$scope struct flag_reg_0_6 $end $var string 1 "$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_13 $end +$scope struct flag_reg_1_8 $end $var string 1 #$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 $$ addco_RB $end -$var wire 5 %$ addco_RA $end -$var wire 5 &$ addco_RT $end -$scope struct flag_reg_0_11 $end +$var wire 5 $$ subfo_RB $end +$var wire 5 %$ subfo_RA $end +$var wire 5 &$ subfo_RT $end +$scope struct flag_reg_0_7 $end $var string 1 '$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_14 $end +$scope struct flag_reg_1_9 $end $var string 1 ($ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 )$ addco__RB $end -$var wire 5 *$ addco__RA $end -$var wire 5 +$ addco__RT $end -$scope struct flag_reg_0_12 $end +$var wire 5 )$ subfo__RB $end +$var wire 5 *$ subfo__RA $end +$var wire 5 +$ subfo__RT $end +$scope struct flag_reg_0_8 $end $var string 1 ,$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_15 $end +$scope struct flag_reg_1_10 $end $var string 1 -$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 .$ subfc_RB $end -$var wire 5 /$ subfc_RA $end -$var wire 5 0$ subfc_RT $end -$scope struct flag_reg_0_13 $end +$var wire 16 .$ subfic_SI $end +$var wire 5 /$ subfic_RA $end +$var wire 5 0$ subfic_RT $end +$scope struct flag_reg_1_11 $end $var string 1 1$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_16 $end -$var string 1 2$ \$tag $end +$var wire 5 2$ addc_RB $end +$var wire 5 3$ addc_RA $end +$var wire 5 4$ addc_RT $end +$scope struct flag_reg_0_9 $end +$var string 1 5$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 3$ subfc__RB $end -$var wire 5 4$ subfc__RA $end -$var wire 5 5$ subfc__RT $end -$scope struct flag_reg_0_14 $end +$scope struct flag_reg_1_12 $end $var string 1 6$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_17 $end -$var string 1 7$ \$tag $end +$var wire 5 7$ addc__RB $end +$var wire 5 8$ addc__RA $end +$var wire 5 9$ addc__RT $end +$scope struct flag_reg_0_10 $end +$var string 1 :$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 8$ subfco_RB $end -$var wire 5 9$ subfco_RA $end -$var wire 5 :$ subfco_RT $end -$scope struct flag_reg_0_15 $end +$scope struct flag_reg_1_13 $end $var string 1 ;$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_18 $end -$var string 1 <$ \$tag $end +$var wire 5 <$ addco_RB $end +$var wire 5 =$ addco_RA $end +$var wire 5 >$ addco_RT $end +$scope struct flag_reg_0_11 $end +$var string 1 ?$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 =$ subfco__RB $end -$var wire 5 >$ subfco__RA $end -$var wire 5 ?$ subfco__RT $end -$scope struct flag_reg_0_16 $end +$scope struct flag_reg_1_14 $end $var string 1 @$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_19 $end -$var string 1 A$ \$tag $end +$var wire 5 A$ addco__RB $end +$var wire 5 B$ addco__RA $end +$var wire 5 C$ addco__RT $end +$scope struct flag_reg_0_12 $end +$var string 1 D$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 B$ adde_RB $end -$var wire 5 C$ adde_RA $end -$var wire 5 D$ adde_RT $end -$scope struct flag_reg_0_17 $end +$scope struct flag_reg_1_15 $end $var string 1 E$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_20 $end -$var string 1 F$ \$tag $end +$var wire 5 F$ subfc_RB $end +$var wire 5 G$ subfc_RA $end +$var wire 5 H$ subfc_RT $end +$scope struct flag_reg_0_13 $end +$var string 1 I$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 G$ adde__RB $end -$var wire 5 H$ adde__RA $end -$var wire 5 I$ adde__RT $end -$scope struct flag_reg_0_18 $end +$scope struct flag_reg_1_16 $end $var string 1 J$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_21 $end -$var string 1 K$ \$tag $end +$var wire 5 K$ subfc__RB $end +$var wire 5 L$ subfc__RA $end +$var wire 5 M$ subfc__RT $end +$scope struct flag_reg_0_14 $end +$var string 1 N$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 L$ addeo_RB $end -$var wire 5 M$ addeo_RA $end -$var wire 5 N$ addeo_RT $end -$scope struct flag_reg_0_19 $end +$scope struct flag_reg_1_17 $end $var string 1 O$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_22 $end -$var string 1 P$ \$tag $end +$var wire 5 P$ subfco_RB $end +$var wire 5 Q$ subfco_RA $end +$var wire 5 R$ subfco_RT $end +$scope struct flag_reg_0_15 $end +$var string 1 S$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 Q$ addeo__RB $end -$var wire 5 R$ addeo__RA $end -$var wire 5 S$ addeo__RT $end -$scope struct flag_reg_0_20 $end +$scope struct flag_reg_1_18 $end $var string 1 T$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_23 $end -$var string 1 U$ \$tag $end +$var wire 5 U$ subfco__RB $end +$var wire 5 V$ subfco__RA $end +$var wire 5 W$ subfco__RT $end +$scope struct flag_reg_0_16 $end +$var string 1 X$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 V$ subfe_RB $end -$var wire 5 W$ subfe_RA $end -$var wire 5 X$ subfe_RT $end -$scope struct flag_reg_0_21 $end +$scope struct flag_reg_1_19 $end $var string 1 Y$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_24 $end -$var string 1 Z$ \$tag $end +$var wire 5 Z$ adde_RB $end +$var wire 5 [$ adde_RA $end +$var wire 5 \$ adde_RT $end +$scope struct flag_reg_0_17 $end +$var string 1 ]$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 [$ subfe__RB $end -$var wire 5 \$ subfe__RA $end -$var wire 5 ]$ subfe__RT $end -$scope struct flag_reg_0_22 $end +$scope struct flag_reg_1_20 $end $var string 1 ^$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_25 $end -$var string 1 _$ \$tag $end +$var wire 5 _$ adde__RB $end +$var wire 5 `$ adde__RA $end +$var wire 5 a$ adde__RT $end +$scope struct flag_reg_0_18 $end +$var string 1 b$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 `$ subfeo_RB $end -$var wire 5 a$ subfeo_RA $end -$var wire 5 b$ subfeo_RT $end -$scope struct flag_reg_0_23 $end +$scope struct flag_reg_1_21 $end $var string 1 c$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_26 $end -$var string 1 d$ \$tag $end +$var wire 5 d$ addeo_RB $end +$var wire 5 e$ addeo_RA $end +$var wire 5 f$ addeo_RT $end +$scope struct flag_reg_0_19 $end +$var string 1 g$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 e$ subfeo__RB $end -$var wire 5 f$ subfeo__RA $end -$var wire 5 g$ subfeo__RT $end -$scope struct flag_reg_0_24 $end +$scope struct flag_reg_1_22 $end $var string 1 h$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_27 $end -$var string 1 i$ \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$var wire 5 j$ addme_RA $end -$var wire 5 k$ addme_RT $end -$scope struct flag_reg_0_25 $end +$var wire 5 i$ addeo__RB $end +$var wire 5 j$ addeo__RA $end +$var wire 5 k$ addeo__RT $end +$scope struct flag_reg_0_20 $end $var string 1 l$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_28 $end +$scope struct flag_reg_1_23 $end $var string 1 m$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 n$ addme__RA $end -$var wire 5 o$ addme__RT $end -$scope struct flag_reg_0_26 $end -$var string 1 p$ \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$scope struct flag_reg_1_29 $end +$var wire 5 n$ subfe_RB $end +$var wire 5 o$ subfe_RA $end +$var wire 5 p$ subfe_RT $end +$scope struct flag_reg_0_21 $end $var string 1 q$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 r$ addmeo_RA $end -$var wire 5 s$ addmeo_RT $end -$scope struct flag_reg_0_27 $end -$var string 1 t$ \$tag $end +$scope struct flag_reg_1_24 $end +$var string 1 r$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_30 $end -$var string 1 u$ \$tag $end +$var wire 5 s$ subfe__RB $end +$var wire 5 t$ subfe__RA $end +$var wire 5 u$ subfe__RT $end +$scope struct flag_reg_0_22 $end +$var string 1 v$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 v$ addmeo__RA $end -$var wire 5 w$ addmeo__RT $end -$scope struct flag_reg_0_28 $end -$var string 1 x$ \$tag $end +$scope struct flag_reg_1_25 $end +$var string 1 w$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_31 $end -$var string 1 y$ \$tag $end +$var wire 5 x$ subfeo_RB $end +$var wire 5 y$ subfeo_RA $end +$var wire 5 z$ subfeo_RT $end +$scope struct flag_reg_0_23 $end +$var string 1 {$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 z$ addze_RA $end -$var wire 5 {$ addze_RT $end -$scope struct flag_reg_0_29 $end +$scope struct flag_reg_1_26 $end $var string 1 |$ \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_32 $end -$var string 1 }$ \$tag $end -$scope struct HdlSome $end -$upscope $end -$upscope $end -$var wire 5 ~$ addze__RA $end -$var wire 5 !% addze__RT $end -$scope struct flag_reg_0_30 $end +$var wire 5 }$ subfeo__RB $end +$var wire 5 ~$ subfeo__RA $end +$var wire 5 !% subfeo__RT $end +$scope struct flag_reg_0_24 $end $var string 1 "% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_33 $end +$scope struct flag_reg_1_27 $end $var string 1 #% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 $% addzeo_RA $end -$var wire 5 %% addzeo_RT $end -$scope struct flag_reg_0_31 $end +$var wire 5 $% addme_RA $end +$var wire 5 %% addme_RT $end +$scope struct flag_reg_0_25 $end $var string 1 &% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_34 $end +$scope struct flag_reg_1_28 $end $var string 1 '% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 (% addzeo__RA $end -$var wire 5 )% addzeo__RT $end -$scope struct flag_reg_0_32 $end +$var wire 5 (% addme__RA $end +$var wire 5 )% addme__RT $end +$scope struct flag_reg_0_26 $end $var string 1 *% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_35 $end +$scope struct flag_reg_1_29 $end $var string 1 +% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 ,% subfme_RA $end -$var wire 5 -% subfme_RT $end -$scope struct flag_reg_0_33 $end +$var wire 5 ,% addmeo_RA $end +$var wire 5 -% addmeo_RT $end +$scope struct flag_reg_0_27 $end $var string 1 .% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_36 $end +$scope struct flag_reg_1_30 $end $var string 1 /% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 0% subfme__RA $end -$var wire 5 1% subfme__RT $end -$scope struct flag_reg_0_34 $end +$var wire 5 0% addmeo__RA $end +$var wire 5 1% addmeo__RT $end +$scope struct flag_reg_0_28 $end $var string 1 2% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_37 $end +$scope struct flag_reg_1_31 $end $var string 1 3% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 4% subfmeo_RA $end -$var wire 5 5% subfmeo_RT $end -$scope struct flag_reg_0_35 $end +$var wire 5 4% addze_RA $end +$var wire 5 5% addze_RT $end +$scope struct flag_reg_0_29 $end $var string 1 6% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_38 $end +$scope struct flag_reg_1_32 $end $var string 1 7% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 8% subfmeo__RA $end -$var wire 5 9% subfmeo__RT $end -$scope struct flag_reg_0_36 $end +$var wire 5 8% addze__RA $end +$var wire 5 9% addze__RT $end +$scope struct flag_reg_0_30 $end $var string 1 :% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_39 $end +$scope struct flag_reg_1_33 $end $var string 1 ;% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 <% subfze_RA $end -$var wire 5 =% subfze_RT $end -$scope struct flag_reg_0_37 $end +$var wire 5 <% addzeo_RA $end +$var wire 5 =% addzeo_RT $end +$scope struct flag_reg_0_31 $end $var string 1 >% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_40 $end +$scope struct flag_reg_1_34 $end $var string 1 ?% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 @% subfze__RA $end -$var wire 5 A% subfze__RT $end -$scope struct flag_reg_0_38 $end +$var wire 5 @% addzeo__RA $end +$var wire 5 A% addzeo__RT $end +$scope struct flag_reg_0_32 $end $var string 1 B% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_41 $end +$scope struct flag_reg_1_35 $end $var string 1 C% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 D% subfzeo_RA $end -$var wire 5 E% subfzeo_RT $end -$scope struct flag_reg_0_39 $end +$var wire 5 D% subfme_RA $end +$var wire 5 E% subfme_RT $end +$scope struct flag_reg_0_33 $end $var string 1 F% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_42 $end +$scope struct flag_reg_1_36 $end $var string 1 G% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 H% subfzeo__RA $end -$var wire 5 I% subfzeo__RT $end -$scope struct flag_reg_0_40 $end +$var wire 5 H% subfme__RA $end +$var wire 5 I% subfme__RT $end +$scope struct flag_reg_0_34 $end $var string 1 J% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_43 $end +$scope struct flag_reg_1_37 $end $var string 1 K% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 L% neg_RA $end -$var wire 5 M% neg_RT $end -$scope struct flag_reg_0_41 $end +$var wire 5 L% subfmeo_RA $end +$var wire 5 M% subfmeo_RT $end +$scope struct flag_reg_0_35 $end $var string 1 N% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_44 $end +$scope struct flag_reg_1_38 $end $var string 1 O% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 P% neg__RA $end -$var wire 5 Q% neg__RT $end -$scope struct flag_reg_0_42 $end +$var wire 5 P% subfmeo__RA $end +$var wire 5 Q% subfmeo__RT $end +$scope struct flag_reg_0_36 $end $var string 1 R% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_45 $end +$scope struct flag_reg_1_39 $end $var string 1 S% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 T% nego_RA $end -$var wire 5 U% nego_RT $end -$scope struct flag_reg_0_43 $end +$var wire 5 T% subfze_RA $end +$var wire 5 U% subfze_RT $end +$scope struct flag_reg_0_37 $end $var string 1 V% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_46 $end +$scope struct flag_reg_1_40 $end $var string 1 W% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 5 X% nego__RA $end -$var wire 5 Y% nego__RT $end -$scope struct flag_reg_0_44 $end +$var wire 5 X% subfze__RA $end +$var wire 5 Y% subfze__RT $end +$scope struct flag_reg_0_38 $end $var string 1 Z% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$scope struct flag_reg_1_47 $end +$scope struct flag_reg_1_41 $end $var string 1 [% \$tag $end $scope struct HdlSome $end $upscope $end $upscope $end -$var wire 16 \% cmpi_SI $end -$var wire 5 ]% cmpi_RA $end -$var wire 1 ^% cmpi_L $end -$var wire 3 _% cmpi_BF $end -$var string 1 `% compare_mode $end +$var wire 5 \% subfzeo_RA $end +$var wire 5 ]% subfzeo_RT $end +$scope struct flag_reg_0_39 $end +$var string 1 ^% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct flag_reg_1_42 $end +$var string 1 _% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 `% subfzeo__RA $end +$var wire 5 a% subfzeo__RT $end +$scope struct flag_reg_0_40 $end +$var string 1 b% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct flag_reg_1_43 $end +$var string 1 c% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 d% neg_RA $end +$var wire 5 e% neg_RT $end +$scope struct flag_reg_0_41 $end +$var string 1 f% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct flag_reg_1_44 $end +$var string 1 g% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 h% neg__RA $end +$var wire 5 i% neg__RT $end +$scope struct flag_reg_0_42 $end +$var string 1 j% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct flag_reg_1_45 $end +$var string 1 k% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 l% nego_RA $end +$var wire 5 m% nego_RT $end +$scope struct flag_reg_0_43 $end +$var string 1 n% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct flag_reg_1_46 $end +$var string 1 o% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 p% nego__RA $end +$var wire 5 q% nego__RT $end +$scope struct flag_reg_0_44 $end +$var string 1 r% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$scope struct flag_reg_1_47 $end +$var string 1 s% \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 16 t% cmpi_SI $end +$var wire 5 u% cmpi_RA $end +$var wire 1 v% cmpi_L $end +$var wire 3 w% cmpi_BF $end +$var string 1 x% compare_mode $end $scope struct power_isa_cr_reg $end -$var wire 8 a% value $end -$upscope $end -$var wire 5 b% cmp_RB $end -$var wire 5 c% cmp_RA $end -$var wire 1 d% cmp_L $end -$var wire 3 e% cmp_BF $end -$var string 1 f% compare_mode_2 $end -$scope struct power_isa_cr_reg_2 $end -$var wire 8 g% value $end -$upscope $end -$var wire 16 h% cmpli_UI $end -$var wire 5 i% cmpli_RA $end -$var wire 1 j% cmpli_L $end -$var wire 3 k% cmpli_BF $end -$var string 1 l% compare_mode_3 $end -$scope struct power_isa_cr_reg_3 $end -$var wire 8 m% value $end -$upscope $end -$var wire 5 n% cmpl_RB $end -$var wire 5 o% cmpl_RA $end -$var wire 1 p% cmpl_L $end -$var wire 3 q% cmpl_BF $end -$var string 1 r% compare_mode_4 $end -$scope struct power_isa_cr_reg_4 $end -$var wire 8 s% value $end -$upscope $end -$var wire 5 t% cmprb_RB $end -$var wire 5 u% cmprb_RA $end -$var wire 1 v% cmprb_L $end -$var wire 3 w% cmprb_BF $end -$var string 1 x% compare_mode_5 $end -$scope struct power_isa_cr_reg_5 $end $var wire 8 y% value $end $upscope $end -$var wire 5 z% cmpeqb_RB $end -$var wire 5 {% cmpeqb_RA $end -$var wire 3 |% cmpeqb_BF $end +$var wire 5 z% cmp_RB $end +$var wire 5 {% cmp_RA $end +$var wire 1 |% cmp_L $end +$var wire 3 }% cmp_BF $end +$var string 1 ~% compare_mode_2 $end +$scope struct power_isa_cr_reg_2 $end +$var wire 8 !& value $end +$upscope $end +$var wire 16 "& cmpli_UI $end +$var wire 5 #& cmpli_RA $end +$var wire 1 $& cmpli_L $end +$var wire 3 %& cmpli_BF $end +$var string 1 && compare_mode_3 $end +$scope struct power_isa_cr_reg_3 $end +$var wire 8 '& value $end +$upscope $end +$var wire 5 (& cmpl_RB $end +$var wire 5 )& cmpl_RA $end +$var wire 1 *& cmpl_L $end +$var wire 3 +& cmpl_BF $end +$var string 1 ,& compare_mode_4 $end +$scope struct power_isa_cr_reg_4 $end +$var wire 8 -& value $end +$upscope $end +$var wire 5 .& cmprb_RB $end +$var wire 5 /& cmprb_RA $end +$var wire 1 0& cmprb_L $end +$var wire 3 1& cmprb_BF $end +$var string 1 2& compare_mode_5 $end +$scope struct power_isa_cr_reg_5 $end +$var wire 8 3& value $end +$upscope $end +$var wire 5 4& cmpeqb_RB $end +$var wire 5 5& cmpeqb_RA $end +$var wire 3 6& cmpeqb_BF $end $scope struct power_isa_cr_reg_6 $end -$var wire 8 }% value $end +$var wire 8 7& value $end +$upscope $end +$var wire 16 8& andi__UI $end +$var wire 5 9& andi__RA $end +$var wire 5 :& andi__RS $end +$scope struct flag_reg_1_48 $end +$var string 1 ;& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 16 <& andis__UI $end +$var wire 5 =& andis__RA $end +$var wire 5 >& andis__RS $end +$scope struct flag_reg_1_49 $end +$var string 1 ?& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 16 @& ori_UI $end +$var wire 5 A& ori_RA $end +$var wire 5 B& ori_RS $end +$scope struct flag_reg_1_50 $end +$var string 1 C& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 16 D& oris_UI $end +$var wire 5 E& oris_RA $end +$var wire 5 F& oris_RS $end +$scope struct flag_reg_1_51 $end +$var string 1 G& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 16 H& xori_UI $end +$var wire 5 I& xori_RA $end +$var wire 5 J& xori_RS $end +$scope struct flag_reg_1_52 $end +$var string 1 K& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 16 L& xoris_UI $end +$var wire 5 M& xoris_RA $end +$var wire 5 N& xoris_RS $end +$scope struct flag_reg_1_53 $end +$var string 1 O& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 P& and_RB $end +$var wire 5 Q& and_RA $end +$var wire 5 R& and_RS $end +$scope struct flag_reg_1_54 $end +$var string 1 S& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 T& and__RB $end +$var wire 5 U& and__RA $end +$var wire 5 V& and__RS $end +$scope struct flag_reg_1_55 $end +$var string 1 W& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 X& xor_RB $end +$var wire 5 Y& xor_RA $end +$var wire 5 Z& xor_RS $end +$scope struct flag_reg_1_56 $end +$var string 1 [& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 \& xor__RB $end +$var wire 5 ]& xor__RA $end +$var wire 5 ^& xor__RS $end +$scope struct flag_reg_1_57 $end +$var string 1 _& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 `& nand_RB $end +$var wire 5 a& nand_RA $end +$var wire 5 b& nand_RS $end +$scope struct flag_reg_1_58 $end +$var string 1 c& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 d& nand__RB $end +$var wire 5 e& nand__RA $end +$var wire 5 f& nand__RS $end +$scope struct flag_reg_1_59 $end +$var string 1 g& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 h& or_RB $end +$var wire 5 i& or_RA $end +$var wire 5 j& or_RS $end +$scope struct flag_reg_1_60 $end +$var string 1 k& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 l& or__RB $end +$var wire 5 m& or__RA $end +$var wire 5 n& or__RS $end +$scope struct flag_reg_1_61 $end +$var string 1 o& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 p& orc_RB $end +$var wire 5 q& orc_RA $end +$var wire 5 r& orc_RS $end +$scope struct flag_reg_1_62 $end +$var string 1 s& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 t& orc__RB $end +$var wire 5 u& orc__RA $end +$var wire 5 v& orc__RS $end +$scope struct flag_reg_1_63 $end +$var string 1 w& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 x& nor_RB $end +$var wire 5 y& nor_RA $end +$var wire 5 z& nor_RS $end +$scope struct flag_reg_1_64 $end +$var string 1 {& \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 |& nor__RB $end +$var wire 5 }& nor__RA $end +$var wire 5 ~& nor__RS $end +$scope struct flag_reg_1_65 $end +$var string 1 !' \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 "' eqv_RB $end +$var wire 5 #' eqv_RA $end +$var wire 5 $' eqv_RS $end +$scope struct flag_reg_1_66 $end +$var string 1 %' \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 &' eqv__RB $end +$var wire 5 '' eqv__RA $end +$var wire 5 (' eqv__RS $end +$scope struct flag_reg_1_67 $end +$var string 1 )' \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 *' andc_RB $end +$var wire 5 +' andc_RA $end +$var wire 5 ,' andc_RS $end +$scope struct flag_reg_1_68 $end +$var string 1 -' \$tag $end +$scope struct HdlSome $end +$upscope $end +$upscope $end +$var wire 5 .' andc__RB $end +$var wire 5 /' andc__RA $end +$var wire 5 0' andc__RS $end +$scope struct flag_reg_1_69 $end +$var string 1 1' \$tag $end +$scope struct HdlSome $end +$upscope $end $upscope $end $upscope $end $enddefinitions $end @@ -1357,7 +1613,7 @@ b0 T b1001000110100 U 0V sFull64\x20(0) W -sU64\x20(0) X +b0 X s0 Y b100011 Z b0 [ @@ -1370,81 +1626,81 @@ b1001000110100 a 0b sFull64\x20(0) c sU64\x20(0) d -b1 e -b1000110 f +s0 e +b100011 f b0 g sHdlNone\x20(0) h sHdlNone\x20(0) i -b1001000 j +b100100 j b0 k b0 l -b10010001101000 m +b1001000110100 m 0n -sStore\x20(1) o -0p -b1000110 q -b0 r -sHdlNone\x20(0) s +sFull64\x20(0) o +sU64\x20(0) p +b1 q +b1000110 r +b0 s sHdlNone\x20(0) t -b1001000 u -b0 v +sHdlNone\x20(0) u +b1001000 v b0 w -b10010001101000 x -0y +b0 x +b10010001101000 y 0z -b1000110 { -b0 | -sHdlNone\x20(0) } -sHdlNone\x20(0) ~ -b1001000 !" -b0 "" -b0 #" -b10010001101000 $" -0%" -sAluBranch\x20(0) &" -sAddSub\x20(0) '" -s0 (" -b0 )" +sStore\x20(1) { +0| +b1000110 } +b0 ~ +sHdlNone\x20(0) !" +sHdlNone\x20(0) "" +b1001000 #" +b0 $" +b0 %" +b10010001101000 &" +0'" +0(" +b1000110 )" b0 *" sHdlNone\x20(0) +" sHdlNone\x20(0) ," -b0 -" +b1001000 -" b0 ." b0 /" -b0 0" +b10010001101000 0" 01" -sFull64\x20(0) 2" -03" -04" -05" -06" -s0 7" -b0 8" +sAluBranch\x20(0) 2" +sAddSub\x20(0) 3" +s0 4" +b0 5" +b0 6" +sHdlNone\x20(0) 7" +sHdlNone\x20(0) 8" b0 9" -sHdlNone\x20(0) :" -sHdlNone\x20(0) ;" +b0 :" +b0 ;" b0 <" -b0 =" -b0 >" -b0 ?" +0=" +sFull64\x20(0) >" +0?" 0@" -sFull64\x20(0) A" +0A" 0B" -0C" -0D" -0E" -s0 F" -b0 G" +s0 C" +b0 D" +b0 E" +sHdlNone\x20(0) F" +sHdlNone\x20(0) G" b0 H" -sHdlNone\x20(0) I" -sHdlNone\x20(0) J" +b0 I" +b0 J" b0 K" -b0 L" -b0 M" -b0 N" +0L" +sFull64\x20(0) M" +0N" 0O" -sFull64\x20(0) P" -b0 Q" +0P" +0Q" s0 R" b0 S" b0 T" @@ -1456,7 +1712,7 @@ b0 Y" b0 Z" 0[" sFull64\x20(0) \" -sU64\x20(0) ]" +b0 ]" s0 ^" b0 _" b0 `" @@ -1468,8 +1724,8 @@ b0 e" b0 f" 0g" sFull64\x20(0) h" -sU64\x20(0) i" -b0 j" +b0 i" +s0 j" b0 k" b0 l" sHdlNone\x20(0) m" @@ -1479,104 +1735,104 @@ b0 p" b0 q" b0 r" 0s" -sLoad\x20(0) t" -0u" -b0 v" +sFull64\x20(0) t" +sU64\x20(0) u" +s0 v" b0 w" -sHdlNone\x20(0) x" +b0 x" sHdlNone\x20(0) y" -b0 z" +sHdlNone\x20(0) z" b0 {" b0 |" b0 }" -0~" +b0 ~" 0!# -b0 "# -b0 ## -sHdlNone\x20(0) $# -sHdlNone\x20(0) %# +sFull64\x20(0) "# +sU64\x20(0) ## +b0 $# +b0 %# b0 &# -b0 '# -b0 (# +sHdlNone\x20(0) '# +sHdlNone\x20(0) (# b0 )# -0*# -b1 +# -sPhantomConst(\"0..=2\") ,# +b0 *# +b0 +# +b0 ,# 0-# -b111000011001000001001000110100 .# -sHdlNone\x20(0) /# +sLoad\x20(0) .# +0/# b0 0# -01# -b1001000110100 2# -b100 3# -b11 4# -b100100 5# -b1001000110100 6# -07# -b0 8# -b0 9# +b0 1# +sHdlNone\x20(0) 2# +sHdlNone\x20(0) 3# +b0 4# +b0 5# +b0 6# +b0 7# +08# +09# b0 :# b0 ;# -b1001000110100 <# -b100 =# -b11 ># -b100100 ?# -0@# -b1001000 A# -b100 B# -b11 C# -b10 D# -b100 E# -b11 F# +sHdlNone\x20(0) <# +sHdlNone\x20(0) =# +b0 ># +b0 ?# +b0 @# +b0 A# +0B# +b1 C# +sPhantomConst(\"0..=2\") D# +0E# +b111000011001000001001000110100 F# sHdlNone\x20(0) G# -sHdlNone\x20(0) H# -b10 I# -b100 J# -b11 K# -sHdlNone\x20(0) L# -sHdlSome\x20(1) M# -b10 N# -b100 O# -b11 P# -sHdlSome\x20(1) Q# -sHdlNone\x20(0) R# -b10 S# -b100 T# -b11 U# -sHdlSome\x20(1) V# -sHdlSome\x20(1) W# -b1001000110100 X# -b100 Y# -b11 Z# -sHdlNone\x20(0) [# -b1001000110100 \# +b0 H# +0I# +b1001000110100 J# +b100 K# +b11 L# +b100100 M# +b1001000110100 N# +0O# +b0 P# +b0 Q# +b0 R# +b0 S# +b1001000110100 T# +b100 U# +b11 V# +b100100 W# +0X# +b1001000 Y# +b100 Z# +b11 [# +b10 \# b100 ]# b11 ^# -sHdlSome\x20(1) _# -b10 `# -b100 a# -b11 b# -sHdlNone\x20(0) c# +sHdlNone\x20(0) _# +sHdlNone\x20(0) `# +b10 a# +b100 b# +b11 c# sHdlNone\x20(0) d# -b10 e# -b100 f# -b11 g# -sHdlNone\x20(0) h# +sHdlSome\x20(1) e# +b10 f# +b100 g# +b11 h# sHdlSome\x20(1) i# -b10 j# -b100 k# -b11 l# -sHdlSome\x20(1) m# -sHdlNone\x20(0) n# -b10 o# -b100 p# -b11 q# -sHdlSome\x20(1) r# -sHdlSome\x20(1) s# +sHdlNone\x20(0) j# +b10 k# +b100 l# +b11 m# +sHdlSome\x20(1) n# +sHdlSome\x20(1) o# +b1001000110100 p# +b100 q# +b11 r# +sHdlNone\x20(0) s# b1001000110100 t# b100 u# b11 v# -sHdlNone\x20(0) w# +sHdlSome\x20(1) w# b10 x# b100 y# b11 z# @@ -1597,180 +1853,292 @@ b100 *$ b11 +$ sHdlSome\x20(1) ,$ sHdlSome\x20(1) -$ -b10 .$ +b1001000110100 .$ b100 /$ b11 0$ sHdlNone\x20(0) 1$ -sHdlNone\x20(0) 2$ -b10 3$ -b100 4$ -b11 5$ +b10 2$ +b100 3$ +b11 4$ +sHdlNone\x20(0) 5$ sHdlNone\x20(0) 6$ -sHdlSome\x20(1) 7$ -b10 8$ -b100 9$ -b11 :$ +b10 7$ +b100 8$ +b11 9$ +sHdlNone\x20(0) :$ sHdlSome\x20(1) ;$ -sHdlNone\x20(0) <$ -b10 =$ -b100 >$ -b11 ?$ -sHdlSome\x20(1) @$ -sHdlSome\x20(1) A$ -b10 B$ -b100 C$ -b11 D$ -sHdlNone\x20(0) E$ -sHdlNone\x20(0) F$ -b10 G$ -b100 H$ -b11 I$ +b10 <$ +b100 =$ +b11 >$ +sHdlSome\x20(1) ?$ +sHdlNone\x20(0) @$ +b10 A$ +b100 B$ +b11 C$ +sHdlSome\x20(1) D$ +sHdlSome\x20(1) E$ +b10 F$ +b100 G$ +b11 H$ +sHdlNone\x20(0) I$ sHdlNone\x20(0) J$ -sHdlSome\x20(1) K$ -b10 L$ -b100 M$ -b11 N$ +b10 K$ +b100 L$ +b11 M$ +sHdlNone\x20(0) N$ sHdlSome\x20(1) O$ -sHdlNone\x20(0) P$ -b10 Q$ -b100 R$ -b11 S$ -sHdlSome\x20(1) T$ -sHdlSome\x20(1) U$ -b10 V$ -b100 W$ -b11 X$ -sHdlNone\x20(0) Y$ -sHdlNone\x20(0) Z$ -b10 [$ -b100 \$ -b11 ]$ +b10 P$ +b100 Q$ +b11 R$ +sHdlSome\x20(1) S$ +sHdlNone\x20(0) T$ +b10 U$ +b100 V$ +b11 W$ +sHdlSome\x20(1) X$ +sHdlSome\x20(1) Y$ +b10 Z$ +b100 [$ +b11 \$ +sHdlNone\x20(0) ]$ sHdlNone\x20(0) ^$ -sHdlSome\x20(1) _$ -b10 `$ -b100 a$ -b11 b$ +b10 _$ +b100 `$ +b11 a$ +sHdlNone\x20(0) b$ sHdlSome\x20(1) c$ -sHdlNone\x20(0) d$ -b10 e$ -b100 f$ -b11 g$ -sHdlSome\x20(1) h$ -sHdlSome\x20(1) i$ +b10 d$ +b100 e$ +b11 f$ +sHdlSome\x20(1) g$ +sHdlNone\x20(0) h$ +b10 i$ b100 j$ b11 k$ -sHdlNone\x20(0) l$ -sHdlNone\x20(0) m$ -b100 n$ -b11 o$ -sHdlNone\x20(0) p$ -sHdlSome\x20(1) q$ -b100 r$ -b11 s$ -sHdlSome\x20(1) t$ -sHdlNone\x20(0) u$ -b100 v$ -b11 w$ -sHdlSome\x20(1) x$ -sHdlSome\x20(1) y$ -b100 z$ -b11 {$ +sHdlSome\x20(1) l$ +sHdlSome\x20(1) m$ +b10 n$ +b100 o$ +b11 p$ +sHdlNone\x20(0) q$ +sHdlNone\x20(0) r$ +b10 s$ +b100 t$ +b11 u$ +sHdlNone\x20(0) v$ +sHdlSome\x20(1) w$ +b10 x$ +b100 y$ +b11 z$ +sHdlSome\x20(1) {$ sHdlNone\x20(0) |$ -sHdlNone\x20(0) }$ +b10 }$ b100 ~$ b11 !% -sHdlNone\x20(0) "% +sHdlSome\x20(1) "% sHdlSome\x20(1) #% b100 $% b11 %% -sHdlSome\x20(1) &% +sHdlNone\x20(0) &% sHdlNone\x20(0) '% b100 (% b11 )% -sHdlSome\x20(1) *% +sHdlNone\x20(0) *% sHdlSome\x20(1) +% b100 ,% b11 -% -sHdlNone\x20(0) .% +sHdlSome\x20(1) .% sHdlNone\x20(0) /% b100 0% b11 1% -sHdlNone\x20(0) 2% +sHdlSome\x20(1) 2% sHdlSome\x20(1) 3% b100 4% b11 5% -sHdlSome\x20(1) 6% +sHdlNone\x20(0) 6% sHdlNone\x20(0) 7% b100 8% b11 9% -sHdlSome\x20(1) :% +sHdlNone\x20(0) :% sHdlSome\x20(1) ;% b100 <% b11 =% -sHdlNone\x20(0) >% +sHdlSome\x20(1) >% sHdlNone\x20(0) ?% b100 @% b11 A% -sHdlNone\x20(0) B% +sHdlSome\x20(1) B% sHdlSome\x20(1) C% b100 D% b11 E% -sHdlSome\x20(1) F% +sHdlNone\x20(0) F% sHdlNone\x20(0) G% b100 H% b11 I% -sHdlSome\x20(1) J% +sHdlNone\x20(0) J% sHdlSome\x20(1) K% b100 L% b11 M% -sHdlNone\x20(0) N% +sHdlSome\x20(1) N% sHdlNone\x20(0) O% b100 P% b11 Q% -sHdlNone\x20(0) R% +sHdlSome\x20(1) R% sHdlSome\x20(1) S% b100 T% b11 U% -sHdlSome\x20(1) V% +sHdlNone\x20(0) V% sHdlNone\x20(0) W% b100 X% b11 Y% -sHdlSome\x20(1) Z% +sHdlNone\x20(0) Z% sHdlSome\x20(1) [% -b1001000110100 \% -b100 ]% -1^% -b0 _% -sS64\x20(1) `% -b11111111 a% -b10 b% -b100 c% -1d% -b0 e% -sS64\x20(1) f% -b11111111 g% -b1001000110100 h% -b100 i% -1j% -b0 k% -sU64\x20(0) l% -b11111111 m% -b10 n% -b100 o% -1p% -b0 q% -sU64\x20(0) r% -b11111111 s% -b10 t% +b100 \% +b11 ]% +sHdlSome\x20(1) ^% +sHdlNone\x20(0) _% +b100 `% +b11 a% +sHdlSome\x20(1) b% +sHdlSome\x20(1) c% +b100 d% +b11 e% +sHdlNone\x20(0) f% +sHdlNone\x20(0) g% +b100 h% +b11 i% +sHdlNone\x20(0) j% +sHdlSome\x20(1) k% +b100 l% +b11 m% +sHdlSome\x20(1) n% +sHdlNone\x20(0) o% +b100 p% +b11 q% +sHdlSome\x20(1) r% +sHdlSome\x20(1) s% +b1001000110100 t% b100 u% 1v% b0 w% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% b11111111 y% b10 z% b100 {% -b0 |% -b11111111 }% +1|% +b0 }% +sS64\x20(1) ~% +b11111111 !& +b1001000110100 "& +b100 #& +1$& +b0 %& +sU64\x20(0) && +b11111111 '& +b10 (& +b100 )& +1*& +b0 +& +sU64\x20(0) ,& +b11111111 -& +b10 .& +b100 /& +10& +b0 1& +sCmpRBTwo\x20(9) 2& +b11111111 3& +b10 4& +b100 5& +b0 6& +b11111111 7& +b1001000110100 8& +b100 9& +b11 :& +sHdlSome\x20(1) ;& +b1001000110100 <& +b100 =& +b11 >& +sHdlSome\x20(1) ?& +b1001000110100 @& +b100 A& +b11 B& +sHdlNone\x20(0) C& +b1001000110100 D& +b100 E& +b11 F& +sHdlNone\x20(0) G& +b1001000110100 H& +b100 I& +b11 J& +sHdlNone\x20(0) K& +b1001000110100 L& +b100 M& +b11 N& +sHdlNone\x20(0) O& +b10 P& +b100 Q& +b11 R& +sHdlNone\x20(0) S& +b10 T& +b100 U& +b11 V& +sHdlSome\x20(1) W& +b10 X& +b100 Y& +b11 Z& +sHdlNone\x20(0) [& +b10 \& +b100 ]& +b11 ^& +sHdlSome\x20(1) _& +b10 `& +b100 a& +b11 b& +sHdlNone\x20(0) c& +b10 d& +b100 e& +b11 f& +sHdlSome\x20(1) g& +b10 h& +b100 i& +b11 j& +sHdlNone\x20(0) k& +b10 l& +b100 m& +b11 n& +sHdlSome\x20(1) o& +b10 p& +b100 q& +b11 r& +sHdlNone\x20(0) s& +b10 t& +b100 u& +b11 v& +sHdlSome\x20(1) w& +b10 x& +b100 y& +b11 z& +sHdlNone\x20(0) {& +b10 |& +b100 }& +b11 ~& +sHdlSome\x20(1) !' +b10 "' +b100 #' +b11 $' +sHdlNone\x20(0) %' +b10 &' +b100 '' +b11 (' +sHdlSome\x20(1) )' +b10 *' +b100 +' +b11 ,' +sHdlNone\x20(0) -' +b10 .' +b100 /' +b11 0' +sHdlSome\x20(1) 1' $end #1000000 b10010001 * @@ -1783,66 +2151,53 @@ b10010001 T b1010001010110011110001001 U b10010001 ` b1010001010110011110001001 a -b100010 l -b100010101100111100010011 m -1n -b100010 w -b100010101100111100010011 x -1y -b100010 #" -b100010101100111100010011 $" -1%" -b110000000010010001101000101 .# -sHdlSome\x20(1) /# -b111000011001000110011110001001 0# -11# -b10001101000101 2# -b1 3# -b10000 4# -b100001 5# -b10010001101000101 6# -b110011110001001 8# -b100 9# -b11 :# -b100100 ;# -b10001101000101 <# -b1 =# -b10000 ># -b100001 ?# -1@# -b10001101 A# -b1 B# -b10000 C# -b100 D# -b1 E# -b10000 F# -b100 I# -b1 J# -b10000 K# -b100 N# -b1 O# -b10000 P# -b100 S# -b1 T# -b10000 U# -b10001101000101 X# -b1 Y# -b10000 Z# -b10001101000101 \# +b10010001 l +b1010001010110011110001001 m +b100010 x +b100010101100111100010011 y +1z +b100010 %" +b100010101100111100010011 &" +1'" +b100010 /" +b100010101100111100010011 0" +11" +b110000000010010001101000101 F# +sHdlSome\x20(1) G# +b111000011001000110011110001001 H# +1I# +b10001101000101 J# +b1 K# +b10000 L# +b100001 M# +b10010001101000101 N# +b110011110001001 P# +b100 Q# +b11 R# +b100100 S# +b10001101000101 T# +b1 U# +b10000 V# +b100001 W# +1X# +b10001101 Y# +b1 Z# +b10000 [# +b100 \# b1 ]# b10000 ^# -b100 `# -b1 a# -b10000 b# -b100 e# -b1 f# -b10000 g# -b100 j# -b1 k# -b10000 l# -b100 o# -b1 p# -b10000 q# +b100 a# +b1 b# +b10000 c# +b100 f# +b1 g# +b10000 h# +b100 k# +b1 l# +b10000 m# +b10001101000101 p# +b1 q# +b10000 r# b10001101000101 t# b1 u# b10000 v# @@ -1858,52 +2213,55 @@ b10000 &$ b100 )$ b1 *$ b10000 +$ -b100 .$ +b10001101000101 .$ b1 /$ b10000 0$ -b100 3$ -b1 4$ -b10000 5$ -b100 8$ -b1 9$ -b10000 :$ -b100 =$ -b1 >$ -b10000 ?$ -b100 B$ -b1 C$ -b10000 D$ -b100 G$ -b1 H$ -b10000 I$ -b100 L$ -b1 M$ -b10000 N$ -b100 Q$ -b1 R$ -b10000 S$ -b100 V$ -b1 W$ -b10000 X$ -b100 [$ -b1 \$ -b10000 ]$ -b100 `$ -b1 a$ -b10000 b$ -b100 e$ -b1 f$ -b10000 g$ +b100 2$ +b1 3$ +b10000 4$ +b100 7$ +b1 8$ +b10000 9$ +b100 <$ +b1 =$ +b10000 >$ +b100 A$ +b1 B$ +b10000 C$ +b100 F$ +b1 G$ +b10000 H$ +b100 K$ +b1 L$ +b10000 M$ +b100 P$ +b1 Q$ +b10000 R$ +b100 U$ +b1 V$ +b10000 W$ +b100 Z$ +b1 [$ +b10000 \$ +b100 _$ +b1 `$ +b10000 a$ +b100 d$ +b1 e$ +b10000 f$ +b100 i$ b1 j$ b10000 k$ -b1 n$ -b10000 o$ -b1 r$ -b10000 s$ -b1 v$ -b10000 w$ -b1 z$ -b10000 {$ +b100 n$ +b1 o$ +b10000 p$ +b100 s$ +b1 t$ +b10000 u$ +b100 x$ +b1 y$ +b10000 z$ +b100 }$ b1 ~$ b10000 !% b1 $% @@ -1934,40 +2292,118 @@ b1 T% b10000 U% b1 X% b10000 Y% -b10001101000101 \% -b1 ]% -0^% -b100 _% -sS32\x20(3) `% -b1100 a% -b100 b% -b1 c% -0d% -b100 e% -sS32\x20(3) f% -b1100 g% -b10001101000101 h% -b1 i% -0j% -b100 k% -sU32\x20(2) l% -b1100 m% -b100 n% -b1 o% -0p% -b100 q% -sU32\x20(2) r% -b1100 s% -b100 t% +b1 \% +b10000 ]% +b1 `% +b10000 a% +b1 d% +b10000 e% +b1 h% +b10000 i% +b1 l% +b10000 m% +b1 p% +b10000 q% +b10001101000101 t% b1 u% 0v% b100 w% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% b1100 y% b100 z% b1 {% -b100 |% -b1100 }% +0|% +b100 }% +sS32\x20(3) ~% +b1100 !& +b10001101000101 "& +b1 #& +0$& +b100 %& +sU32\x20(2) && +b1100 '& +b100 (& +b1 )& +0*& +b100 +& +sU32\x20(2) ,& +b1100 -& +b100 .& +b1 /& +00& +b100 1& +sCmpRBOne\x20(8) 2& +b1100 3& +b100 4& +b1 5& +b100 6& +b1100 7& +b10001101000101 8& +b1 9& +b10000 :& +b10001101000101 <& +b1 =& +b10000 >& +b10001101000101 @& +b1 A& +b10000 B& +b10001101000101 D& +b1 E& +b10000 F& +b10001101000101 H& +b1 I& +b10000 J& +b10001101000101 L& +b1 M& +b10000 N& +b100 P& +b1 Q& +b10000 R& +b100 T& +b1 U& +b10000 V& +b100 X& +b1 Y& +b10000 Z& +b100 \& +b1 ]& +b10000 ^& +b100 `& +b1 a& +b10000 b& +b100 d& +b1 e& +b10000 f& +b100 h& +b1 i& +b10000 j& +b100 l& +b1 m& +b10000 n& +b100 p& +b1 q& +b10000 r& +b100 t& +b1 u& +b10000 v& +b100 x& +b1 y& +b10000 z& +b100 |& +b1 }& +b10000 ~& +b100 "' +b1 #' +b10000 $' +b100 &' +b1 '' +b10000 (' +b100 *' +b1 +' +b10000 ,' +b100 .' +b1 /' +b10000 0' #2000000 b0 ( 11 @@ -1976,54 +2412,50 @@ b0 7 b0 F b1000 L b0 R -sCmpRBOne\x20(8) X +b1000 X b0 ^ sCmpRBOne\x20(8) d b0 j -b0 u -b0 !" -b110000100010010001101000101 .# -b111000011000000110011110001001 0# -b10001 3# -b110001 5# -17# -b0 9# -b0 ;# -b10001 =# -b110001 ?# -b10001 B# -b10001 E# -b10001 J# -b10001 O# -b10001 T# -b10001 Y# +sCmpRBOne\x20(8) p +b0 v +b0 #" +b0 -" +b110000100010010001101000101 F# +b111000011000000110011110001001 H# +b10001 K# +b110001 M# +1O# +b0 Q# +b0 S# +b10001 U# +b110001 W# +b10001 Z# b10001 ]# -b10001 a# -b10001 f# -b10001 k# -b10001 p# +b10001 b# +b10001 g# +b10001 l# +b10001 q# b10001 u# b10001 y# b10001 ~# b10001 %$ b10001 *$ b10001 /$ -b10001 4$ -b10001 9$ -b10001 >$ -b10001 C$ -b10001 H$ -b10001 M$ -b10001 R$ -b10001 W$ -b10001 \$ -b10001 a$ -b10001 f$ +b10001 3$ +b10001 8$ +b10001 =$ +b10001 B$ +b10001 G$ +b10001 L$ +b10001 Q$ +b10001 V$ +b10001 [$ +b10001 `$ +b10001 e$ b10001 j$ -b10001 n$ -b10001 r$ -b10001 v$ -b10001 z$ +b10001 o$ +b10001 t$ +b10001 y$ b10001 ~$ b10001 $% b10001 (% @@ -2039,12 +2471,40 @@ b10001 L% b10001 P% b10001 T% b10001 X% -b10001 ]% -b10001 c% -b10001 i% -b10001 o% +b10001 \% +b10001 `% +b10001 d% +b10001 h% +b10001 l% +b10001 p% b10001 u% b10001 {% +b10001 #& +b10001 )& +b10001 /& +b10001 5& +b10001 9& +b10001 =& +b10001 A& +b10001 E& +b10001 I& +b10001 M& +b10001 Q& +b10001 U& +b10001 Y& +b10001 ]& +b10001 a& +b10001 e& +b10001 i& +b10001 m& +b10001 q& +b10001 u& +b10001 y& +b10001 }& +b10001 #' +b10001 '' +b10001 +' +b10001 /' #3000000 b100100 ( b1001 * @@ -2061,73 +2521,62 @@ b0 L b100100 R b1001 T b1101000000000000000000 U -sU64\x20(0) X +b0 X b100100 ^ b1001 ` b1101000000000000000000 a sU64\x20(0) d -b1001000 j -b10010 l -b11010000000000000000000 m -0n -b1001000 u -b10010 w -b11010000000000000000000 x -0y -b1001000 !" -b10010 #" -b11010000000000000000000 $" -0%" -b111100011001000001001000110100 .# -sHdlNone\x20(0) /# -b0 0# -01# -b1001000110100 2# -b100 3# -b11 4# -b100100 5# -b1001000110100 6# -07# -b0 8# -b0 :# -b1001000110100 <# -b100 =# -b11 ># -b100100 ?# -0@# -b1001000 A# -b100 B# -b11 C# -b10 D# -b100 E# -b11 F# -b10 I# -b100 J# -b11 K# -b10 N# -b100 O# -b11 P# -b10 S# -b100 T# -b11 U# -b1001000110100 X# -b100 Y# -b11 Z# -b1001000110100 \# +b100100 j +b1001 l +b1101000000000000000000 m +sU64\x20(0) p +b1001000 v +b10010 x +b11010000000000000000000 y +0z +b1001000 #" +b10010 %" +b11010000000000000000000 &" +0'" +b1001000 -" +b10010 /" +b11010000000000000000000 0" +01" +b111100011001000001001000110100 F# +sHdlNone\x20(0) G# +b0 H# +0I# +b1001000110100 J# +b100 K# +b11 L# +b100100 M# +b1001000110100 N# +0O# +b0 P# +b0 R# +b1001000110100 T# +b100 U# +b11 V# +b100100 W# +0X# +b1001000 Y# +b100 Z# +b11 [# +b10 \# b100 ]# b11 ^# -b10 `# -b100 a# -b11 b# -b10 e# -b100 f# -b11 g# -b10 j# -b100 k# -b11 l# -b10 o# -b100 p# -b11 q# +b10 a# +b100 b# +b11 c# +b10 f# +b100 g# +b11 h# +b10 k# +b100 l# +b11 m# +b1001000110100 p# +b100 q# +b11 r# b1001000110100 t# b100 u# b11 v# @@ -2143,52 +2592,55 @@ b11 &$ b10 )$ b100 *$ b11 +$ -b10 .$ +b1001000110100 .$ b100 /$ b11 0$ -b10 3$ -b100 4$ -b11 5$ -b10 8$ -b100 9$ -b11 :$ -b10 =$ -b100 >$ -b11 ?$ -b10 B$ -b100 C$ -b11 D$ -b10 G$ -b100 H$ -b11 I$ -b10 L$ -b100 M$ -b11 N$ -b10 Q$ -b100 R$ -b11 S$ -b10 V$ -b100 W$ -b11 X$ -b10 [$ -b100 \$ -b11 ]$ -b10 `$ -b100 a$ -b11 b$ -b10 e$ -b100 f$ -b11 g$ +b10 2$ +b100 3$ +b11 4$ +b10 7$ +b100 8$ +b11 9$ +b10 <$ +b100 =$ +b11 >$ +b10 A$ +b100 B$ +b11 C$ +b10 F$ +b100 G$ +b11 H$ +b10 K$ +b100 L$ +b11 M$ +b10 P$ +b100 Q$ +b11 R$ +b10 U$ +b100 V$ +b11 W$ +b10 Z$ +b100 [$ +b11 \$ +b10 _$ +b100 `$ +b11 a$ +b10 d$ +b100 e$ +b11 f$ +b10 i$ b100 j$ b11 k$ -b100 n$ -b11 o$ -b100 r$ -b11 s$ -b100 v$ -b11 w$ -b100 z$ -b11 {$ +b10 n$ +b100 o$ +b11 p$ +b10 s$ +b100 t$ +b11 u$ +b10 x$ +b100 y$ +b11 z$ +b10 }$ b100 ~$ b11 !% b100 $% @@ -2219,40 +2671,118 @@ b100 T% b11 U% b100 X% b11 Y% -b1001000110100 \% -b100 ]% -1^% -b0 _% -sS64\x20(1) `% -b11111111 a% -b10 b% -b100 c% -1d% -b0 e% -sS64\x20(1) f% -b11111111 g% -b1001000110100 h% -b100 i% -1j% -b0 k% -sU64\x20(0) l% -b11111111 m% -b10 n% -b100 o% -1p% -b0 q% -sU64\x20(0) r% -b11111111 s% -b10 t% +b100 \% +b11 ]% +b100 `% +b11 a% +b100 d% +b11 e% +b100 h% +b11 i% +b100 l% +b11 m% +b100 p% +b11 q% +b1001000110100 t% b100 u% 1v% b0 w% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% b11111111 y% b10 z% b100 {% -b0 |% -b11111111 }% +1|% +b0 }% +sS64\x20(1) ~% +b11111111 !& +b1001000110100 "& +b100 #& +1$& +b0 %& +sU64\x20(0) && +b11111111 '& +b10 (& +b100 )& +1*& +b0 +& +sU64\x20(0) ,& +b11111111 -& +b10 .& +b100 /& +10& +b0 1& +sCmpRBTwo\x20(9) 2& +b11111111 3& +b10 4& +b100 5& +b0 6& +b11111111 7& +b1001000110100 8& +b100 9& +b11 :& +b1001000110100 <& +b100 =& +b11 >& +b1001000110100 @& +b100 A& +b11 B& +b1001000110100 D& +b100 E& +b11 F& +b1001000110100 H& +b100 I& +b11 J& +b1001000110100 L& +b100 M& +b11 N& +b10 P& +b100 Q& +b11 R& +b10 T& +b100 U& +b11 V& +b10 X& +b100 Y& +b11 Z& +b10 \& +b100 ]& +b11 ^& +b10 `& +b100 a& +b11 b& +b10 d& +b100 e& +b11 f& +b10 h& +b100 i& +b11 j& +b10 l& +b100 m& +b11 n& +b10 p& +b100 q& +b11 r& +b10 t& +b100 u& +b11 v& +b10 x& +b100 y& +b11 z& +b10 |& +b100 }& +b11 ~& +b10 "' +b100 #' +b11 $' +b10 &' +b100 '' +b11 (' +b10 *' +b100 +' +b11 ,' +b10 .' +b100 /' +b11 0' #4000000 b0 ( b1101000000000000000100 + @@ -2265,61 +2795,58 @@ b1101000000000000000100 I b1000 L b0 R b1101000000000000000100 U -sCmpRBOne\x20(8) X +b1000 X b0 ^ b1101000000000000000100 a sCmpRBOne\x20(8) d b0 j -b11010000000000000001000 m -b0 u -b11010000000000000001000 x -b0 !" -b11010000000000000001000 $" -b1001100011110100001001000000100 .# -b1001000000100 2# -b11010 3# -b111010 5# -b100001001000000100 6# -17# -b1001000000100 <# -b11010 =# -b111010 ?# -b11010 B# -b11010 E# -b11010 J# -b11010 O# -b11010 T# -b1001000000100 X# -b11010 Y# -b1001000000100 \# +b1101000000000000000100 m +sCmpRBOne\x20(8) p +b0 v +b11010000000000000001000 y +b0 #" +b11010000000000000001000 &" +b0 -" +b11010000000000000001000 0" +b1001100011110100001001000000100 F# +b1001000000100 J# +b11010 K# +b111010 M# +b100001001000000100 N# +1O# +b1001000000100 T# +b11010 U# +b111010 W# +b11010 Z# b11010 ]# -b11010 a# -b11010 f# -b11010 k# -b11010 p# +b11010 b# +b11010 g# +b11010 l# +b1001000000100 p# +b11010 q# b1001000000100 t# b11010 u# b11010 y# b11010 ~# b11010 %$ b11010 *$ +b1001000000100 .$ b11010 /$ -b11010 4$ -b11010 9$ -b11010 >$ -b11010 C$ -b11010 H$ -b11010 M$ -b11010 R$ -b11010 W$ -b11010 \$ -b11010 a$ -b11010 f$ +b11010 3$ +b11010 8$ +b11010 =$ +b11010 B$ +b11010 G$ +b11010 L$ +b11010 Q$ +b11010 V$ +b11010 [$ +b11010 `$ +b11010 e$ b11010 j$ -b11010 n$ -b11010 r$ -b11010 v$ -b11010 z$ +b11010 o$ +b11010 t$ +b11010 y$ b11010 ~$ b11010 $% b11010 (% @@ -2335,14 +2862,48 @@ b11010 L% b11010 P% b11010 T% b11010 X% -b1001000000100 \% -b11010 ]% -b11010 c% -b1001000000100 h% -b11010 i% -b11010 o% +b11010 \% +b11010 `% +b11010 d% +b11010 h% +b11010 l% +b11010 p% +b1001000000100 t% b11010 u% b11010 {% +b1001000000100 "& +b11010 #& +b11010 )& +b11010 /& +b11010 5& +b1001000000100 8& +b11010 9& +b1001000000100 <& +b11010 =& +b1001000000100 @& +b11010 A& +b1001000000100 D& +b11010 E& +b1001000000100 H& +b11010 I& +b1001000000100 L& +b11010 M& +b11010 Q& +b11010 U& +b11010 Y& +b11010 ]& +b11010 a& +b11010 e& +b11010 i& +b11010 m& +b11010 q& +b11010 u& +b11010 y& +b11010 }& +b11010 #' +b11010 '' +b11010 +' +b11010 /' #5000000 sAddSub\x20(0) " sHdlSome\x20(1) ' @@ -2368,59 +2929,55 @@ b100100 R b100101 S b0 T b0 U -sU64\x20(0) X +b0 X sHdlSome\x20(1) ] b100100 ^ b100101 _ b0 ` b0 a sU64\x20(0) d -b0 e -b1001001 j -b1001010 k +sHdlSome\x20(1) i +b100100 j +b100101 k b0 l b0 m -sLoad\x20(0) o -b1001001 u -b1001010 v -b0 w +sU64\x20(0) p +b0 q +b1001001 v +b1001010 w b0 x -b1001001 !" -b1001010 "" -b0 #" -b0 $" -b1111100011001000010101000010101 .# -b10101000010101 2# -b100 3# -b100100 5# -b10101000010101 6# -07# -b10101000010101 <# -b100 =# -b100100 ?# -1@# -b10101000 A# -b100 B# -b101 D# -b100 E# -b101 I# -b100 J# -b101 N# -b100 O# -b101 S# -b100 T# -b10101000010101 X# -b100 Y# -b10101000010101 \# +b0 y +sLoad\x20(0) { +b1001001 #" +b1001010 $" +b0 %" +b0 &" +b1001001 -" +b1001010 ." +b0 /" +b0 0" +b1111100011001000010101000010101 F# +b10101000010101 J# +b100 K# +b100100 M# +b10101000010101 N# +0O# +b10101000010101 T# +b100 U# +b100100 W# +1X# +b10101000 Y# +b100 Z# +b101 \# b100 ]# -b101 `# -b100 a# -b101 e# -b100 f# -b101 j# -b100 k# -b101 o# -b100 p# +b101 a# +b100 b# +b101 f# +b100 g# +b101 k# +b100 l# +b10101000010101 p# +b100 q# b10101000010101 t# b100 u# b101 x# @@ -2431,35 +2988,39 @@ b101 $$ b100 %$ b101 )$ b100 *$ -b101 .$ +b10101000010101 .$ b100 /$ -b101 3$ -b100 4$ -b101 8$ -b100 9$ -b101 =$ -b100 >$ -b101 B$ -b100 C$ -b101 G$ -b100 H$ -b101 L$ -b100 M$ -b101 Q$ -b100 R$ -b101 V$ -b100 W$ -b101 [$ -b100 \$ -b101 `$ -b100 a$ -b101 e$ -b100 f$ +b101 2$ +b100 3$ +b101 7$ +b100 8$ +b101 <$ +b100 =$ +b101 A$ +b100 B$ +b101 F$ +b100 G$ +b101 K$ +b100 L$ +b101 P$ +b100 Q$ +b101 U$ +b100 V$ +b101 Z$ +b100 [$ +b101 _$ +b100 `$ +b101 d$ +b100 e$ +b101 i$ b100 j$ -b100 n$ -b100 r$ -b100 v$ -b100 z$ +b101 n$ +b100 o$ +b101 s$ +b100 t$ +b101 x$ +b100 y$ +b101 }$ b100 ~$ b100 $% b100 (% @@ -2475,18 +3036,68 @@ b100 L% b100 P% b100 T% b100 X% -b10101000010101 \% -b100 ]% -b101 b% -b100 c% -b10101000010101 h% -b100 i% -b101 n% -b100 o% -b101 t% +b100 \% +b100 `% +b100 d% +b100 h% +b100 l% +b100 p% +b10101000010101 t% b100 u% b101 z% b100 {% +b10101000010101 "& +b100 #& +b101 (& +b100 )& +b101 .& +b100 /& +b101 4& +b100 5& +b10101000010101 8& +b100 9& +b10101000010101 <& +b100 =& +b10101000010101 @& +b100 A& +b10101000010101 D& +b100 E& +b10101000010101 H& +b100 I& +b10101000010101 L& +b100 M& +b101 P& +b100 Q& +b101 T& +b100 U& +b101 X& +b100 Y& +b101 \& +b100 ]& +b101 `& +b100 a& +b101 d& +b100 e& +b101 h& +b100 i& +b101 l& +b100 m& +b101 p& +b100 q& +b101 t& +b100 u& +b101 x& +b100 y& +b101 |& +b100 }& +b101 "' +b100 #' +b101 &' +b100 '' +b101 *' +b100 +' +b101 .' +b100 /' #6000000 sAddSubI\x20(1) " b100 % @@ -2504,56 +3115,81 @@ b1001000110100 U b100 [ b0 _ b1001000110100 a -b1 e -b1000 g +b100 g b0 k -b10010001101000 m -sStore\x20(1) o -b1000 r -b0 v -b10010001101000 x -b1000 | -b0 "" -b10010001101000 $" -b110100011001000001001000110100 .# -b1001000110100 2# -b1001000110100 6# -b1001000110100 <# -0@# -b1001000 A# -b10 D# -b10 I# -b10 N# -b10 S# -b1001000110100 X# -b1001000110100 \# -b10 `# -b10 e# -b10 j# -b10 o# +b1001000110100 m +b1 q +b1000 s +b0 w +b10010001101000 y +sStore\x20(1) { +b1000 ~ +b0 $" +b10010001101000 &" +b1000 *" +b0 ." +b10010001101000 0" +b110100011001000001001000110100 F# +b1001000110100 J# +b1001000110100 N# +b1001000110100 T# +0X# +b1001000 Y# +b10 \# +b10 a# +b10 f# +b10 k# +b1001000110100 p# b1001000110100 t# b10 x# b10 }# b10 $$ b10 )$ -b10 .$ -b10 3$ -b10 8$ -b10 =$ -b10 B$ -b10 G$ -b10 L$ -b10 Q$ -b10 V$ -b10 [$ -b10 `$ -b10 e$ -b1001000110100 \% -b10 b% -b1001000110100 h% -b10 n% -b10 t% +b1001000110100 .$ +b10 2$ +b10 7$ +b10 <$ +b10 A$ +b10 F$ +b10 K$ +b10 P$ +b10 U$ +b10 Z$ +b10 _$ +b10 d$ +b10 i$ +b10 n$ +b10 s$ +b10 x$ +b10 }$ +b1001000110100 t% b10 z% +b1001000110100 "& +b10 (& +b10 .& +b10 4& +b1001000110100 8& +b1001000110100 <& +b1001000110100 @& +b1001000110100 D& +b1001000110100 H& +b1001000110100 L& +b10 P& +b10 T& +b10 X& +b10 \& +b10 `& +b10 d& +b10 h& +b10 l& +b10 p& +b10 t& +b10 x& +b10 |& +b10 "' +b10 &' +b10 *' +b10 .' #7000000 sAddSub\x20(0) " b0 % @@ -2573,61 +3209,87 @@ b101 L b0 O b100101 S b0 U -sS16\x20(5) X +b101 X b0 [ b100101 _ b0 a sS16\x20(5) d -b0 e b0 g -b1001010 k +b100101 k b0 m -sLoad\x20(0) o -b0 r -b1001010 v -b0 x -b0 | -b1001010 "" -b0 $" -b1111100011001000010100001010001 .# -b10100001010001 2# -b10100001010001 6# -b10100001010001 <# -1@# -b10100001 A# -b101 D# -b101 I# -b101 N# -b101 S# -b10100001010001 X# -b10100001010001 \# -b101 `# -b101 e# -b101 j# -b101 o# +sS16\x20(5) p +b0 q +b0 s +b1001010 w +b0 y +sLoad\x20(0) { +b0 ~ +b1001010 $" +b0 &" +b0 *" +b1001010 ." +b0 0" +b1111100011001000010100001010001 F# +b10100001010001 J# +b10100001010001 N# +b10100001010001 T# +1X# +b10100001 Y# +b101 \# +b101 a# +b101 f# +b101 k# +b10100001010001 p# b10100001010001 t# b101 x# b101 }# b101 $$ b101 )$ -b101 .$ -b101 3$ -b101 8$ -b101 =$ -b101 B$ -b101 G$ -b101 L$ -b101 Q$ -b101 V$ -b101 [$ -b101 `$ -b101 e$ -b10100001010001 \% -b101 b% -b10100001010001 h% -b101 n% -b101 t% +b10100001010001 .$ +b101 2$ +b101 7$ +b101 <$ +b101 A$ +b101 F$ +b101 K$ +b101 P$ +b101 U$ +b101 Z$ +b101 _$ +b101 d$ +b101 i$ +b101 n$ +b101 s$ +b101 x$ +b101 }$ +b10100001010001 t% b101 z% +b10100001010001 "& +b101 (& +b101 .& +b101 4& +b10100001010001 8& +b10100001010001 <& +b10100001010001 @& +b10100001010001 D& +b10100001010001 H& +b10100001010001 L& +b101 P& +b101 T& +b101 X& +b101 \& +b101 `& +b101 d& +b101 h& +b101 l& +b101 p& +b101 t& +b101 x& +b101 |& +b101 "' +b101 &' +b101 *' +b101 .' #8000000 sAddSubI\x20(1) " b100 % @@ -2650,59 +3312,85 @@ b100 [ sHdlNone\x20(0) ] b0 _ b1001000110100 a -b1 e -b1000 g -b1001000 j +b100 g +sHdlNone\x20(0) i b0 k -b10010001101000 m -sStore\x20(1) o -b1000 r -b1001000 u -b0 v -b10010001101000 x -b1000 | -b1001000 !" -b0 "" -b10010001101000 $" -b100000011001000001001000110100 .# -b1001000110100 2# -b1001000110100 6# -b1001000110100 <# -0@# -b1001000 A# -b10 D# -b10 I# -b10 N# -b10 S# -b1001000110100 X# -b1001000110100 \# -b10 `# -b10 e# -b10 j# -b10 o# +b1001000110100 m +b1 q +b1000 s +b1001000 v +b0 w +b10010001101000 y +sStore\x20(1) { +b1000 ~ +b1001000 #" +b0 $" +b10010001101000 &" +b1000 *" +b1001000 -" +b0 ." +b10010001101000 0" +b100000011001000001001000110100 F# +b1001000110100 J# +b1001000110100 N# +b1001000110100 T# +0X# +b1001000 Y# +b10 \# +b10 a# +b10 f# +b10 k# +b1001000110100 p# b1001000110100 t# b10 x# b10 }# b10 $$ b10 )$ -b10 .$ -b10 3$ -b10 8$ -b10 =$ -b10 B$ -b10 G$ -b10 L$ -b10 Q$ -b10 V$ -b10 [$ -b10 `$ -b10 e$ -b1001000110100 \% -b10 b% -b1001000110100 h% -b10 n% -b10 t% +b1001000110100 .$ +b10 2$ +b10 7$ +b10 <$ +b10 A$ +b10 F$ +b10 K$ +b10 P$ +b10 U$ +b10 Z$ +b10 _$ +b10 d$ +b10 i$ +b10 n$ +b10 s$ +b10 x$ +b10 }$ +b1001000110100 t% b10 z% +b1001000110100 "& +b10 (& +b10 .& +b10 4& +b1001000110100 8& +b1001000110100 <& +b1001000110100 @& +b1001000110100 D& +b1001000110100 H& +b1001000110100 L& +b10 P& +b10 T& +b10 X& +b10 \& +b10 `& +b10 d& +b10 h& +b10 l& +b10 p& +b10 t& +b10 x& +b10 |& +b10 "' +b10 &' +b10 *' +b10 .' #9000000 sAddSub\x20(0) " sHdlSome\x20(1) ' @@ -2722,78 +3410,111 @@ b0 L sHdlSome\x20(1) Q b100101 S b0 U -sU64\x20(0) X +b0 X sHdlSome\x20(1) ] b100101 _ b0 a sU64\x20(0) d -b0 e -b1001001 j -b1001010 k +sHdlSome\x20(1) i +b100101 k b0 m -sLoad\x20(0) o -b1001001 u -b1001010 v -b0 x -b1001001 !" -b1001010 "" -b0 $" -b1111100011001000010100000010101 .# -b10100000010101 2# -b10100000010101 6# -b10100000010101 <# -1@# -b10100000 A# -b101 D# -b101 I# -b101 N# -b101 S# -b10100000010101 X# -b10100000010101 \# -b101 `# -b101 e# -b101 j# -b101 o# +sU64\x20(0) p +b0 q +b1001001 v +b1001010 w +b0 y +sLoad\x20(0) { +b1001001 #" +b1001010 $" +b0 &" +b1001001 -" +b1001010 ." +b0 0" +b1111100011001000010100000010101 F# +b10100000010101 J# +b10100000010101 N# +b10100000010101 T# +1X# +b10100000 Y# +b101 \# +b101 a# +b101 f# +b101 k# +b10100000010101 p# b10100000010101 t# b101 x# b101 }# b101 $$ b101 )$ -b101 .$ -b101 3$ -b101 8$ -b101 =$ -b101 B$ -b101 G$ -b101 L$ -b101 Q$ -b101 V$ -b101 [$ -b101 `$ -b101 e$ -b10100000010101 \% -b101 b% -b10100000010101 h% -b101 n% -b101 t% +b10100000010101 .$ +b101 2$ +b101 7$ +b101 <$ +b101 A$ +b101 F$ +b101 K$ +b101 P$ +b101 U$ +b101 Z$ +b101 _$ +b101 d$ +b101 i$ +b101 n$ +b101 s$ +b101 x$ +b101 }$ +b10100000010101 t% b101 z% +b10100000010101 "& +b101 (& +b101 .& +b101 4& +b10100000010101 8& +b10100000010101 <& +b10100000010101 @& +b10100000010101 D& +b10100000010101 H& +b10100000010101 L& +b101 P& +b101 T& +b101 X& +b101 \& +b101 `& +b101 d& +b101 h& +b101 l& +b101 p& +b101 t& +b101 x& +b101 |& +b101 "' +b101 &' +b101 *' +b101 .' #10000000 1. 10 1= 1? b101 L -sS16\x20(5) X +b101 X sS16\x20(5) d -b1111100011001000010100000010001 .# -b10100000010001 2# -b10100000010001 6# -b10100000010001 <# -b10100000010001 X# -b10100000010001 \# +sS16\x20(5) p +b1111100011001000010100000010001 F# +b10100000010001 J# +b10100000010001 N# +b10100000010001 T# +b10100000010001 p# b10100000010001 t# -b10100000010001 \% -b10100000010001 h% +b10100000010001 .$ +b10100000010001 t% +b10100000010001 "& +b10100000010001 8& +b10100000010001 <& +b10100000010001 @& +b10100000010001 D& +b10100000010001 H& +b10100000010001 L& #11000000 b100 ) b100101 * @@ -2810,41 +3531,57 @@ b100101 H b10 L b100 S b100101 T -sU32\x20(2) X +b10 X b100 _ b100101 ` sU32\x20(2) d -b1000 k -b1001010 l -b1000 v -b1001010 w -b1000 "" -b1001010 #" -b1111100011001000010100100010101 .# -b10100100010101 2# -b10100100010101 6# -b10100100010101 <# -b10100100 A# -b10100100010101 X# -b10100100010101 \# +b100 k +b100101 l +sU32\x20(2) p +b1000 w +b1001010 x +b1000 $" +b1001010 %" +b1000 ." +b1001010 /" +b1111100011001000010100100010101 F# +b10100100010101 J# +b10100100010101 N# +b10100100010101 T# +b10100100 Y# +b10100100010101 p# b10100100010101 t# -b10100100010101 \% -b10100100010101 h% +b10100100010101 .$ +b10100100010101 t% +b10100100010101 "& +b10100100010101 8& +b10100100010101 <& +b10100100010101 @& +b10100100010101 D& +b10100100010101 H& +b10100100010101 L& #12000000 1. 1= b11 L -sS32\x20(3) X +b11 X sS32\x20(3) d -b1111100011001000010100100010001 .# -b10100100010001 2# -b10100100010001 6# -b10100100010001 <# -b10100100010001 X# -b10100100010001 \# +sS32\x20(3) p +b1111100011001000010100100010001 F# +b10100100010001 J# +b10100100010001 N# +b10100100010001 T# +b10100100010001 p# b10100100010001 t# -b10100100010001 \% -b10100100010001 h% +b10100100010001 .$ +b10100100010001 t% +b10100100010001 "& +b10100100010001 8& +b10100100010001 <& +b10100100010001 @& +b10100100010001 D& +b10100100010001 H& +b10100100010001 L& #13000000 b0 * b1111111111111111111111111 + @@ -2861,73 +3598,106 @@ b10 L b0 T b1111111111111111111111111 U 1V -sU32\x20(2) X +b10 X b0 ` b1111111111111111111111111 a 1b sU32\x20(2) d b0 l -b1111111111111111111111110 m +b1111111111111111111111111 m 1n -b0 w -b1111111111111111111111110 x -1y -b0 #" -b1111111111111111111111110 $" -1%" -b1111100011001000000000111010101 .# -b111010101 2# -b111010101 6# -b111010101 <# -b111 A# -b0 D# -b0 I# -b0 N# -b0 S# -b111010101 X# -b111010101 \# -b0 `# -b0 e# -b0 j# -b0 o# +sU32\x20(2) p +b0 x +b1111111111111111111111110 y +1z +b0 %" +b1111111111111111111111110 &" +1'" +b0 /" +b1111111111111111111111110 0" +11" +b1111100011001000000000111010101 F# +b111010101 J# +b111010101 N# +b111010101 T# +b111 Y# +b0 \# +b0 a# +b0 f# +b0 k# +b111010101 p# b111010101 t# b0 x# b0 }# b0 $$ b0 )$ -b0 .$ -b0 3$ -b0 8$ -b0 =$ -b0 B$ -b0 G$ -b0 L$ -b0 Q$ -b0 V$ -b0 [$ -b0 `$ -b0 e$ -b111010101 \% -b0 b% -b111010101 h% -b0 n% -b0 t% +b111010101 .$ +b0 2$ +b0 7$ +b0 <$ +b0 A$ +b0 F$ +b0 K$ +b0 P$ +b0 U$ +b0 Z$ +b0 _$ +b0 d$ +b0 i$ +b0 n$ +b0 s$ +b0 x$ +b0 }$ +b111010101 t% b0 z% +b111010101 "& +b0 (& +b0 .& +b0 4& +b111010101 8& +b111010101 <& +b111010101 @& +b111010101 D& +b111010101 H& +b111010101 L& +b0 P& +b0 T& +b0 X& +b0 \& +b0 `& +b0 d& +b0 h& +b0 l& +b0 p& +b0 t& +b0 x& +b0 |& +b0 "' +b0 &' +b0 *' +b0 .' #14000000 1. 1= b11 L -sS32\x20(3) X +b11 X sS32\x20(3) d -b1111100011001000000000111010001 .# -b111010001 2# -b111010001 6# -b111010001 <# -b111010001 X# -b111010001 \# +sS32\x20(3) p +b1111100011001000000000111010001 F# +b111010001 J# +b111010001 N# +b111010001 T# +b111010001 p# b111010001 t# -b111010001 \% -b111010001 h% +b111010001 .$ +b111010001 t% +b111010001 "& +b111010001 8& +b111010001 <& +b111010001 @& +b111010001 D& +b111010001 H& +b111010001 L& #15000000 b0 + 0, @@ -2940,41 +3710,57 @@ b0 I b10 L b0 U 0V -sU32\x20(2) X +b10 X b0 a 0b sU32\x20(2) d b0 m 0n -b0 x -0y -b0 $" -0%" -b1111100011001000000000110010101 .# -b110010101 2# -b110010101 6# -b110010101 <# -b110 A# -b110010101 X# -b110010101 \# +sU32\x20(2) p +b0 y +0z +b0 &" +0'" +b0 0" +01" +b1111100011001000000000110010101 F# +b110010101 J# +b110010101 N# +b110010101 T# +b110 Y# +b110010101 p# b110010101 t# -b110010101 \% -b110010101 h% +b110010101 .$ +b110010101 t% +b110010101 "& +b110010101 8& +b110010101 <& +b110010101 @& +b110010101 D& +b110010101 H& +b110010101 L& #16000000 1. 1= b11 L -sS32\x20(3) X +b11 X sS32\x20(3) d -b1111100011001000000000110010001 .# -b110010001 2# -b110010001 6# -b110010001 <# -b110010001 X# -b110010001 \# +sS32\x20(3) p +b1111100011001000000000110010001 F# +b110010001 J# +b110010001 N# +b110010001 T# +b110010001 p# b110010001 t# -b110010001 \% -b110010001 h% +b110010001 .$ +b110010001 t% +b110010001 "& +b110010001 8& +b110010001 <& +b110010001 @& +b110010001 D& +b110010001 H& +b110010001 L& #17000000 b0 % b0 ) @@ -2989,28 +3775,37 @@ b0 G b101 L b0 O b0 S -sS16\x20(5) X +b101 X b0 [ b0 _ sS16\x20(5) d b0 g b0 k -b0 r -b0 v -b0 | -b0 "" -b1111100011001000000000011010001 .# -b11010001 2# -b11010001 6# -b11010001 <# -b11 A# -b11010001 X# -b11010001 \# +sS16\x20(5) p +b0 s +b0 w +b0 ~ +b0 $" +b0 *" +b0 ." +b1111100011001000000000011010001 F# +b11010001 J# +b11010001 N# +b11010001 T# +b11 Y# +b11010001 p# b11010001 t# -b11010001 \% -b11010001 h% +b11010001 .$ +b11010001 t% +b11010001 "& +b11010001 8& +b11010001 <& +b11010001 @& +b11010001 D& +b11010001 H& +b11010001 L& #18000000 -sCompareI\x20(4) " +sCompareI\x20(5) " b1011 $ sHdlNone\x20(0) ' b1001000110100 + @@ -3028,49 +3823,45 @@ b11 L b1011 N sHdlNone\x20(0) Q b1001000110100 U -sS32\x20(3) X +b11 X b1011 Z sHdlNone\x20(0) ] b1001000110100 a sS32\x20(3) d -b10111 f -b1001000 j -b10010001101000 m -b10111 q -b1001000 u -b10010001101000 x -b10111 { -b1001000 !" -b10010001101000 $" -b101101100001000001001000110100 .# -b1001000110100 2# -b1100 4# -b1001000110100 6# -b1001000110100 <# -b1100 ># -0@# -b1001000 A# -b1100 C# -b10 D# -b1100 F# -b10 I# -b1100 K# -b10 N# -b1100 P# -b10 S# -b1100 U# -b1001000110100 X# -b1100 Z# -b1001000110100 \# +b1011 f +sHdlNone\x20(0) i +b1001000110100 m +sS32\x20(3) p +b1 q +b10111 r +b1001000 v +b10010001101000 y +sStore\x20(1) { +b10111 } +b1001000 #" +b10010001101000 &" +b10111 )" +b1001000 -" +b10010001101000 0" +b101101100001000001001000110100 F# +b1001000110100 J# +b1100 L# +b1001000110100 N# +b1001000110100 T# +b1100 V# +0X# +b1001000 Y# +b1100 [# +b10 \# b1100 ^# -b10 `# -b1100 b# -b10 e# -b1100 g# -b10 j# -b1100 l# -b10 o# -b1100 q# +b10 a# +b1100 c# +b10 f# +b1100 h# +b10 k# +b1100 m# +b1001000110100 p# +b1100 r# b1001000110100 t# b1100 v# b10 x# @@ -3081,35 +3872,39 @@ b10 $$ b1100 &$ b10 )$ b1100 +$ -b10 .$ +b1001000110100 .$ b1100 0$ -b10 3$ -b1100 5$ -b10 8$ -b1100 :$ -b10 =$ -b1100 ?$ -b10 B$ -b1100 D$ -b10 G$ -b1100 I$ -b10 L$ -b1100 N$ -b10 Q$ -b1100 S$ -b10 V$ -b1100 X$ -b10 [$ -b1100 ]$ -b10 `$ -b1100 b$ -b10 e$ -b1100 g$ +b10 2$ +b1100 4$ +b10 7$ +b1100 9$ +b10 <$ +b1100 >$ +b10 A$ +b1100 C$ +b10 F$ +b1100 H$ +b10 K$ +b1100 M$ +b10 P$ +b1100 R$ +b10 U$ +b1100 W$ +b10 Z$ +b1100 \$ +b10 _$ +b1100 a$ +b10 d$ +b1100 f$ +b10 i$ b1100 k$ -b1100 o$ -b1100 s$ -b1100 w$ -b1100 {$ +b10 n$ +b1100 p$ +b10 s$ +b1100 u$ +b10 x$ +b1100 z$ +b10 }$ b1100 !% b1100 %% b1100 )% @@ -3125,34 +3920,84 @@ b1100 M% b1100 Q% b1100 U% b1100 Y% -b1001000110100 \% -0^% -b11 _% -sS32\x20(3) `% -b1011 a% -b10 b% -0d% -b11 e% -sS32\x20(3) f% -b1011 g% -b1001000110100 h% -0j% -b11 k% -sU32\x20(2) l% -b1011 m% -b10 n% -0p% -b11 q% -sU32\x20(2) r% -b1011 s% -b10 t% +b1100 ]% +b1100 a% +b1100 e% +b1100 i% +b1100 m% +b1100 q% +b1001000110100 t% 0v% b11 w% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% b1011 y% b10 z% -b11 |% -b1011 }% +0|% +b11 }% +sS32\x20(3) ~% +b1011 !& +b1001000110100 "& +0$& +b11 %& +sU32\x20(2) && +b1011 '& +b10 (& +0*& +b11 +& +sU32\x20(2) ,& +b1011 -& +b10 .& +00& +b11 1& +sCmpRBOne\x20(8) 2& +b1011 3& +b10 4& +b11 6& +b1011 7& +b1001000110100 8& +b1100 :& +b1001000110100 <& +b1100 >& +b1001000110100 @& +b1100 B& +b1001000110100 D& +b1100 F& +b1001000110100 H& +b1100 J& +b1001000110100 L& +b1100 N& +b10 P& +b1100 R& +b10 T& +b1100 V& +b10 X& +b1100 Z& +b10 \& +b1100 ^& +b10 `& +b1100 b& +b10 d& +b1100 f& +b10 h& +b1100 j& +b10 l& +b1100 n& +b10 p& +b1100 r& +b10 t& +b1100 v& +b10 x& +b1100 z& +b10 |& +b1100 ~& +b10 "' +b1100 $' +b10 &' +b1100 (' +b10 *' +b1100 ,' +b10 .' +b1100 0' #19000000 b11111111 * b1111111111000100110101011 + @@ -3169,49 +4014,43 @@ b1 L b11111111 T b1111111111000100110101011 U 1V -sS64\x20(1) X +b1 X b11111111 ` b1111111111000100110101011 a 1b sS64\x20(1) d -b11111110 l -b1111111110001001101010111 m +b11111111 l +b1111111111000100110101011 m 1n -b11111110 w -b1111111110001001101010111 x -1y -b11111110 #" -b1111111110001001101010111 $" -1%" -b101101101001001000100110101011 .# -b1000100110101011 2# -b1101 4# -b1000100110101011 6# -b1000100110101011 <# -b1101 ># -1@# -b1000100110 A# -b1101 C# -b10001 D# -b1101 F# -b10001 I# -b1101 K# -b10001 N# -b1101 P# -b10001 S# -b1101 U# -b1000100110101011 X# -b1101 Z# -b1000100110101011 \# +sS64\x20(1) p +b11111110 x +b1111111110001001101010111 y +1z +b11111110 %" +b1111111110001001101010111 &" +1'" +b11111110 /" +b1111111110001001101010111 0" +11" +b101101101001001000100110101011 F# +b1000100110101011 J# +b1101 L# +b1000100110101011 N# +b1000100110101011 T# +b1101 V# +1X# +b1000100110 Y# +b1101 [# +b10001 \# b1101 ^# -b10001 `# -b1101 b# -b10001 e# -b1101 g# -b10001 j# -b1101 l# -b10001 o# -b1101 q# +b10001 a# +b1101 c# +b10001 f# +b1101 h# +b10001 k# +b1101 m# +b1000100110101011 p# +b1101 r# b1000100110101011 t# b1101 v# b10001 x# @@ -3222,35 +4061,39 @@ b10001 $$ b1101 &$ b10001 )$ b1101 +$ -b10001 .$ +b1000100110101011 .$ b1101 0$ -b10001 3$ -b1101 5$ -b10001 8$ -b1101 :$ -b10001 =$ -b1101 ?$ -b10001 B$ -b1101 D$ -b10001 G$ -b1101 I$ -b10001 L$ -b1101 N$ -b10001 Q$ -b1101 S$ -b10001 V$ -b1101 X$ -b10001 [$ -b1101 ]$ -b10001 `$ -b1101 b$ -b10001 e$ -b1101 g$ +b10001 2$ +b1101 4$ +b10001 7$ +b1101 9$ +b10001 <$ +b1101 >$ +b10001 A$ +b1101 C$ +b10001 F$ +b1101 H$ +b10001 K$ +b1101 M$ +b10001 P$ +b1101 R$ +b10001 U$ +b1101 W$ +b10001 Z$ +b1101 \$ +b10001 _$ +b1101 a$ +b10001 d$ +b1101 f$ +b10001 i$ b1101 k$ -b1101 o$ -b1101 s$ -b1101 w$ -b1101 {$ +b10001 n$ +b1101 p$ +b10001 s$ +b1101 u$ +b10001 x$ +b1101 z$ +b10001 }$ b1101 !% b1101 %% b1101 )% @@ -3266,24 +4109,74 @@ b1101 M% b1101 Q% b1101 U% b1101 Y% -b1000100110101011 \% -1^% -sS64\x20(1) `% -b10001 b% -1d% -sS64\x20(1) f% -b1000100110101011 h% -1j% -sU64\x20(0) l% -b10001 n% -1p% -sU64\x20(0) r% -b10001 t% +b1101 ]% +b1101 a% +b1101 e% +b1101 i% +b1101 m% +b1101 q% +b1000100110101011 t% 1v% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% b10001 z% +1|% +sS64\x20(1) ~% +b1000100110101011 "& +1$& +sU64\x20(0) && +b10001 (& +1*& +sU64\x20(0) ,& +b10001 .& +10& +sCmpRBTwo\x20(9) 2& +b10001 4& +b1000100110101011 8& +b1101 :& +b1000100110101011 <& +b1101 >& +b1000100110101011 @& +b1101 B& +b1000100110101011 D& +b1101 F& +b1000100110101011 H& +b1101 J& +b1000100110101011 L& +b1101 N& +b10001 P& +b1101 R& +b10001 T& +b1101 V& +b10001 X& +b1101 Z& +b10001 \& +b1101 ^& +b10001 `& +b1101 b& +b10001 d& +b1101 f& +b10001 h& +b1101 j& +b10001 l& +b1101 n& +b10001 p& +b1101 r& +b10001 t& +b1101 v& +b10001 x& +b1101 z& +b10001 |& +b1101 ~& +b10001 "' +b1101 $' +b10001 &' +b1101 (' +b10001 *' +b1101 ,' +b10001 .' +b1101 0' #20000000 -sCompare\x20(3) " +sCompare\x20(4) " b100101 ) b0 * b0 + @@ -3303,60 +4196,50 @@ b100101 S b0 T b0 U 0V -sS32\x20(3) X +b11 X b100101 _ b0 ` b0 a 0b sS32\x20(3) d -b11 e -b10110 f -b1001010 k +b100101 k b0 l b0 m 0n -sStore\x20(1) o -1p -b10110 q -b1001010 v -b0 w +sS32\x20(3) p +b0 q +b1001010 w b0 x -0y -1z -b10110 { -b1001010 "" -b0 #" -b0 $" -0%" -b1111101100001000010100000000000 .# -b10100000000000 2# -b1100 4# -b10100000000000 6# -b10100000000000 <# -b1100 ># -0@# -b10100000 A# -b1100 C# -b101 D# -b1100 F# -b101 I# -b1100 K# -b101 N# -b1100 P# -b101 S# -b1100 U# -b10100000000000 X# -b1100 Z# -b10100000000000 \# +b0 y +0z +sLoad\x20(0) { +b1001010 $" +b0 %" +b0 &" +0'" +b1001010 ." +b0 /" +b0 0" +01" +b1111101100001000010100000000000 F# +b10100000000000 J# +b1100 L# +b10100000000000 N# +b10100000000000 T# +b1100 V# +0X# +b10100000 Y# +b1100 [# +b101 \# b1100 ^# -b101 `# -b1100 b# -b101 e# -b1100 g# -b101 j# -b1100 l# -b101 o# -b1100 q# +b101 a# +b1100 c# +b101 f# +b1100 h# +b101 k# +b1100 m# +b10100000000000 p# +b1100 r# b10100000000000 t# b1100 v# b101 x# @@ -3367,35 +4250,39 @@ b101 $$ b1100 &$ b101 )$ b1100 +$ -b101 .$ +b10100000000000 .$ b1100 0$ -b101 3$ -b1100 5$ -b101 8$ -b1100 :$ -b101 =$ -b1100 ?$ -b101 B$ -b1100 D$ -b101 G$ -b1100 I$ -b101 L$ -b1100 N$ -b101 Q$ -b1100 S$ -b101 V$ -b1100 X$ -b101 [$ -b1100 ]$ -b101 `$ -b1100 b$ -b101 e$ -b1100 g$ +b101 2$ +b1100 4$ +b101 7$ +b1100 9$ +b101 <$ +b1100 >$ +b101 A$ +b1100 C$ +b101 F$ +b1100 H$ +b101 K$ +b1100 M$ +b101 P$ +b1100 R$ +b101 U$ +b1100 W$ +b101 Z$ +b1100 \$ +b101 _$ +b1100 a$ +b101 d$ +b1100 f$ +b101 i$ b1100 k$ -b1100 o$ -b1100 s$ -b1100 w$ -b1100 {$ +b101 n$ +b1100 p$ +b101 s$ +b1100 u$ +b101 x$ +b1100 z$ +b101 }$ b1100 !% b1100 %% b1100 )% @@ -3411,64 +4298,109 @@ b1100 M% b1100 Q% b1100 U% b1100 Y% -b10100000000000 \% -0^% -sS32\x20(3) `% -b101 b% -0d% -sS32\x20(3) f% -b10100000000000 h% -0j% -sU32\x20(2) l% -b101 n% -0p% -sU32\x20(2) r% -b101 t% +b1100 ]% +b1100 a% +b1100 e% +b1100 i% +b1100 m% +b1100 q% +b10100000000000 t% 0v% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% b101 z% +0|% +sS32\x20(3) ~% +b10100000000000 "& +0$& +sU32\x20(2) && +b101 (& +0*& +sU32\x20(2) ,& +b101 .& +00& +sCmpRBOne\x20(8) 2& +b101 4& +b10100000000000 8& +b1100 :& +b10100000000000 <& +b1100 >& +b10100000000000 @& +b1100 B& +b10100000000000 D& +b1100 F& +b10100000000000 H& +b1100 J& +b10100000000000 L& +b1100 N& +b101 P& +b1100 R& +b101 T& +b1100 V& +b101 X& +b1100 Z& +b101 \& +b1100 ^& +b101 `& +b1100 b& +b101 d& +b1100 f& +b101 h& +b1100 j& +b101 l& +b1100 n& +b101 p& +b1100 r& +b101 t& +b1100 v& +b101 x& +b1100 z& +b101 |& +b1100 ~& +b101 "' +b1100 $' +b101 &' +b1100 (' +b101 *' +b1100 ,' +b101 .' +b1100 0' #21000000 0/ 0> b1 L -sS64\x20(1) X +b1 X sS64\x20(1) d -b1111101101001000010100000000000 .# -b1101 4# -b1101 ># -b1101 C# -b1101 F# -b1101 K# -b1101 P# -b1101 U# -b1101 Z# +sS64\x20(1) p +b1111101101001000010100000000000 F# +b1101 L# +b1101 V# +b1101 [# b1101 ^# -b1101 b# -b1101 g# -b1101 l# -b1101 q# +b1101 c# +b1101 h# +b1101 m# +b1101 r# b1101 v# b1101 z# b1101 !$ b1101 &$ b1101 +$ b1101 0$ -b1101 5$ -b1101 :$ -b1101 ?$ -b1101 D$ -b1101 I$ -b1101 N$ -b1101 S$ -b1101 X$ -b1101 ]$ -b1101 b$ -b1101 g$ +b1101 4$ +b1101 9$ +b1101 >$ +b1101 C$ +b1101 H$ +b1101 M$ +b1101 R$ +b1101 W$ +b1101 \$ +b1101 a$ +b1101 f$ b1101 k$ -b1101 o$ -b1101 s$ -b1101 w$ -b1101 {$ +b1101 p$ +b1101 u$ +b1101 z$ b1101 !% b1101 %% b1101 )% @@ -3484,18 +4416,46 @@ b1101 M% b1101 Q% b1101 U% b1101 Y% -1^% -sS64\x20(1) `% -1d% -sS64\x20(1) f% -1j% -sU64\x20(0) l% -1p% -sU64\x20(0) r% +b1101 ]% +b1101 a% +b1101 e% +b1101 i% +b1101 m% +b1101 q% 1v% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% +1|% +sS64\x20(1) ~% +1$& +sU64\x20(0) && +1*& +sU64\x20(0) ,& +10& +sCmpRBTwo\x20(9) 2& +b1101 :& +b1101 >& +b1101 B& +b1101 F& +b1101 J& +b1101 N& +b1101 R& +b1101 V& +b1101 Z& +b1101 ^& +b1101 b& +b1101 f& +b1101 j& +b1101 n& +b1101 r& +b1101 v& +b1101 z& +b1101 ~& +b1101 $' +b1101 (' +b1101 ,' +b1101 0' #22000000 -sCompareI\x20(4) " +sCompareI\x20(5) " b0 ) b1001000110100 + 0. @@ -3509,51 +4469,39 @@ b1001000110100 I b10 L b0 S b1001000110100 U -sU32\x20(2) X +b10 X b0 _ b1001000110100 a sU32\x20(2) d -b0 e -b10111 f b0 k -b10010001101000 m -sLoad\x20(0) o -0p -b10111 q -b0 v -b10010001101000 x -0z -b10111 { -b0 "" -b10010001101000 $" -b101001100001000001001000110100 .# -b1001000110100 2# -b1100 4# -b1001000110100 6# -b1001000110100 <# -b1100 ># -b1001000 A# -b1100 C# -b10 D# -b1100 F# -b10 I# -b1100 K# -b10 N# -b1100 P# -b10 S# -b1100 U# -b1001000110100 X# -b1100 Z# -b1001000110100 \# +b1001000110100 m +sU32\x20(2) p +b1 q +b0 w +b10010001101000 y +sStore\x20(1) { +b0 $" +b10010001101000 &" +b0 ." +b10010001101000 0" +b101001100001000001001000110100 F# +b1001000110100 J# +b1100 L# +b1001000110100 N# +b1001000110100 T# +b1100 V# +b1001000 Y# +b1100 [# +b10 \# b1100 ^# -b10 `# -b1100 b# -b10 e# -b1100 g# -b10 j# -b1100 l# -b10 o# -b1100 q# +b10 a# +b1100 c# +b10 f# +b1100 h# +b10 k# +b1100 m# +b1001000110100 p# +b1100 r# b1001000110100 t# b1100 v# b10 x# @@ -3564,35 +4512,39 @@ b10 $$ b1100 &$ b10 )$ b1100 +$ -b10 .$ +b1001000110100 .$ b1100 0$ -b10 3$ -b1100 5$ -b10 8$ -b1100 :$ -b10 =$ -b1100 ?$ -b10 B$ -b1100 D$ -b10 G$ -b1100 I$ -b10 L$ -b1100 N$ -b10 Q$ -b1100 S$ -b10 V$ -b1100 X$ -b10 [$ -b1100 ]$ -b10 `$ -b1100 b$ -b10 e$ -b1100 g$ +b10 2$ +b1100 4$ +b10 7$ +b1100 9$ +b10 <$ +b1100 >$ +b10 A$ +b1100 C$ +b10 F$ +b1100 H$ +b10 K$ +b1100 M$ +b10 P$ +b1100 R$ +b10 U$ +b1100 W$ +b10 Z$ +b1100 \$ +b10 _$ +b1100 a$ +b10 d$ +b1100 f$ +b10 i$ b1100 k$ -b1100 o$ -b1100 s$ -b1100 w$ -b1100 {$ +b10 n$ +b1100 p$ +b10 s$ +b1100 u$ +b10 x$ +b1100 z$ +b10 }$ b1100 !% b1100 %% b1100 )% @@ -3608,22 +4560,72 @@ b1100 M% b1100 Q% b1100 U% b1100 Y% -b1001000110100 \% -0^% -sS32\x20(3) `% -b10 b% -0d% -sS32\x20(3) f% -b1001000110100 h% -0j% -sU32\x20(2) l% -b10 n% -0p% -sU32\x20(2) r% -b10 t% +b1100 ]% +b1100 a% +b1100 e% +b1100 i% +b1100 m% +b1100 q% +b1001000110100 t% 0v% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% b10 z% +0|% +sS32\x20(3) ~% +b1001000110100 "& +0$& +sU32\x20(2) && +b10 (& +0*& +sU32\x20(2) ,& +b10 .& +00& +sCmpRBOne\x20(8) 2& +b10 4& +b1001000110100 8& +b1100 :& +b1001000110100 <& +b1100 >& +b1001000110100 @& +b1100 B& +b1001000110100 D& +b1100 F& +b1001000110100 H& +b1100 J& +b1001000110100 L& +b1100 N& +b10 P& +b1100 R& +b10 T& +b1100 V& +b10 X& +b1100 Z& +b10 \& +b1100 ^& +b10 `& +b1100 b& +b10 d& +b1100 f& +b10 h& +b1100 j& +b10 l& +b1100 n& +b10 p& +b1100 r& +b10 t& +b1100 v& +b10 x& +b1100 z& +b10 |& +b1100 ~& +b10 "' +b1100 $' +b10 &' +b1100 (' +b10 *' +b1100 ,' +b10 .' +b1100 0' #23000000 b1000100110101011 + 0/ @@ -3632,41 +4634,33 @@ b1000100110101011 : b1000100110101011 I b0 L b1000100110101011 U -sU64\x20(0) X +b0 X b1000100110101011 a sU64\x20(0) d -b10001001101010110 m -b10001001101010110 x -b10001001101010110 $" -b101001101001001000100110101011 .# -b1000100110101011 2# -b1101 4# -b1000100110101011 6# -b1000100110101011 <# -b1101 ># -1@# -b1000100110 A# -b1101 C# -b10001 D# -b1101 F# -b10001 I# -b1101 K# -b10001 N# -b1101 P# -b10001 S# -b1101 U# -b1000100110101011 X# -b1101 Z# -b1000100110101011 \# +b1000100110101011 m +sU64\x20(0) p +b10001001101010110 y +b10001001101010110 &" +b10001001101010110 0" +b101001101001001000100110101011 F# +b1000100110101011 J# +b1101 L# +b1000100110101011 N# +b1000100110101011 T# +b1101 V# +1X# +b1000100110 Y# +b1101 [# +b10001 \# b1101 ^# -b10001 `# -b1101 b# -b10001 e# -b1101 g# -b10001 j# -b1101 l# -b10001 o# -b1101 q# +b10001 a# +b1101 c# +b10001 f# +b1101 h# +b10001 k# +b1101 m# +b1000100110101011 p# +b1101 r# b1000100110101011 t# b1101 v# b10001 x# @@ -3677,35 +4671,39 @@ b10001 $$ b1101 &$ b10001 )$ b1101 +$ -b10001 .$ +b1000100110101011 .$ b1101 0$ -b10001 3$ -b1101 5$ -b10001 8$ -b1101 :$ -b10001 =$ -b1101 ?$ -b10001 B$ -b1101 D$ -b10001 G$ -b1101 I$ -b10001 L$ -b1101 N$ -b10001 Q$ -b1101 S$ -b10001 V$ -b1101 X$ -b10001 [$ -b1101 ]$ -b10001 `$ -b1101 b$ -b10001 e$ -b1101 g$ +b10001 2$ +b1101 4$ +b10001 7$ +b1101 9$ +b10001 <$ +b1101 >$ +b10001 A$ +b1101 C$ +b10001 F$ +b1101 H$ +b10001 K$ +b1101 M$ +b10001 P$ +b1101 R$ +b10001 U$ +b1101 W$ +b10001 Z$ +b1101 \$ +b10001 _$ +b1101 a$ +b10001 d$ +b1101 f$ +b10001 i$ b1101 k$ -b1101 o$ -b1101 s$ -b1101 w$ -b1101 {$ +b10001 n$ +b1101 p$ +b10001 s$ +b1101 u$ +b10001 x$ +b1101 z$ +b10001 }$ b1101 !% b1101 %% b1101 )% @@ -3721,24 +4719,74 @@ b1101 M% b1101 Q% b1101 U% b1101 Y% -b1000100110101011 \% -1^% -sS64\x20(1) `% -b10001 b% -1d% -sS64\x20(1) f% -b1000100110101011 h% -1j% -sU64\x20(0) l% -b10001 n% -1p% -sU64\x20(0) r% -b10001 t% +b1101 ]% +b1101 a% +b1101 e% +b1101 i% +b1101 m% +b1101 q% +b1000100110101011 t% 1v% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% b10001 z% +1|% +sS64\x20(1) ~% +b1000100110101011 "& +1$& +sU64\x20(0) && +b10001 (& +1*& +sU64\x20(0) ,& +b10001 .& +10& +sCmpRBTwo\x20(9) 2& +b10001 4& +b1000100110101011 8& +b1101 :& +b1000100110101011 <& +b1101 >& +b1000100110101011 @& +b1101 B& +b1000100110101011 D& +b1101 F& +b1000100110101011 H& +b1101 J& +b1000100110101011 L& +b1101 N& +b10001 P& +b1101 R& +b10001 T& +b1101 V& +b10001 X& +b1101 Z& +b10001 \& +b1101 ^& +b10001 `& +b1101 b& +b10001 d& +b1101 f& +b10001 h& +b1101 j& +b10001 l& +b1101 n& +b10001 p& +b1101 r& +b10001 t& +b1101 v& +b10001 x& +b1101 z& +b10001 |& +b1101 ~& +b10001 "' +b1101 $' +b10001 &' +b1101 (' +b10001 *' +b1101 ,' +b10001 .' +b1101 0' #24000000 -sCompare\x20(3) " +sCompare\x20(4) " b100101 ) b0 + 1/ @@ -3750,52 +4798,40 @@ b0 I b10 L b100101 S b0 U -sU32\x20(2) X +b10 X b100101 _ b0 a sU32\x20(2) d -b11 e -b10110 f -b1001010 k +b100101 k b0 m -sStore\x20(1) o -1p -b10110 q -b1001010 v -b0 x -1z -b10110 { -b1001010 "" -b0 $" -b1111101100001000010100001000000 .# -b10100001000000 2# -b1100 4# -b10100001000000 6# -b10100001000000 <# -b1100 ># -0@# -b10100001 A# -b1100 C# -b101 D# -b1100 F# -b101 I# -b1100 K# -b101 N# -b1100 P# -b101 S# -b1100 U# -b10100001000000 X# -b1100 Z# -b10100001000000 \# +sU32\x20(2) p +b0 q +b1001010 w +b0 y +sLoad\x20(0) { +b1001010 $" +b0 &" +b1001010 ." +b0 0" +b1111101100001000010100001000000 F# +b10100001000000 J# +b1100 L# +b10100001000000 N# +b10100001000000 T# +b1100 V# +0X# +b10100001 Y# +b1100 [# +b101 \# b1100 ^# -b101 `# -b1100 b# -b101 e# -b1100 g# -b101 j# -b1100 l# -b101 o# -b1100 q# +b101 a# +b1100 c# +b101 f# +b1100 h# +b101 k# +b1100 m# +b10100001000000 p# +b1100 r# b10100001000000 t# b1100 v# b101 x# @@ -3806,35 +4842,39 @@ b101 $$ b1100 &$ b101 )$ b1100 +$ -b101 .$ +b10100001000000 .$ b1100 0$ -b101 3$ -b1100 5$ -b101 8$ -b1100 :$ -b101 =$ -b1100 ?$ -b101 B$ -b1100 D$ -b101 G$ -b1100 I$ -b101 L$ -b1100 N$ -b101 Q$ -b1100 S$ -b101 V$ -b1100 X$ -b101 [$ -b1100 ]$ -b101 `$ -b1100 b$ -b101 e$ -b1100 g$ +b101 2$ +b1100 4$ +b101 7$ +b1100 9$ +b101 <$ +b1100 >$ +b101 A$ +b1100 C$ +b101 F$ +b1100 H$ +b101 K$ +b1100 M$ +b101 P$ +b1100 R$ +b101 U$ +b1100 W$ +b101 Z$ +b1100 \$ +b101 _$ +b1100 a$ +b101 d$ +b1100 f$ +b101 i$ b1100 k$ -b1100 o$ -b1100 s$ -b1100 w$ -b1100 {$ +b101 n$ +b1100 p$ +b101 s$ +b1100 u$ +b101 x$ +b1100 z$ +b101 }$ b1100 !% b1100 %% b1100 )% @@ -3850,64 +4890,109 @@ b1100 M% b1100 Q% b1100 U% b1100 Y% -b10100001000000 \% -0^% -sS32\x20(3) `% -b101 b% -0d% -sS32\x20(3) f% -b10100001000000 h% -0j% -sU32\x20(2) l% -b101 n% -0p% -sU32\x20(2) r% -b101 t% +b1100 ]% +b1100 a% +b1100 e% +b1100 i% +b1100 m% +b1100 q% +b10100001000000 t% 0v% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% b101 z% +0|% +sS32\x20(3) ~% +b10100001000000 "& +0$& +sU32\x20(2) && +b101 (& +0*& +sU32\x20(2) ,& +b101 .& +00& +sCmpRBOne\x20(8) 2& +b101 4& +b10100001000000 8& +b1100 :& +b10100001000000 <& +b1100 >& +b10100001000000 @& +b1100 B& +b10100001000000 D& +b1100 F& +b10100001000000 H& +b1100 J& +b10100001000000 L& +b1100 N& +b101 P& +b1100 R& +b101 T& +b1100 V& +b101 X& +b1100 Z& +b101 \& +b1100 ^& +b101 `& +b1100 b& +b101 d& +b1100 f& +b101 h& +b1100 j& +b101 l& +b1100 n& +b101 p& +b1100 r& +b101 t& +b1100 v& +b101 x& +b1100 z& +b101 |& +b1100 ~& +b101 "' +b1100 $' +b101 &' +b1100 (' +b101 *' +b1100 ,' +b101 .' +b1100 0' #25000000 0/ 0> b0 L -sU64\x20(0) X +b0 X sU64\x20(0) d -b1111101101001000010100001000000 .# -b1101 4# -b1101 ># -b1101 C# -b1101 F# -b1101 K# -b1101 P# -b1101 U# -b1101 Z# +sU64\x20(0) p +b1111101101001000010100001000000 F# +b1101 L# +b1101 V# +b1101 [# b1101 ^# -b1101 b# -b1101 g# -b1101 l# -b1101 q# +b1101 c# +b1101 h# +b1101 m# +b1101 r# b1101 v# b1101 z# b1101 !$ b1101 &$ b1101 +$ b1101 0$ -b1101 5$ -b1101 :$ -b1101 ?$ -b1101 D$ -b1101 I$ -b1101 N$ -b1101 S$ -b1101 X$ -b1101 ]$ -b1101 b$ -b1101 g$ +b1101 4$ +b1101 9$ +b1101 >$ +b1101 C$ +b1101 H$ +b1101 M$ +b1101 R$ +b1101 W$ +b1101 \$ +b1101 a$ +b1101 f$ b1101 k$ -b1101 o$ -b1101 s$ -b1101 w$ -b1101 {$ +b1101 p$ +b1101 u$ +b1101 z$ b1101 !% b1101 %% b1101 )% @@ -3923,65 +5008,88 @@ b1101 M% b1101 Q% b1101 U% b1101 Y% -1^% -sS64\x20(1) `% -1d% -sS64\x20(1) f% -1j% -sU64\x20(0) l% -1p% -sU64\x20(0) r% +b1101 ]% +b1101 a% +b1101 e% +b1101 i% +b1101 m% +b1101 q% 1v% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% +1|% +sS64\x20(1) ~% +1$& +sU64\x20(0) && +1*& +sU64\x20(0) ,& +10& +sCmpRBTwo\x20(9) 2& +b1101 :& +b1101 >& +b1101 B& +b1101 F& +b1101 J& +b1101 N& +b1101 R& +b1101 V& +b1101 Z& +b1101 ^& +b1101 b& +b1101 f& +b1101 j& +b1101 n& +b1101 r& +b1101 v& +b1101 z& +b1101 ~& +b1101 $' +b1101 (' +b1101 ,' +b1101 0' #26000000 11 1@ b1000 L -sCmpRBOne\x20(8) X +b1000 X sCmpRBOne\x20(8) d -b1111101100001000010100110000000 .# -b10100110000000 2# -b1100 4# -b10100110000000 6# -b10100110000000 <# -b1100 ># -b10100110 A# -b1100 C# -b1100 F# -b1100 K# -b1100 P# -b1100 U# -b10100110000000 X# -b1100 Z# -b10100110000000 \# +sCmpRBOne\x20(8) p +b1111101100001000010100110000000 F# +b10100110000000 J# +b1100 L# +b10100110000000 N# +b10100110000000 T# +b1100 V# +b10100110 Y# +b1100 [# b1100 ^# -b1100 b# -b1100 g# -b1100 l# -b1100 q# +b1100 c# +b1100 h# +b1100 m# +b10100110000000 p# +b1100 r# b10100110000000 t# b1100 v# b1100 z# b1100 !$ b1100 &$ b1100 +$ +b10100110000000 .$ b1100 0$ -b1100 5$ -b1100 :$ -b1100 ?$ -b1100 D$ -b1100 I$ -b1100 N$ -b1100 S$ -b1100 X$ -b1100 ]$ -b1100 b$ -b1100 g$ +b1100 4$ +b1100 9$ +b1100 >$ +b1100 C$ +b1100 H$ +b1100 M$ +b1100 R$ +b1100 W$ +b1100 \$ +b1100 a$ +b1100 f$ b1100 k$ -b1100 o$ -b1100 s$ -b1100 w$ -b1100 {$ +b1100 p$ +b1100 u$ +b1100 z$ b1100 !% b1100 %% b1100 )% @@ -3997,60 +5105,89 @@ b1100 M% b1100 Q% b1100 U% b1100 Y% -b10100110000000 \% -0^% -sS32\x20(3) `% -0d% -sS32\x20(3) f% -b10100110000000 h% -0j% -sU32\x20(2) l% -0p% -sU32\x20(2) r% +b1100 ]% +b1100 a% +b1100 e% +b1100 i% +b1100 m% +b1100 q% +b10100110000000 t% 0v% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% +0|% +sS32\x20(3) ~% +b10100110000000 "& +0$& +sU32\x20(2) && +0*& +sU32\x20(2) ,& +00& +sCmpRBOne\x20(8) 2& +b10100110000000 8& +b1100 :& +b10100110000000 <& +b1100 >& +b10100110000000 @& +b1100 B& +b10100110000000 D& +b1100 F& +b10100110000000 H& +b1100 J& +b10100110000000 L& +b1100 N& +b1100 R& +b1100 V& +b1100 Z& +b1100 ^& +b1100 b& +b1100 f& +b1100 j& +b1100 n& +b1100 r& +b1100 v& +b1100 z& +b1100 ~& +b1100 $' +b1100 (' +b1100 ,' +b1100 0' #27000000 1. 1= b1001 L -sCmpRBTwo\x20(9) X +b1001 X sCmpRBTwo\x20(9) d -b1111101101001000010100110000000 .# -b1101 4# -b1101 ># -b1101 C# -b1101 F# -b1101 K# -b1101 P# -b1101 U# -b1101 Z# +sCmpRBTwo\x20(9) p +b1111101101001000010100110000000 F# +b1101 L# +b1101 V# +b1101 [# b1101 ^# -b1101 b# -b1101 g# -b1101 l# -b1101 q# +b1101 c# +b1101 h# +b1101 m# +b1101 r# b1101 v# b1101 z# b1101 !$ b1101 &$ b1101 +$ b1101 0$ -b1101 5$ -b1101 :$ -b1101 ?$ -b1101 D$ -b1101 I$ -b1101 N$ -b1101 S$ -b1101 X$ -b1101 ]$ -b1101 b$ -b1101 g$ +b1101 4$ +b1101 9$ +b1101 >$ +b1101 C$ +b1101 H$ +b1101 M$ +b1101 R$ +b1101 W$ +b1101 \$ +b1101 a$ +b1101 f$ b1101 k$ -b1101 o$ -b1101 s$ -b1101 w$ -b1101 {$ +b1101 p$ +b1101 u$ +b1101 z$ b1101 !% b1101 %% b1101 )% @@ -4066,67 +5203,90 @@ b1101 M% b1101 Q% b1101 U% b1101 Y% -1^% -sS64\x20(1) `% -1d% -sS64\x20(1) f% -1j% -sU64\x20(0) l% -1p% -sU64\x20(0) r% +b1101 ]% +b1101 a% +b1101 e% +b1101 i% +b1101 m% +b1101 q% 1v% -sCmpRBTwo\x20(9) x% +sS64\x20(1) x% +1|% +sS64\x20(1) ~% +1$& +sU64\x20(0) && +1*& +sU64\x20(0) ,& +10& +sCmpRBTwo\x20(9) 2& +b1101 :& +b1101 >& +b1101 B& +b1101 F& +b1101 J& +b1101 N& +b1101 R& +b1101 V& +b1101 Z& +b1101 ^& +b1101 b& +b1101 f& +b1101 j& +b1101 n& +b1101 r& +b1101 v& +b1101 z& +b1101 ~& +b1101 $' +b1101 (' +b1101 ,' +b1101 0' #28000000 0. 1/ 0= 1> b1010 L -sCmpEqB\x20(10) X +b1010 X sCmpEqB\x20(10) d -b1111101100001000010100111000000 .# -b10100111000000 2# -b1100 4# -b10100111000000 6# -b10100111000000 <# -b1100 ># -b10100111 A# -b1100 C# -b1100 F# -b1100 K# -b1100 P# -b1100 U# -b10100111000000 X# -b1100 Z# -b10100111000000 \# +sCmpEqB\x20(10) p +b1111101100001000010100111000000 F# +b10100111000000 J# +b1100 L# +b10100111000000 N# +b10100111000000 T# +b1100 V# +b10100111 Y# +b1100 [# b1100 ^# -b1100 b# -b1100 g# -b1100 l# -b1100 q# +b1100 c# +b1100 h# +b1100 m# +b10100111000000 p# +b1100 r# b10100111000000 t# b1100 v# b1100 z# b1100 !$ b1100 &$ b1100 +$ +b10100111000000 .$ b1100 0$ -b1100 5$ -b1100 :$ -b1100 ?$ -b1100 D$ -b1100 I$ -b1100 N$ -b1100 S$ -b1100 X$ -b1100 ]$ -b1100 b$ -b1100 g$ +b1100 4$ +b1100 9$ +b1100 >$ +b1100 C$ +b1100 H$ +b1100 M$ +b1100 R$ +b1100 W$ +b1100 \$ +b1100 a$ +b1100 f$ b1100 k$ -b1100 o$ -b1100 s$ -b1100 w$ -b1100 {$ +b1100 p$ +b1100 u$ +b1100 z$ b1100 !% b1100 %% b1100 )% @@ -4142,16 +5302,2321 @@ b1100 M% b1100 Q% b1100 U% b1100 Y% -b10100111000000 \% -0^% -sS32\x20(3) `% -0d% -sS32\x20(3) f% -b10100111000000 h% -0j% -sU32\x20(2) l% -0p% -sU32\x20(2) r% +b1100 ]% +b1100 a% +b1100 e% +b1100 i% +b1100 m% +b1100 q% +b10100111000000 t% 0v% -sCmpRBOne\x20(8) x% +sS32\x20(3) x% +0|% +sS32\x20(3) ~% +b10100111000000 "& +0$& +sU32\x20(2) && +0*& +sU32\x20(2) ,& +00& +sCmpRBOne\x20(8) 2& +b10100111000000 8& +b1100 :& +b10100111000000 <& +b1100 >& +b10100111000000 @& +b1100 B& +b10100111000000 D& +b1100 F& +b10100111000000 H& +b1100 J& +b10100111000000 L& +b1100 N& +b1100 R& +b1100 V& +b1100 Z& +b1100 ^& +b1100 b& +b1100 f& +b1100 j& +b1100 n& +b1100 r& +b1100 v& +b1100 z& +b1100 ~& +b1100 $' +b1100 (' +b1100 ,' +b1100 0' #29000000 +sLogicalI\x20(3) " +b100011 $ +sHdlSome\x20(1) ' +b0 ) +b1000100110101011 + +0/ +b100011 3 +sHdlSome\x20(1) 6 +b0 8 +b1000100110101011 : +0> +b100011 B +sHdlSome\x20(1) E +b0 G +b1000100110101011 I +b1000 L +b100011 N +sHdlSome\x20(1) Q +b0 S +b1000100110101011 U +b1000 X +b100011 Z +sHdlSome\x20(1) ] +b0 _ +b1000100110101011 a +sCmpRBOne\x20(8) d +b100011 f +sHdlSome\x20(1) i +b0 k +b1000100110101011 m +sCmpRBOne\x20(8) p +b11 q +b1000110 r +b1001001 v +b0 w +b10001001101010110 y +sStore\x20(1) { +1| +b1000110 } +b1001001 #" +b0 $" +b10001001101010110 &" +1(" +b1000110 )" +b1001001 -" +b0 ." +b10001001101010110 0" +b1110000100000111000100110101011 F# +b1000100110101011 J# +b11 K# +b100 L# +b100011 M# +b111000100110101011 N# +b1000100110101011 T# +b11 U# +b100 V# +b100011 W# +1X# +b1000100110 Y# +b11 Z# +b100 [# +b10001 \# +b11 ]# +b100 ^# +b10001 a# +b11 b# +b100 c# +b10001 f# +b11 g# +b100 h# +b10001 k# +b11 l# +b100 m# +b1000100110101011 p# +b11 q# +b100 r# +b1000100110101011 t# +b11 u# +b100 v# +b10001 x# +b11 y# +b100 z# +b10001 }# +b11 ~# +b100 !$ +b10001 $$ +b11 %$ +b100 &$ +b10001 )$ +b11 *$ +b100 +$ +b1000100110101011 .$ +b11 /$ +b100 0$ +b10001 2$ +b11 3$ +b100 4$ +b10001 7$ +b11 8$ +b100 9$ +b10001 <$ +b11 =$ +b100 >$ +b10001 A$ +b11 B$ +b100 C$ +b10001 F$ +b11 G$ +b100 H$ +b10001 K$ +b11 L$ +b100 M$ +b10001 P$ +b11 Q$ +b100 R$ +b10001 U$ +b11 V$ +b100 W$ +b10001 Z$ +b11 [$ +b100 \$ +b10001 _$ +b11 `$ +b100 a$ +b10001 d$ +b11 e$ +b100 f$ +b10001 i$ +b11 j$ +b100 k$ +b10001 n$ +b11 o$ +b100 p$ +b10001 s$ +b11 t$ +b100 u$ +b10001 x$ +b11 y$ +b100 z$ +b10001 }$ +b11 ~$ +b100 !% +b11 $% +b100 %% +b11 (% +b100 )% +b11 ,% +b100 -% +b11 0% +b100 1% +b11 4% +b100 5% +b11 8% +b100 9% +b11 <% +b100 =% +b11 @% +b100 A% +b11 D% +b100 E% +b11 H% +b100 I% +b11 L% +b100 M% +b11 P% +b100 Q% +b11 T% +b100 U% +b11 X% +b100 Y% +b11 \% +b100 ]% +b11 `% +b100 a% +b11 d% +b100 e% +b11 h% +b100 i% +b11 l% +b100 m% +b11 p% +b100 q% +b1000100110101011 t% +b11 u% +b1 w% +b1001 y% +b10001 z% +b11 {% +b1 }% +b1001 !& +b1000100110101011 "& +b11 #& +b1 %& +b1001 '& +b10001 (& +b11 )& +b1 +& +b1001 -& +b10001 .& +b11 /& +b1 1& +b1001 3& +b10001 4& +b11 5& +b1 6& +b1001 7& +b1000100110101011 8& +b11 9& +b100 :& +b1000100110101011 <& +b11 =& +b100 >& +b1000100110101011 @& +b11 A& +b100 B& +b1000100110101011 D& +b11 E& +b100 F& +b1000100110101011 H& +b11 I& +b100 J& +b1000100110101011 L& +b11 M& +b100 N& +b10001 P& +b11 Q& +b100 R& +b10001 T& +b11 U& +b100 V& +b10001 X& +b11 Y& +b100 Z& +b10001 \& +b11 ]& +b100 ^& +b10001 `& +b11 a& +b100 b& +b10001 d& +b11 e& +b100 f& +b10001 h& +b11 i& +b100 j& +b10001 l& +b11 m& +b100 n& +b10001 p& +b11 q& +b100 r& +b10001 t& +b11 u& +b100 v& +b10001 x& +b11 y& +b100 z& +b10001 |& +b11 }& +b100 ~& +b10001 "' +b11 #' +b100 $' +b10001 &' +b11 '' +b100 (' +b10001 *' +b11 +' +b100 ,' +b10001 .' +b11 /' +b100 0' +#30000000 +b1000100 * +b1101010110000000000000000 + +b1000100 9 +b1101010110000000000000000 : +b1000100 H +b1101010110000000000000000 I +b1000100 T +b1101010110000000000000000 U +b1000100 ` +b1101010110000000000000000 a +b1000100 l +b1101010110000000000000000 m +b10001000 x +b1010101100000000000000000 y +1z +b10001000 %" +b1010101100000000000000000 &" +1'" +b10001000 /" +b1010101100000000000000000 0" +11" +b1110100100000111000100110101011 F# +#31000000 +sHdlNone\x20(0) ' +b0 * +b1000100110101011 + +1/ +10 +sHdlNone\x20(0) 6 +b0 9 +b1000100110101011 : +1> +1? +sHdlNone\x20(0) E +b0 H +b1000100110101011 I +b1110 L +sHdlNone\x20(0) Q +b0 T +b1000100110101011 U +b1110 X +sHdlNone\x20(0) ] +b0 ` +b1000100110101011 a +s\x20(14) d +sHdlNone\x20(0) i +b0 l +b1000100110101011 m +s\x20(14) p +b1001000 v +b0 x +b10001001101010110 y +0z +b1001000 #" +b0 %" +b10001001101010110 &" +0'" +b1001000 -" +b0 /" +b10001001101010110 0" +01" +b1100000100000111000100110101011 F# +#32000000 +b100000 $ +b100000 ( +b0 + +b100000 3 +b100000 7 +b0 : +b100000 B +b100000 F +b0 I +b100000 N +b100000 R +b0 U +b100000 Z +b100000 ^ +b0 a +b100000 f +b100000 j +b0 m +b1000000 r +b1000000 v +b0 y +b1000000 } +b1000000 #" +b0 &" +b1000000 )" +b1000000 -" +b0 0" +b0 C# +b1100000000000000000000000000000 F# +b0 J# +b0 K# +b0 L# +b0 M# +b0 N# +b0 T# +b0 U# +b0 V# +b0 W# +0X# +b0 Y# +b0 Z# +b0 [# +b0 \# +b0 ]# +b0 ^# +b0 a# +b0 b# +b0 c# +b0 f# +b0 g# +b0 h# +b0 k# +b0 l# +b0 m# +b0 p# +b0 q# +b0 r# +b0 t# +b0 u# +b0 v# +b0 x# +b0 y# +b0 z# +b0 }# +b0 ~# +b0 !$ +b0 $$ +b0 %$ +b0 &$ +b0 )$ +b0 *$ +b0 +$ +b0 .$ +b0 /$ +b0 0$ +b0 2$ +b0 3$ +b0 4$ +b0 7$ +b0 8$ +b0 9$ +b0 <$ +b0 =$ +b0 >$ +b0 A$ +b0 B$ +b0 C$ +b0 F$ +b0 G$ +b0 H$ +b0 K$ +b0 L$ +b0 M$ +b0 P$ +b0 Q$ +b0 R$ +b0 U$ +b0 V$ +b0 W$ +b0 Z$ +b0 [$ +b0 \$ +b0 _$ +b0 `$ +b0 a$ +b0 d$ +b0 e$ +b0 f$ +b0 i$ +b0 j$ +b0 k$ +b0 n$ +b0 o$ +b0 p$ +b0 s$ +b0 t$ +b0 u$ +b0 x$ +b0 y$ +b0 z$ +b0 }$ +b0 ~$ +b0 !% +b0 $% +b0 %% +b0 (% +b0 )% +b0 ,% +b0 -% +b0 0% +b0 1% +b0 4% +b0 5% +b0 8% +b0 9% +b0 <% +b0 =% +b0 @% +b0 A% +b0 D% +b0 E% +b0 H% +b0 I% +b0 L% +b0 M% +b0 P% +b0 Q% +b0 T% +b0 U% +b0 X% +b0 Y% +b0 \% +b0 ]% +b0 `% +b0 a% +b0 d% +b0 e% +b0 h% +b0 i% +b0 l% +b0 m% +b0 p% +b0 q% +b0 t% +b0 u% +b0 w% +b11111111 y% +b0 z% +b0 {% +b0 }% +b11111111 !& +b0 "& +b0 #& +b0 %& +b11111111 '& +b0 (& +b0 )& +b0 +& +b11111111 -& +b0 .& +b0 /& +b0 1& +b11111111 3& +b0 4& +b0 5& +b0 6& +b11111111 7& +b0 8& +b0 9& +b0 :& +b0 <& +b0 =& +b0 >& +b0 @& +b0 A& +b0 B& +b0 D& +b0 E& +b0 F& +b0 H& +b0 I& +b0 J& +b0 L& +b0 M& +b0 N& +b0 P& +b0 Q& +b0 R& +b0 T& +b0 U& +b0 V& +b0 X& +b0 Y& +b0 Z& +b0 \& +b0 ]& +b0 ^& +b0 `& +b0 a& +b0 b& +b0 d& +b0 e& +b0 f& +b0 h& +b0 i& +b0 j& +b0 l& +b0 m& +b0 n& +b0 p& +b0 q& +b0 r& +b0 t& +b0 u& +b0 v& +b0 x& +b0 y& +b0 z& +b0 |& +b0 }& +b0 ~& +b0 "' +b0 #' +b0 $' +b0 &' +b0 '' +b0 (' +b0 *' +b0 +' +b0 ,' +b0 .' +b0 /' +b0 0' +#33000000 +b100011 $ +b100100 ( +b1000100 * +b1101010110000000000000000 + +b100011 3 +b100100 7 +b1000100 9 +b1101010110000000000000000 : +b100011 B +b100100 F +b1000100 H +b1101010110000000000000000 I +b100011 N +b100100 R +b1000100 T +b1101010110000000000000000 U +b100011 Z +b100100 ^ +b1000100 ` +b1101010110000000000000000 a +b100011 f +b100100 j +b1000100 l +b1101010110000000000000000 m +b1000110 r +b1001000 v +b10001000 x +b1010101100000000000000000 y +1z +b1000110 } +b1001000 #" +b10001000 %" +b1010101100000000000000000 &" +1'" +b1000110 )" +b1001000 -" +b10001000 /" +b1010101100000000000000000 0" +11" +b1 C# +b1100100100000111000100110101011 F# +b1000100110101011 J# +b11 K# +b100 L# +b100011 M# +b111000100110101011 N# +b1000100110101011 T# +b11 U# +b100 V# +b100011 W# +1X# +b1000100110 Y# +b11 Z# +b100 [# +b10001 \# +b11 ]# +b100 ^# +b10001 a# +b11 b# +b100 c# +b10001 f# +b11 g# +b100 h# +b10001 k# +b11 l# +b100 m# +b1000100110101011 p# +b11 q# +b100 r# +b1000100110101011 t# +b11 u# +b100 v# +b10001 x# +b11 y# +b100 z# +b10001 }# +b11 ~# +b100 !$ +b10001 $$ +b11 %$ +b100 &$ +b10001 )$ +b11 *$ +b100 +$ +b1000100110101011 .$ +b11 /$ +b100 0$ +b10001 2$ +b11 3$ +b100 4$ +b10001 7$ +b11 8$ +b100 9$ +b10001 <$ +b11 =$ +b100 >$ +b10001 A$ +b11 B$ +b100 C$ +b10001 F$ +b11 G$ +b100 H$ +b10001 K$ +b11 L$ +b100 M$ +b10001 P$ +b11 Q$ +b100 R$ +b10001 U$ +b11 V$ +b100 W$ +b10001 Z$ +b11 [$ +b100 \$ +b10001 _$ +b11 `$ +b100 a$ +b10001 d$ +b11 e$ +b100 f$ +b10001 i$ +b11 j$ +b100 k$ +b10001 n$ +b11 o$ +b100 p$ +b10001 s$ +b11 t$ +b100 u$ +b10001 x$ +b11 y$ +b100 z$ +b10001 }$ +b11 ~$ +b100 !% +b11 $% +b100 %% +b11 (% +b100 )% +b11 ,% +b100 -% +b11 0% +b100 1% +b11 4% +b100 5% +b11 8% +b100 9% +b11 <% +b100 =% +b11 @% +b100 A% +b11 D% +b100 E% +b11 H% +b100 I% +b11 L% +b100 M% +b11 P% +b100 Q% +b11 T% +b100 U% +b11 X% +b100 Y% +b11 \% +b100 ]% +b11 `% +b100 a% +b11 d% +b100 e% +b11 h% +b100 i% +b11 l% +b100 m% +b11 p% +b100 q% +b1000100110101011 t% +b11 u% +b1 w% +b1001 y% +b10001 z% +b11 {% +b1 }% +b1001 !& +b1000100110101011 "& +b11 #& +b1 %& +b1001 '& +b10001 (& +b11 )& +b1 +& +b1001 -& +b10001 .& +b11 /& +b1 1& +b1001 3& +b10001 4& +b11 5& +b1 6& +b1001 7& +b1000100110101011 8& +b11 9& +b100 :& +b1000100110101011 <& +b11 =& +b100 >& +b1000100110101011 @& +b11 A& +b100 B& +b1000100110101011 D& +b11 E& +b100 F& +b1000100110101011 H& +b11 I& +b100 J& +b1000100110101011 L& +b11 M& +b100 N& +b10001 P& +b11 Q& +b100 R& +b10001 T& +b11 U& +b100 V& +b10001 X& +b11 Y& +b100 Z& +b10001 \& +b11 ]& +b100 ^& +b10001 `& +b11 a& +b100 b& +b10001 d& +b11 e& +b100 f& +b10001 h& +b11 i& +b100 j& +b10001 l& +b11 m& +b100 n& +b10001 p& +b11 q& +b100 r& +b10001 t& +b11 u& +b100 v& +b10001 x& +b11 y& +b100 z& +b10001 |& +b11 }& +b100 ~& +b10001 "' +b11 #' +b100 $' +b10001 &' +b11 '' +b100 (' +b10001 *' +b11 +' +b100 ,' +b10001 .' +b11 /' +b100 0' +#34000000 +b0 * +b1000100110101011 + +01 +b0 9 +b1000100110101011 : +0@ +b0 H +b1000100110101011 I +b110 L +b0 T +b1000100110101011 U +b110 X +b0 ` +b1000100110101011 a +sU8\x20(6) d +b0 l +b1000100110101011 m +sU8\x20(6) p +b0 x +b10001001101010110 y +0z +b0 %" +b10001001101010110 &" +0'" +b0 /" +b10001001101010110 0" +01" +b1101000100000111000100110101011 F# +#35000000 +b100000 $ +b100000 ( +b0 + +b100000 3 +b100000 7 +b0 : +b100000 B +b100000 F +b0 I +b100000 N +b100000 R +b0 U +b100000 Z +b100000 ^ +b0 a +b100000 f +b100000 j +b0 m +b1000000 r +b1000000 v +b0 y +b1000000 } +b1000000 #" +b0 &" +b1000000 )" +b1000000 -" +b0 0" +b1101000000000000000000000000000 F# +b0 J# +b0 K# +b0 L# +b0 M# +b0 N# +b0 T# +b0 U# +b0 V# +b0 W# +0X# +b0 Y# +b0 Z# +b0 [# +b0 \# +b0 ]# +b0 ^# +b0 a# +b0 b# +b0 c# +b0 f# +b0 g# +b0 h# +b0 k# +b0 l# +b0 m# +b0 p# +b0 q# +b0 r# +b0 t# +b0 u# +b0 v# +b0 x# +b0 y# +b0 z# +b0 }# +b0 ~# +b0 !$ +b0 $$ +b0 %$ +b0 &$ +b0 )$ +b0 *$ +b0 +$ +b0 .$ +b0 /$ +b0 0$ +b0 2$ +b0 3$ +b0 4$ +b0 7$ +b0 8$ +b0 9$ +b0 <$ +b0 =$ +b0 >$ +b0 A$ +b0 B$ +b0 C$ +b0 F$ +b0 G$ +b0 H$ +b0 K$ +b0 L$ +b0 M$ +b0 P$ +b0 Q$ +b0 R$ +b0 U$ +b0 V$ +b0 W$ +b0 Z$ +b0 [$ +b0 \$ +b0 _$ +b0 `$ +b0 a$ +b0 d$ +b0 e$ +b0 f$ +b0 i$ +b0 j$ +b0 k$ +b0 n$ +b0 o$ +b0 p$ +b0 s$ +b0 t$ +b0 u$ +b0 x$ +b0 y$ +b0 z$ +b0 }$ +b0 ~$ +b0 !% +b0 $% +b0 %% +b0 (% +b0 )% +b0 ,% +b0 -% +b0 0% +b0 1% +b0 4% +b0 5% +b0 8% +b0 9% +b0 <% +b0 =% +b0 @% +b0 A% +b0 D% +b0 E% +b0 H% +b0 I% +b0 L% +b0 M% +b0 P% +b0 Q% +b0 T% +b0 U% +b0 X% +b0 Y% +b0 \% +b0 ]% +b0 `% +b0 a% +b0 d% +b0 e% +b0 h% +b0 i% +b0 l% +b0 m% +b0 p% +b0 q% +b0 t% +b0 u% +b0 w% +b11111111 y% +b0 z% +b0 {% +b0 }% +b11111111 !& +b0 "& +b0 #& +b0 %& +b11111111 '& +b0 (& +b0 )& +b0 +& +b11111111 -& +b0 .& +b0 /& +b0 1& +b11111111 3& +b0 4& +b0 5& +b0 6& +b11111111 7& +b0 8& +b0 9& +b0 :& +b0 <& +b0 =& +b0 >& +b0 @& +b0 A& +b0 B& +b0 D& +b0 E& +b0 F& +b0 H& +b0 I& +b0 J& +b0 L& +b0 M& +b0 N& +b0 P& +b0 Q& +b0 R& +b0 T& +b0 U& +b0 V& +b0 X& +b0 Y& +b0 Z& +b0 \& +b0 ]& +b0 ^& +b0 `& +b0 a& +b0 b& +b0 d& +b0 e& +b0 f& +b0 h& +b0 i& +b0 j& +b0 l& +b0 m& +b0 n& +b0 p& +b0 q& +b0 r& +b0 t& +b0 u& +b0 v& +b0 x& +b0 y& +b0 z& +b0 |& +b0 }& +b0 ~& +b0 "' +b0 #' +b0 $' +b0 &' +b0 '' +b0 (' +b0 *' +b0 +' +b0 ,' +b0 .' +b0 /' +b0 0' +#36000000 +b100011 $ +b100100 ( +b1000100 * +b1101010110000000000000000 + +b100011 3 +b100100 7 +b1000100 9 +b1101010110000000000000000 : +b100011 B +b100100 F +b1000100 H +b1101010110000000000000000 I +b100011 N +b100100 R +b1000100 T +b1101010110000000000000000 U +b100011 Z +b100100 ^ +b1000100 ` +b1101010110000000000000000 a +b100011 f +b100100 j +b1000100 l +b1101010110000000000000000 m +b1000110 r +b1001000 v +b10001000 x +b1010101100000000000000000 y +1z +b1000110 } +b1001000 #" +b10001000 %" +b1010101100000000000000000 &" +1'" +b1000110 )" +b1001000 -" +b10001000 /" +b1010101100000000000000000 0" +11" +b1101100100000111000100110101011 F# +b1000100110101011 J# +b11 K# +b100 L# +b100011 M# +b111000100110101011 N# +b1000100110101011 T# +b11 U# +b100 V# +b100011 W# +1X# +b1000100110 Y# +b11 Z# +b100 [# +b10001 \# +b11 ]# +b100 ^# +b10001 a# +b11 b# +b100 c# +b10001 f# +b11 g# +b100 h# +b10001 k# +b11 l# +b100 m# +b1000100110101011 p# +b11 q# +b100 r# +b1000100110101011 t# +b11 u# +b100 v# +b10001 x# +b11 y# +b100 z# +b10001 }# +b11 ~# +b100 !$ +b10001 $$ +b11 %$ +b100 &$ +b10001 )$ +b11 *$ +b100 +$ +b1000100110101011 .$ +b11 /$ +b100 0$ +b10001 2$ +b11 3$ +b100 4$ +b10001 7$ +b11 8$ +b100 9$ +b10001 <$ +b11 =$ +b100 >$ +b10001 A$ +b11 B$ +b100 C$ +b10001 F$ +b11 G$ +b100 H$ +b10001 K$ +b11 L$ +b100 M$ +b10001 P$ +b11 Q$ +b100 R$ +b10001 U$ +b11 V$ +b100 W$ +b10001 Z$ +b11 [$ +b100 \$ +b10001 _$ +b11 `$ +b100 a$ +b10001 d$ +b11 e$ +b100 f$ +b10001 i$ +b11 j$ +b100 k$ +b10001 n$ +b11 o$ +b100 p$ +b10001 s$ +b11 t$ +b100 u$ +b10001 x$ +b11 y$ +b100 z$ +b10001 }$ +b11 ~$ +b100 !% +b11 $% +b100 %% +b11 (% +b100 )% +b11 ,% +b100 -% +b11 0% +b100 1% +b11 4% +b100 5% +b11 8% +b100 9% +b11 <% +b100 =% +b11 @% +b100 A% +b11 D% +b100 E% +b11 H% +b100 I% +b11 L% +b100 M% +b11 P% +b100 Q% +b11 T% +b100 U% +b11 X% +b100 Y% +b11 \% +b100 ]% +b11 `% +b100 a% +b11 d% +b100 e% +b11 h% +b100 i% +b11 l% +b100 m% +b11 p% +b100 q% +b1000100110101011 t% +b11 u% +b1 w% +b1001 y% +b10001 z% +b11 {% +b1 }% +b1001 !& +b1000100110101011 "& +b11 #& +b1 %& +b1001 '& +b10001 (& +b11 )& +b1 +& +b1001 -& +b10001 .& +b11 /& +b1 1& +b1001 3& +b10001 4& +b11 5& +b1 6& +b1001 7& +b1000100110101011 8& +b11 9& +b100 :& +b1000100110101011 <& +b11 =& +b100 >& +b1000100110101011 @& +b11 A& +b100 B& +b1000100110101011 D& +b11 E& +b100 F& +b1000100110101011 H& +b11 I& +b100 J& +b1000100110101011 L& +b11 M& +b100 N& +b10001 P& +b11 Q& +b100 R& +b10001 T& +b11 U& +b100 V& +b10001 X& +b11 Y& +b100 Z& +b10001 \& +b11 ]& +b100 ^& +b10001 `& +b11 a& +b100 b& +b10001 d& +b11 e& +b100 f& +b10001 h& +b11 i& +b100 j& +b10001 l& +b11 m& +b100 n& +b10001 p& +b11 q& +b100 r& +b10001 t& +b11 u& +b100 v& +b10001 x& +b11 y& +b100 z& +b10001 |& +b11 }& +b100 ~& +b10001 "' +b11 #' +b100 $' +b10001 &' +b11 '' +b100 (' +b10001 *' +b11 +' +b100 ,' +b10001 .' +b11 /' +b100 0' +#37000000 +sLogical\x20(2) " +b100101 ) +b0 * +b0 + +0/ +00 +11 +b100101 8 +b0 9 +b0 : +0> +0? +1@ +b100101 G +b0 H +b0 I +b1000 L +b100101 S +b0 T +b0 U +b1000 X +b100101 _ +b0 ` +b0 a +sCmpRBOne\x20(8) d +b100101 k +b0 l +b0 m +sCmpRBOne\x20(8) p +b10 q +b1001010 w +b0 x +b0 y +0z +sLoad\x20(0) { +b1001010 $" +b0 %" +b0 &" +0'" +b1001010 ." +b0 /" +b0 0" +01" +b1111100100000110010100000111000 F# +b10100000111000 J# +b110010100000111000 N# +b10100000111000 T# +0X# +b10100000 Y# +b101 \# +b101 a# +b101 f# +b101 k# +b10100000111000 p# +b10100000111000 t# +b101 x# +b101 }# +b101 $$ +b101 )$ +b10100000111000 .$ +b101 2$ +b101 7$ +b101 <$ +b101 A$ +b101 F$ +b101 K$ +b101 P$ +b101 U$ +b101 Z$ +b101 _$ +b101 d$ +b101 i$ +b101 n$ +b101 s$ +b101 x$ +b101 }$ +b10100000111000 t% +b101 z% +b10100000111000 "& +b101 (& +b101 .& +b101 4& +b10100000111000 8& +b10100000111000 <& +b10100000111000 @& +b10100000111000 D& +b10100000111000 H& +b10100000111000 L& +b101 P& +b101 T& +b101 X& +b101 \& +b101 `& +b101 d& +b101 h& +b101 l& +b101 p& +b101 t& +b101 x& +b101 |& +b101 "' +b101 &' +b101 *' +b101 .' +#38000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010100000111001 F# +b10100000111001 J# +b110010100000111001 N# +b10100000111001 T# +1X# +b10100000111001 p# +b10100000111001 t# +b10100000111001 .$ +b10100000111001 t% +b10100000111001 "& +b10100000111001 8& +b10100000111001 <& +b10100000111001 @& +b10100000111001 D& +b10100000111001 H& +b10100000111001 L& +#39000000 +sHdlNone\x20(0) ' +1/ +10 +01 +sHdlNone\x20(0) 6 +1> +1? +0@ +sHdlNone\x20(0) E +b110 L +sHdlNone\x20(0) Q +b110 X +sHdlNone\x20(0) ] +sU8\x20(6) d +sHdlNone\x20(0) i +sU8\x20(6) p +b1001000 v +b1001000 #" +b1001000 -" +b1111100100000110010101001111000 F# +b10101001111000 J# +b110010101001111000 N# +b10101001111000 T# +0X# +b10101001 Y# +b10101001111000 p# +b10101001111000 t# +b10101001111000 .$ +b10101001111000 t% +b10101001111000 "& +b10101001111000 8& +b10101001111000 <& +b10101001111000 @& +b10101001111000 D& +b10101001111000 H& +b10101001111000 L& +#40000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010101001111001 F# +b10101001111001 J# +b110010101001111001 N# +b10101001111001 T# +1X# +b10101001111001 p# +b10101001111001 t# +b10101001111001 .$ +b10101001111001 t% +b10101001111001 "& +b10101001111001 8& +b10101001111001 <& +b10101001111001 @& +b10101001111001 D& +b10101001111001 H& +b10101001111001 L& +#41000000 +sHdlNone\x20(0) ' +1. +sHdlNone\x20(0) 6 +1= +sHdlNone\x20(0) E +b111 L +sHdlNone\x20(0) Q +b111 X +sHdlNone\x20(0) ] +sS8\x20(7) d +sHdlNone\x20(0) i +sS8\x20(7) p +b1001000 v +b1001000 #" +b1001000 -" +b1111100100000110010101110111000 F# +b10101110111000 J# +b110010101110111000 N# +b10101110111000 T# +0X# +b10101110 Y# +b10101110111000 p# +b10101110111000 t# +b10101110111000 .$ +b10101110111000 t% +b10101110111000 "& +b10101110111000 8& +b10101110111000 <& +b10101110111000 @& +b10101110111000 D& +b10101110111000 H& +b10101110111000 L& +#42000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010101110111001 F# +b10101110111001 J# +b110010101110111001 N# +b10101110111001 T# +1X# +b10101110111001 p# +b10101110111001 t# +b10101110111001 .$ +b10101110111001 t% +b10101110111001 "& +b10101110111001 8& +b10101110111001 <& +b10101110111001 @& +b10101110111001 D& +b10101110111001 H& +b10101110111001 L& +#43000000 +sHdlNone\x20(0) ' +0. +11 +sHdlNone\x20(0) 6 +0= +1@ +sHdlNone\x20(0) E +b1110 L +sHdlNone\x20(0) Q +b1110 X +sHdlNone\x20(0) ] +s\x20(14) d +sHdlNone\x20(0) i +s\x20(14) p +b1001000 v +b1001000 #" +b1001000 -" +b1111100100000110010101101111000 F# +b10101101111000 J# +b110010101101111000 N# +b10101101111000 T# +0X# +b10101101 Y# +b10101101111000 p# +b10101101111000 t# +b10101101111000 .$ +b10101101111000 t% +b10101101111000 "& +b10101101111000 8& +b10101101111000 <& +b10101101111000 @& +b10101101111000 D& +b10101101111000 H& +b10101101111000 L& +#44000000 +sTransformedMove\x20(1) ! +sCompare\x20(4) " +b10001 $ +b10010 ( +b0 ) +0/ +00 +01 +b10001 3 +b10010 7 +b0 8 +0> +0? +0@ +b10001 B +b10010 F +b0 G +b0 L +b10001 N +b10010 R +b0 S +b0 X +b10001 Z +b10010 ^ +b0 _ +sU64\x20(0) d +b10001 f +b10010 j +b0 k +sU64\x20(0) p +b0 q +b100011 r +b100100 v +b0 w +0| +b100011 } +b100100 #" +b0 $" +0(" +b100011 )" +b100100 -" +b0 ." +b1111100100000110010001101111000 F# +b10001101111000 J# +b110010001101111000 N# +b10001101111000 T# +b10001101 Y# +b100 \# +b100 a# +b100 f# +b100 k# +b10001101111000 p# +b10001101111000 t# +b100 x# +b100 }# +b100 $$ +b100 )$ +b10001101111000 .$ +b100 2$ +b100 7$ +b100 <$ +b100 A$ +b100 F$ +b100 K$ +b100 P$ +b100 U$ +b100 Z$ +b100 _$ +b100 d$ +b100 i$ +b100 n$ +b100 s$ +b100 x$ +b100 }$ +b10001101111000 t% +b100 z% +b10001101111000 "& +b100 (& +b100 .& +b100 4& +b10001101111000 8& +b10001101111000 <& +b10001101111000 @& +b10001101111000 D& +b10001101111000 H& +b10001101111000 L& +b100 P& +b100 T& +b100 X& +b100 \& +b100 `& +b100 d& +b100 h& +b100 l& +b100 p& +b100 t& +b100 x& +b100 |& +b100 "' +b100 &' +b100 *' +b100 .' +#45000000 +sAluBranch\x20(0) ! +sLogical\x20(2) " +b100011 $ +sHdlSome\x20(1) ' +b100100 ( +b100101 ) +1/ +10 +11 +b100011 3 +sHdlSome\x20(1) 6 +b100100 7 +b100101 8 +1> +1? +1@ +b100011 B +sHdlSome\x20(1) E +b100100 F +b100101 G +b1110 L +b100011 N +sHdlSome\x20(1) Q +b100100 R +b100101 S +b1110 X +b100011 Z +sHdlSome\x20(1) ] +b100100 ^ +b100101 _ +s\x20(14) d +b100011 f +sHdlSome\x20(1) i +b100100 j +b100101 k +s\x20(14) p +b10 q +b1000110 r +b1001001 v +b1001010 w +1| +b1000110 } +b1001001 #" +b1001010 $" +1(" +b1000110 )" +b1001001 -" +b1001010 ." +b1111100100000110010101101111001 F# +b10101101111001 J# +b110010101101111001 N# +b10101101111001 T# +1X# +b10101101 Y# +b101 \# +b101 a# +b101 f# +b101 k# +b10101101111001 p# +b10101101111001 t# +b101 x# +b101 }# +b101 $$ +b101 )$ +b10101101111001 .$ +b101 2$ +b101 7$ +b101 <$ +b101 A$ +b101 F$ +b101 K$ +b101 P$ +b101 U$ +b101 Z$ +b101 _$ +b101 d$ +b101 i$ +b101 n$ +b101 s$ +b101 x$ +b101 }$ +b10101101111001 t% +b101 z% +b10101101111001 "& +b101 (& +b101 .& +b101 4& +b10101101111001 8& +b10101101111001 <& +b10101101111001 @& +b10101101111001 D& +b10101101111001 H& +b10101101111001 L& +b101 P& +b101 T& +b101 X& +b101 \& +b101 `& +b101 d& +b101 h& +b101 l& +b101 p& +b101 t& +b101 x& +b101 |& +b101 "' +b101 &' +b101 *' +b101 .' +#46000000 +b100100 ) +b100100 8 +b100100 G +b100100 S +b100100 _ +b100100 k +b1001000 w +b1001000 $" +b1001000 ." +b1111100100000110010001101111001 F# +b10001101111001 J# +b110010001101111001 N# +b10001101111001 T# +b10001101 Y# +b100 \# +b100 a# +b100 f# +b100 k# +b10001101111001 p# +b10001101111001 t# +b100 x# +b100 }# +b100 $$ +b100 )$ +b10001101111001 .$ +b100 2$ +b100 7$ +b100 <$ +b100 A$ +b100 F$ +b100 K$ +b100 P$ +b100 U$ +b100 Z$ +b100 _$ +b100 d$ +b100 i$ +b100 n$ +b100 s$ +b100 x$ +b100 }$ +b10001101111001 t% +b100 z% +b10001101111001 "& +b100 (& +b100 .& +b100 4& +b10001101111001 8& +b10001101111001 <& +b10001101111001 @& +b10001101111001 D& +b10001101111001 H& +b10001101111001 L& +b100 P& +b100 T& +b100 X& +b100 \& +b100 `& +b100 d& +b100 h& +b100 l& +b100 p& +b100 t& +b100 x& +b100 |& +b100 "' +b100 &' +b100 *' +b100 .' +#47000000 +sHdlNone\x20(0) ' +b100101 ) +1. +00 +sHdlNone\x20(0) 6 +b100101 8 +1= +0? +sHdlNone\x20(0) E +b100101 G +b1011 L +sHdlNone\x20(0) Q +b100101 S +b1011 X +sHdlNone\x20(0) ] +b100101 _ +s\x20(11) d +sHdlNone\x20(0) i +b100101 k +s\x20(11) p +b1001000 v +b1001010 w +b1001000 #" +b1001010 $" +b1001000 -" +b1001010 ." +b1111100100000110010101100111000 F# +b10101100111000 J# +b110010101100111000 N# +b10101100111000 T# +0X# +b10101100 Y# +b101 \# +b101 a# +b101 f# +b101 k# +b10101100111000 p# +b10101100111000 t# +b101 x# +b101 }# +b101 $$ +b101 )$ +b10101100111000 .$ +b101 2$ +b101 7$ +b101 <$ +b101 A$ +b101 F$ +b101 K$ +b101 P$ +b101 U$ +b101 Z$ +b101 _$ +b101 d$ +b101 i$ +b101 n$ +b101 s$ +b101 x$ +b101 }$ +b10101100111000 t% +b101 z% +b10101100111000 "& +b101 (& +b101 .& +b101 4& +b10101100111000 8& +b10101100111000 <& +b10101100111000 @& +b10101100111000 D& +b10101100111000 H& +b10101100111000 L& +b101 P& +b101 T& +b101 X& +b101 \& +b101 `& +b101 d& +b101 h& +b101 l& +b101 p& +b101 t& +b101 x& +b101 |& +b101 "' +b101 &' +b101 *' +b101 .' +#48000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010101100111001 F# +b10101100111001 J# +b110010101100111001 N# +b10101100111001 T# +1X# +b10101100111001 p# +b10101100111001 t# +b10101100111001 .$ +b10101100111001 t% +b10101100111001 "& +b10101100111001 8& +b10101100111001 <& +b10101100111001 @& +b10101100111001 D& +b10101100111001 H& +b10101100111001 L& +#49000000 +sHdlNone\x20(0) ' +0/ +01 +sHdlNone\x20(0) 6 +0> +0@ +sHdlNone\x20(0) E +b1 L +sHdlNone\x20(0) Q +b1 X +sHdlNone\x20(0) ] +sS64\x20(1) d +sHdlNone\x20(0) i +sS64\x20(1) p +b1001000 v +b1001000 #" +b1001000 -" +b1111100100000110010100011111000 F# +b10100011111000 J# +b110010100011111000 N# +b10100011111000 T# +0X# +b10100011 Y# +b10100011111000 p# +b10100011111000 t# +b10100011111000 .$ +b10100011111000 t% +b10100011111000 "& +b10100011111000 8& +b10100011111000 <& +b10100011111000 @& +b10100011111000 D& +b10100011111000 H& +b10100011111000 L& +#50000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010100011111001 F# +b10100011111001 J# +b110010100011111001 N# +b10100011111001 T# +1X# +b10100011111001 p# +b10100011111001 t# +b10100011111001 .$ +b10100011111001 t% +b10100011111001 "& +b10100011111001 8& +b10100011111001 <& +b10100011111001 @& +b10100011111001 D& +b10100011111001 H& +b10100011111001 L& +#51000000 +sHdlNone\x20(0) ' +11 +sHdlNone\x20(0) 6 +1@ +sHdlNone\x20(0) E +b1001 L +sHdlNone\x20(0) Q +b1001 X +sHdlNone\x20(0) ] +sCmpRBTwo\x20(9) d +sHdlNone\x20(0) i +sCmpRBTwo\x20(9) p +b1001000 v +b1001000 #" +b1001000 -" +b1111100100000110010101000111000 F# +b10101000111000 J# +b110010101000111000 N# +b10101000111000 T# +0X# +b10101000 Y# +b10101000111000 p# +b10101000111000 t# +b10101000111000 .$ +b10101000111000 t% +b10101000111000 "& +b10101000111000 8& +b10101000111000 <& +b10101000111000 @& +b10101000111000 D& +b10101000111000 H& +b10101000111000 L& +#52000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010101000111001 F# +b10101000111001 J# +b110010101000111001 N# +b10101000111001 T# +1X# +b10101000111001 p# +b10101000111001 t# +b10101000111001 .$ +b10101000111001 t% +b10101000111001 "& +b10101000111001 8& +b10101000111001 <& +b10101000111001 @& +b10101000111001 D& +b10101000111001 H& +b10101000111001 L& +#53000000 +sHdlNone\x20(0) ' +0. +1/ +01 +sHdlNone\x20(0) 6 +0= +1> +0@ +sHdlNone\x20(0) E +b10 L +sHdlNone\x20(0) Q +b10 X +sHdlNone\x20(0) ] +sU32\x20(2) d +sHdlNone\x20(0) i +sU32\x20(2) p +b1001000 v +b1001000 #" +b1001000 -" +b1111100100000110010100001111000 F# +b10100001111000 J# +b110010100001111000 N# +b10100001111000 T# +0X# +b10100001 Y# +b10100001111000 p# +b10100001111000 t# +b10100001111000 .$ +b10100001111000 t% +b10100001111000 "& +b10100001111000 8& +b10100001111000 <& +b10100001111000 @& +b10100001111000 D& +b10100001111000 H& +b10100001111000 L& +#54000000 +sHdlSome\x20(1) ' +sHdlSome\x20(1) 6 +sHdlSome\x20(1) E +sHdlSome\x20(1) Q +sHdlSome\x20(1) ] +sHdlSome\x20(1) i +b1001001 v +b1001001 #" +b1001001 -" +b1111100100000110010100001111001 F# +b10100001111001 J# +b110010100001111001 N# +b10100001111001 T# +1X# +b10100001111001 p# +b10100001111001 t# +b10100001111001 .$ +b10100001111001 t% +b10100001111001 "& +b10100001111001 8& +b10100001111001 <& +b10100001111001 @& +b10100001111001 D& +b10100001111001 H& +b10100001111001 L& +#55000000 diff --git a/crates/cpu/tests/simple_power_isa_decoder.rs b/crates/cpu/tests/simple_power_isa_decoder.rs index 84196d0..aa73b3a 100644 --- a/crates/cpu/tests/simple_power_isa_decoder.rs +++ b/crates/cpu/tests/simple_power_isa_decoder.rs @@ -4,7 +4,8 @@ use cpu::{ decoder::simple_power_isa::decode_one_insn, instruction::{ - AddSubMOp, CompareMOp, CompareMode, MOp, MOpDestReg, MOpRegNum, OutputIntegerMode, + AddSubMOp, CompareMOp, CompareMode, LogicalMOp, MOp, MOpDestReg, MOpRegNum, MoveRegMOp, + OutputIntegerMode, }, util::array_vec::ArrayVec, }; @@ -52,6 +53,19 @@ impl fmt::Debug for TestCase { fn test_cases() -> Vec { let mut retval = Vec::new(); #[track_caller] + fn insn_empty(mnemonic: &'static str, first_input: u32, second_input: Option) -> TestCase { + let zero_mop = UInt::new_dyn(MOp.canonical().bit_width()) + .zero() + .cast_bits_to(MOp); + TestCase { + mnemonic, + first_input, + second_input, + output: ArrayVec::new_sim(ArrayVec[MOp][ConstUsize], &zero_mop), + loc: std::panic::Location::caller(), + } + } + #[track_caller] fn insn_single( mnemonic: &'static str, first_input: u32, @@ -68,7 +82,7 @@ fn test_cases() -> Vec { mnemonic, first_input, second_input, - output: single_storage.clone(), + output: single_storage, loc: std::panic::Location::caller(), } } @@ -663,6 +677,221 @@ fn test_cases() -> Vec { CompareMode::CmpEqB(), ), )); + macro_rules! insn_logic_i { + ( + $mnemonic:literal $dest:literal, $src:literal, $imm:literal; + $encoding:literal; + |[$a:ident, $b:ident]| $lut_fn:expr; + ) => { + retval.push(insn_single( + concat!( + $mnemonic, + " ", + stringify!($dest), + ", ", + stringify!($src), + ", ", + stringify!($imm) + ), + $encoding, + None, + LogicalMOp::logical_i( + MOpDestReg::new_sim( + &[MOpRegNum::power_isa_gpr_reg_num($dest)], + if $mnemonic.contains('.') { + &[MOpRegNum::POWER_ISA_CR_0_REG_NUM] + } else { + &[] + }, + ), + [MOpRegNum::power_isa_gpr_reg( + ($src as u8).cast_to_static::>().to_expr(), + ) + .value], + (($imm as u32) << if $mnemonic.contains('s') { 16 } else { 0 }) + .cast_to_static::>(), + OutputIntegerMode.Full64(), + LogicalMOp::lut_from_fn(|[$a, $b]| $lut_fn), + ), + )); + }; + } + insn_logic_i! { + "andi." 3, 4, 0x89ab; + 0x708389ab; + |[a, b]| a & b; + } + insn_logic_i! { + "andis." 3, 4, 0x89ab; + 0x748389ab; + |[a, b]| a & b; + } + insn_logic_i! { + "ori" 3, 4, 0x89ab; + 0x608389ab; + |[a, b]| a | b; + } + // ensure nop decodes to zero instructions + retval.push(insn_empty("ori 0, 0, 0", 0x60000000, None)); + insn_logic_i! { + "oris" 3, 4, 0x89ab; + 0x648389ab; + |[a, b]| a | b; + } + insn_logic_i! { + "xori" 3, 4, 0x89ab; + 0x688389ab; + |[a, b]| a ^ b; + } + insn_logic_i! { + "xori" 0, 0, 0; // ensure xnop actually decodes to a normal ALU instruction + 0x68000000; + |[a, b]| a ^ b; + } + insn_logic_i! { + "xoris" 3, 4, 0x89ab; + 0x6c8389ab; + |[a, b]| a ^ b; + } + macro_rules! insn_logic { + ( + $mnemonic:literal $dest:literal, $src0:literal, $src1:literal; + $encoding:literal; + |[$a:ident, $b:ident]| $lut_fn:expr; + ) => { + retval.push(insn_single( + concat!( + $mnemonic, + " ", + stringify!($dest), + ", ", + stringify!($src0), + ", ", + stringify!($src1) + ), + $encoding, + None, + LogicalMOp::logical( + MOpDestReg::new_sim( + &[MOpRegNum::power_isa_gpr_reg_num($dest)], + if $mnemonic.contains('.') { + &[MOpRegNum::POWER_ISA_CR_0_REG_NUM] + } else { + &[] + }, + ), + [ + MOpRegNum::power_isa_gpr_reg( + ($src0 as u8).cast_to_static::>().to_expr(), + ) + .value, + MOpRegNum::power_isa_gpr_reg( + ($src1 as u8).cast_to_static::>().to_expr(), + ) + .value, + ], + 0.cast_to_static::>(), + OutputIntegerMode.Full64(), + LogicalMOp::lut_from_fn(|[$a, $b]| $lut_fn), + ), + )); + }; + } + insn_logic! { + "and" 3, 4, 5; + 0x7c832838; + |[a, b]| a & b; + } + insn_logic! { + "and." 3, 4, 5; + 0x7c832839; + |[a, b]| a & b; + } + insn_logic! { + "xor" 3, 4, 5; + 0x7c832a78; + |[a, b]| a ^ b; + } + insn_logic! { + "xor." 3, 4, 5; + 0x7c832a79; + |[a, b]| a ^ b; + } + insn_logic! { + "nand" 3, 4, 5; + 0x7c832bb8; + |[a, b]| !(a & b); + } + insn_logic! { + "nand." 3, 4, 5; + 0x7c832bb9; + |[a, b]| !(a & b); + } + insn_logic! { + "or" 3, 4, 5; + 0x7c832b78; + |[a, b]| a | b; + } + retval.push(insn_single( + "or 3, 4, 4", // mr 3, 4 + 0x7c832378, + None, + MoveRegMOp::move_reg( + MOpDestReg::new_sim(&[MOpRegNum::power_isa_gpr_reg_num(3)], &[]), + [MOpRegNum::power_isa_gpr_reg(4_hdl_u5).value], + 0.cast_to_static::>(), + ), + )); + insn_logic! { + "or." 3, 4, 5; + 0x7c832b79; + |[a, b]| a | b; + } + insn_logic! { + "or." 3, 4, 4; // mr. 3, 4 + 0x7c832379; + |[a, b]| a | b; + } + insn_logic! { + "orc" 3, 4, 5; + 0x7c832b38; + |[a, b]| a | !b; + } + insn_logic! { + "orc." 3, 4, 5; + 0x7c832b39; + |[a, b]| a | !b; + } + insn_logic! { + "nor" 3, 4, 5; + 0x7c8328f8; + |[a, b]| !(a | b); + } + insn_logic! { + "nor." 3, 4, 5; + 0x7c8328f9; + |[a, b]| !(a | b); + } + insn_logic! { + "eqv" 3, 4, 5; + 0x7c832a38; + |[a, b]| a == b; + } + insn_logic! { + "eqv." 3, 4, 5; + 0x7c832a39; + |[a, b]| a == b; + } + insn_logic! { + "andc" 3, 4, 5; + 0x7c832878; + |[a, b]| a & !b; + } + insn_logic! { + "andc." 3, 4, 5; + 0x7c832879; + |[a, b]| a & !b; + } retval }