diff --git a/sway-core/src/asm_generation/fuel/allocated_abstract_instruction_set.rs b/sway-core/src/asm_generation/fuel/allocated_abstract_instruction_set.rs index cfdd99f2dc4..b6a6699f28f 100644 --- a/sway-core/src/asm_generation/fuel/allocated_abstract_instruction_set.rs +++ b/sway-core/src/asm_generation/fuel/allocated_abstract_instruction_set.rs @@ -284,7 +284,7 @@ impl AllocatedAbstractInstructionSet { comment, }), Either::Right(org_op) => match org_op { - ControlFlowOp::Jump { to, type_ } => { + ControlFlowOp::Jump { to, ty: type_ } => { let target_offset = label_offsets.get(&to).unwrap().offs; let ops = if matches!(type_, JumpType::Call) { compile_call( @@ -414,7 +414,7 @@ impl AllocatedAbstractInstructionSet { Either::Left(_) => 1, // Worst case for jump is 2 opcodes, and 3 for calls - Either::Right(Jump { ref type_, .. }) => match type_ { + Either::Right(Jump { ty: ref type_, .. }) => match type_ { JumpType::Unconditional => 2, JumpType::NotZero(_) => 2, JumpType::Call => 3, @@ -554,13 +554,13 @@ impl AllocatedAbstractInstructionSet { for jump in jumps { let offs = labelled_blocks.get(&jump.to).unwrap().offs; let rel_offset = offs.abs_diff(jump.offset); - let Either::Right(ControlFlowOp::Jump { ref type_, .. }) = self.ops[jump.op_idx].opcode + let Either::Right(ControlFlowOp::Jump { ref ty, .. }) = self.ops[jump.op_idx].opcode else { unreachable!("Jump info should only be collected for jumps"); }; // Relative self jumps need a NOOP inserted before it so that we can jump to the NOOP. let is_self_jump = rel_offset == 0; - match type_ { + match ty { JumpType::Unconditional => { // Unconditional jumps have 18-bit immidate offset if is_self_jump || rel_offset > consts::EIGHTEEN_BITS { diff --git a/sway-core/src/asm_generation/fuel/fuel_asm_builder.rs b/sway-core/src/asm_generation/fuel/fuel_asm_builder.rs index d8b2fbb5be8..65c638ef961 100644 --- a/sway-core/src/asm_generation/fuel/fuel_asm_builder.rs +++ b/sway-core/src/asm_generation/fuel/fuel_asm_builder.rs @@ -160,7 +160,7 @@ impl AsmBuilder for FuelAsmBuilder<'_, '_> { self.before_entries.push(Op { opcode: Either::Right(crate::asm_lang::ControlFlowOp::Jump { to: *decode_fn_label, - type_: JumpType::Call, + ty: JumpType::Call, }), comment: format!("decode configurable {name}"), owning_span: None, diff --git a/sway-core/src/asm_generation/fuel/functions.rs b/sway-core/src/asm_generation/fuel/functions.rs index 455dc3c887c..608c188056d 100644 --- a/sway-core/src/asm_generation/fuel/functions.rs +++ b/sway-core/src/asm_generation/fuel/functions.rs @@ -188,7 +188,7 @@ impl FuelAsmBuilder<'_, '_> { self.cur_bytecode.push(Op { opcode: Either::Right(OrganizationalOp::Jump { to: fn_label, - type_: JumpType::Call, + ty: JumpType::Call, }), comment: format!("[call: {fn_name}]: call function"), owning_span: None, diff --git a/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs b/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs index 41ddfe8191f..873e2ee67ed 100644 --- a/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs +++ b/sway-core/src/asm_generation/fuel/optimizations/constant_propagate.rs @@ -181,7 +181,7 @@ impl AbstractInstructionSet { // - "JMP LABEL" if reg is not zero if let Either::Right(ControlFlowOp::Jump { to, - type_: JumpType::NotZero(reg), + ty: JumpType::NotZero(reg), }) = &mut op.opcode { if let Some(con) = known_values.resolve(reg).and_then(|r| r.value()) { @@ -198,7 +198,7 @@ impl AbstractInstructionSet { } else { op.opcode = Either::Right(ControlFlowOp::Jump { to: *to, - type_: JumpType::Unconditional, + ty: JumpType::Unconditional, }); } } @@ -474,7 +474,7 @@ impl AbstractInstructionSet { ResetKnown::Defs } } - ControlFlowOp::Jump { type_, .. } => match type_ { + ControlFlowOp::Jump { ty: type_, .. } => match type_ { JumpType::Call => ResetKnown::All, _ => ResetKnown::Defs, }, diff --git a/sway-core/src/asm_generation/fuel/optimizations/misc.rs b/sway-core/src/asm_generation/fuel/optimizations/misc.rs index f3229407cbf..77d7227b1b8 100644 --- a/sway-core/src/asm_generation/fuel/optimizations/misc.rs +++ b/sway-core/src/asm_generation/fuel/optimizations/misc.rs @@ -19,7 +19,7 @@ impl AbstractInstructionSet { ( Either::Right(OrganizationalOp::Jump { to: dst_label, - type_: JumpType::Unconditional | JumpType::NotZero(_), + ty: JumpType::Unconditional | JumpType::NotZero(_), .. }), Either::Right(OrganizationalOp::Label(label)), diff --git a/sway-core/src/asm_generation/fuel/optimizations/reachability.rs b/sway-core/src/asm_generation/fuel/optimizations/reachability.rs index 807208dd877..a35f1601c60 100644 --- a/sway-core/src/asm_generation/fuel/optimizations/reachability.rs +++ b/sway-core/src/asm_generation/fuel/optimizations/reachability.rs @@ -27,8 +27,8 @@ impl AbstractInstructionSet { let mut op_def = op.def_registers(); op_def.append(&mut op.def_const_registers()); - if let Either::Right(ControlFlowOp::Jump { type_, .. }) = &op.opcode { - if !matches!(type_, JumpType::Call) { + if let Either::Right(ControlFlowOp::Jump { ty, .. }) = &op.opcode { + if !matches!(ty, JumpType::Call) { // Block boundary. Start afresh. cur_live.clone_from(liveness.get(ix).expect("Incorrect liveness info")); // Add use(op) to cur_live. diff --git a/sway-core/src/asm_generation/fuel/programs/abstract.rs b/sway-core/src/asm_generation/fuel/programs/abstract.rs index ec9844b5a9f..c30a65d062e 100644 --- a/sway-core/src/asm_generation/fuel/programs/abstract.rs +++ b/sway-core/src/asm_generation/fuel/programs/abstract.rs @@ -1,3 +1,5 @@ +use std::collections::HashMap; + use super::{AllocatedProgram, FnName, SelectorOpt}; use crate::{ asm_generation::{ @@ -121,13 +123,18 @@ impl AbstractProgram { .chain(self.non_entries); // Optimize and then verify abstract functions. - let abstract_functions = all_functions - .map(|instruction_set| instruction_set.optimize(&self.data_section, opt_level)) + let mut optimized_fns = all_functions + .map(|f| f.optimize(&self.data_section, opt_level)) .map(AbstractInstructionSet::verify) .collect::, CompileError>>()?; + // Run only in release, as this increases compilation time considerably. + if matches!(opt_level, OptLevel::Opt1) { + Self::optimize_fn_order(&mut optimized_fns); + } + // Allocate the registers for each function. - let allocated_functions = abstract_functions + let allocated_functions = optimized_fns .into_iter() .map(|abstract_instruction_set| { let allocated = abstract_instruction_set.allocate_registers()?; @@ -213,7 +220,7 @@ impl AbstractProgram { AllocatedAbstractOp { opcode: Either::Right(ControlFlowOp::Jump { to: label, - type_: JumpType::Unconditional, + ty: JumpType::Unconditional, }), comment: String::new(), owning_span: None, @@ -266,7 +273,7 @@ impl AbstractProgram { asm.ops.push(AllocatedAbstractOp { opcode: Either::Right(ControlFlowOp::Jump { to: entry.label, - type_: JumpType::Unconditional, + ty: JumpType::Unconditional, }), comment: "jump to ABI function selector".into(), owning_span: None, @@ -352,7 +359,7 @@ impl AbstractProgram { // If the comparison result is _not_ equal to 0, then it was indeed equal. opcode: Either::Right(ControlFlowOp::Jump { to: entry.label, - type_: JumpType::NotZero(CMP_RESULT_REG), + ty: JumpType::NotZero(CMP_RESULT_REG), }), comment: "[function selection]: jump to selected contract function".into(), owning_span: None, @@ -363,7 +370,7 @@ impl AbstractProgram { asm.ops.push(AllocatedAbstractOp { opcode: Either::Right(ControlFlowOp::Jump { to: fallback_fn, - type_: JumpType::Call, + ty: JumpType::Call, }), comment: "[function selection]: call contract fallback function".into(), owning_span: None, @@ -398,6 +405,87 @@ impl AbstractProgram { owning_span: None, }); } + + fn optimize_fn_order(fns: &mut Vec) { + const MAX_ITERS: usize = 128; + const DEPTH: usize = 10; + + if fns.len() < 2 { + return; + } + + let mut layout = FnLayout::new(fns); + + 'improve: for _ in 0..MAX_ITERS { + // Index 0 never moves, so the entry is always original fn 0. + debug_assert_eq!(layout.order[0], 0); + + let mut found_improvement = false; + + let before_weights = layout.call_weights(None); + let before_weights_sum = before_weights.values().sum::(); + + let mut back_call_count = layout.back_call_count(); + let candidates = &mut back_call_count[1..]; + let depth = DEPTH.min(candidates.len()); + + 'candidates: for k in 0..depth { + let (_, (candidate_fn, candidate_count), _) = + candidates.select_nth_unstable_by(k, |a, b| b.1.cmp(&a.1)); + if *candidate_count == 0 { + break 'candidates; + } + + let candidate_fn = *candidate_fn; + let candidate_slot = layout.slot_of(candidate_fn); + + // Try candidate in every possible position + let mut best_slot = candidate_slot; + let mut best_weights_sum = before_weights_sum; + for slot_being_tried in 1..layout.len() { + let candidate_weights = + layout.call_weights(Some((candidate_slot, slot_being_tried))); + let candidate_sum = candidate_weights.values().sum(); + + // Only accept a position where no individual call gets worse + // and at least one improves + let no_call_worse = candidate_weights.iter().all(|(call_key, &new_weight)| { + let old_weight = before_weights.get(call_key).copied().unwrap_or(0); + new_weight <= old_weight + }); + let some_call_better = + candidate_weights.iter().any(|(call_key, &new_weight)| { + let old_weight = before_weights.get(call_key).copied().unwrap_or(0); + new_weight < old_weight + }); + let acceptable = no_call_worse && some_call_better; + if acceptable && candidate_sum < best_weights_sum { + best_weights_sum = candidate_sum; + best_slot = slot_being_tried; + } + } + + // If an improvement was found, accept it + if best_weights_sum < before_weights_sum { + layout.relocate(candidate_slot, best_slot); + + // Uncomment this to log improvements + // eprintln!( + // "optimize_fn_order iter {iter}: call cost {before_weights_sum} -> {best_count} (target fn {target_fi} had {target_count} back calls)" + // ); + + found_improvement = true; + break 'candidates; + } + } + + if !found_improvement { + break 'improve; + } + } + + layout.apply(); + } } impl std::fmt::Display for AbstractProgram { @@ -419,3 +507,264 @@ impl std::fmt::Display for AbstractProgram { write!(f, "{}", self.data_section) } } + +struct CallSite { + caller: usize, + offset: u64, + callee: usize, +} + +struct FnLayout<'a> { + fns: &'a mut Vec, + fn_sizes: Vec, + call_sites: Vec, + /// Keyed by (caller fn_idx, call-site offset within the caller). + call_loop_depth: HashMap<(usize, u64), usize>, + order: Vec, +} + +impl<'a> FnLayout<'a> { + /// Entry label of a function. + fn label_of(f: &AbstractInstructionSet) -> Label { + f.ops + .iter() + .find_map(|op| match &op.opcode { + Either::Right(ControlFlowOp::Label(l)) => Some(*l), + _ => None, + }) + .unwrap_or_else(|| { + panic!( + "function {:?} has no Label in its ops (len={})", + f.function, + f.ops.len() + ) + }) + } + + fn new(fns: &'a mut Vec) -> Self { + let n = fns.len(); + + let fn_labels = fns.iter().map(Self::label_of).collect::>(); + let fn_sizes = fns + .iter() + .map(|f| f.ops.iter().map(|o| o.op_size()).sum()) + .collect(); + let label_to_fn_idx: HashMap = fn_labels + .iter() + .enumerate() + .map(|(idx, &lab)| (lab, idx)) + .collect(); + + let mut call_sites = Vec::with_capacity(n); + for (caller, f) in fns.iter().enumerate() { + let mut site_off: u64 = 0; + for op in f.ops.iter() { + if let Either::Right(ControlFlowOp::Jump { + to, + ty: JumpType::Call, + }) = &op.opcode + { + if let Some(&callee) = label_to_fn_idx.get(to) { + call_sites.push(CallSite { + caller, + offset: site_off, + callee, + }); + } + } + site_off += op.op_size(); + } + } + + // use to boost call inside of loops + let mut call_loop_depth = HashMap::new(); + for (idx, f) in fns.iter().enumerate() { + // Index each label in this function to its op position. + let mut label_idx = HashMap::new(); + for (i, op) in f.ops.iter().enumerate() { + if let Either::Right(ControlFlowOp::Label(l)) = &op.opcode { + label_idx.insert(l.0, i); + } + } + + // Find loops + // Header: The single entry point of a loop that dominates all other nodes within it. + // Latch: A node inside the loop that has a jump to the header. + let mut loops = HashMap::new(); + for (latch, op) in f.ops.iter().enumerate() { + if let Either::Right(ControlFlowOp::Jump { to, ty }) = &op.opcode { + match ty { + JumpType::Unconditional | JumpType::NotZero(_) => { + if let Some(&header) = label_idx.get(&to.0) { + if header < latch { + let entry = loops.entry(to.0).or_insert((header, latch)); + if latch > entry.1 { + entry.1 = latch; + } + } + } + } + JumpType::Call => {} + } + } + } + + if loops.is_empty() { + continue; + } + + let loops = loops.values().cloned().collect::>(); + + // Calculate each call site loop depth + // The more deep a call is, more boost it will gain + let mut site_offset: u64 = 0; + for (i, op) in f.ops.iter().enumerate() { + if let Either::Right(ControlFlowOp::Jump { + ty: JumpType::Call, .. + }) = &op.opcode + { + let depth = loops + .iter() + .filter(|(header, latch)| *header <= i && i <= *latch) + .count(); + if depth > 0 { + call_loop_depth.insert((idx, site_offset), depth); + } + } + site_offset += op.op_size(); + } + } + + Self { + fns, + fn_sizes, + call_sites, + call_loop_depth, + order: (0..n).collect(), + } + } + + fn len(&self) -> usize { + self.order.len() + } + + fn slot_of(&self, fn_idx: usize) -> usize { + self.order + .iter() + .position(|&f| f == fn_idx) + .expect("fn_idx present in order") + } + + /// `(fn_idx, back-call count)` for every function in the current layout. + fn back_call_count(&self) -> Vec<(usize, usize)> { + let n = self.fn_sizes.len(); + let mut slot_of = vec![0usize; n]; + + for (slot, &fi) in self.order.iter().enumerate() { + slot_of[fi] = slot; + } + + let mut counts = (0..n).map(|fi| (fi, 0)).collect::>(); + for site in &self.call_sites { + if slot_of[site.callee] < slot_of[site.caller] { + counts[site.callee].1 += 1; + } + } + + counts + } + + /// `virtual_move` means (original position, new position). + /// Returns per-call weights keyed by `(caller fn_idx, call-site offset)`. + fn call_weights(&self, virtual_move: Option<(usize, usize)>) -> HashMap<(usize, u64), usize> { + const LOOP_BOOST: usize = 4; + + // fn_idx -> offset of the function's start, in instruction units. + let n = self.fn_sizes.len(); + let mut fn_to_off = vec![0u64; n]; + let mut offset: u64 = 0; + match virtual_move { + None => { + for &fi in &self.order { + fn_to_off[fi] = offset; + offset += self.fn_sizes[fi]; + } + } + Some((from, to)) => { + let fi = self.order[from]; + for slot in 0..n { + let f = if slot == to { + fi + } else { + // Compacted index in the post-remove sequence. + let c = if slot < to { slot } else { slot - 1 }; + self.order[if c < from { c } else { c + 1 }] + }; + fn_to_off[f] = offset; + offset += self.fn_sizes[f]; + } + } + } + + let mut weights = HashMap::new(); + for site in &self.call_sites { + let func_start = fn_to_off[site.caller]; + let target_off = fn_to_off[site.callee]; + let call_site = func_start + site.offset; + + let jmp_factor = jmp_weight_factor(target_off, call_site); + let depth = self + .call_loop_depth + .get(&(site.caller, site.offset)) + .copied() + .unwrap_or(0); + + weights.insert( + (site.caller, site.offset), + jmp_factor * LOOP_BOOST.pow(depth as u32), + ); + } + weights + } + + fn relocate(&mut self, from: usize, to: usize) { + let fi = self.order.remove(from); + self.order.insert(to, fi); + } + + fn apply(self) { + let mut tmp: Vec<_> = std::mem::take(self.fns).into_iter().map(Some).collect(); + *self.fns = self + .order + .into_iter() + .map(|i| tmp[i].take().unwrap()) + .collect(); + } +} + +fn jmp_weight_factor(target_off: u64, call_site: u64) -> usize { + const FWD_NEAR: usize = 1; + const BACK_NEAR: usize = 2; + const MEDIUM: usize = 3; + const FAR: usize = 6; + + if target_off >= call_site { + let delta = target_off - call_site; + if delta <= compiler_constants::TWELVE_BITS { + FWD_NEAR + } else if delta.saturating_sub(1).saturating_mul(4) <= compiler_constants::EIGHTEEN_BITS { + MEDIUM + } else { + FAR + } + } else { + let delta = call_site - target_off; + if delta.saturating_mul(4) <= compiler_constants::TWELVE_BITS { + BACK_NEAR + } else if delta.saturating_add(1).saturating_mul(4) <= compiler_constants::EIGHTEEN_BITS { + MEDIUM + } else { + FAR + } + } +} diff --git a/sway-core/src/asm_lang/mod.rs b/sway-core/src/asm_lang/mod.rs index 0bbd6f03553..67c1c9f81b6 100644 --- a/sway-core/src/asm_lang/mod.rs +++ b/sway-core/src/asm_lang/mod.rs @@ -125,6 +125,32 @@ pub(crate) struct RealizedOp { } impl Op { + // Worst case instruction size + pub(crate) fn op_size(&self) -> u64 { + match &self.opcode { + Either::Right(ControlFlowOp::Label(_)) => 0, + Either::Right(ControlFlowOp::Comment) => 0, + Either::Right(ControlFlowOp::Jump { ty, .. }) => match ty { + JumpType::Call => 3, + _ => 2, + }, + Either::Right(ControlFlowOp::JumpToAddr(_)) => 1, + Either::Right(ControlFlowOp::ReturnFromCall { .. }) => 1, + Either::Right(ControlFlowOp::DataSectionOffsetPlaceholder) => 2, + Either::Right(ControlFlowOp::ConfigurablesOffsetPlaceholder) => 2, + Either::Right(ControlFlowOp::PushAll(_)) | Either::Right(ControlFlowOp::PopAll(_)) => 2, + Either::Left(VirtualOp::CFEI(_, ref imm)) + | Either::Left(VirtualOp::CFSI(_, ref imm)) + if imm.value() == 0 => + { + 0 + } + Either::Left(VirtualOp::BLOB(ref count)) => count.value() as u64, + Either::Left(VirtualOp::LoadDataId(_, _) | VirtualOp::AddrDataId(_, _)) => 2, + Either::Left(_) => 1, + } + } + /// Moves the stack pointer by the given amount (i.e. allocates stack memory) pub(crate) fn unowned_stack_allocate_memory( size_to_allocate_in_bytes: VirtualImmediate24, @@ -245,7 +271,7 @@ impl Op { Op { opcode: Either::Right(OrganizationalOp::Jump { to: label, - type_: JumpType::Unconditional, + ty: JumpType::Unconditional, }), comment: String::new(), owning_span: None, @@ -256,7 +282,7 @@ impl Op { Op { opcode: Either::Right(OrganizationalOp::Jump { to: label, - type_: JumpType::Unconditional, + ty: JumpType::Unconditional, }), comment: comment.into(), owning_span: None, @@ -268,7 +294,7 @@ impl Op { Op { opcode: Either::Right(OrganizationalOp::Jump { to: label, - type_: JumpType::NotZero(reg0), + ty: JumpType::NotZero(reg0), }), comment: String::new(), owning_span: None, @@ -284,7 +310,7 @@ impl Op { Op { opcode: Either::Right(OrganizationalOp::Jump { to: label, - type_: JumpType::NotZero(reg0), + ty: JumpType::NotZero(reg0), }), comment: comment.into(), owning_span: None, @@ -1320,7 +1346,7 @@ pub(crate) enum ControlFlowOp { /// Target label to: Label, /// Jump type - type_: JumpType, + ty: JumpType, }, // Placeholder for the offset into the configurables section. ConfigurablesOffsetPlaceholder, @@ -1349,7 +1375,7 @@ impl fmt::Display for ControlFlowOp { "{}", match self { Label(lab) => format!("{lab}"), - Jump { to, type_, .. } => match type_ { + Jump { to, ty, .. } => match ty { JumpType::Unconditional => format!("ji {to}"), JumpType::NotZero(cond) => format!("jnzi {cond} {to}"), JumpType::Call => format!("fncall {to}"), @@ -1378,7 +1404,7 @@ impl ControlFlowOp { | ConfigurablesOffsetPlaceholder | PushAll(_) | PopAll(_) => vec![], - Jump { type_, .. } => match type_ { + Jump { ty: type_, .. } => match type_ { JumpType::Unconditional => vec![], JumpType::NotZero(r1) => vec![r1], JumpType::Call => vec![], @@ -1400,7 +1426,7 @@ impl ControlFlowOp { | ConfigurablesOffsetPlaceholder | PushAll(_) | PopAll(_) => vec![], - Jump { type_, .. } => match type_ { + Jump { ty: type_, .. } => match type_ { JumpType::Unconditional => vec![], JumpType::NotZero(r1) => vec![r1], JumpType::Call => vec![], @@ -1423,7 +1449,7 @@ impl ControlFlowOp { | ConfigurablesOffsetPlaceholder | PushAll(_) | PopAll(_) => vec![], - Jump { type_, .. } => match type_ { + Jump { ty: type_, .. } => match type_ { JumpType::Unconditional => vec![], JumpType::NotZero(r1) => vec![r1], JumpType::Call => vec![], @@ -1452,10 +1478,10 @@ impl ControlFlowOp { | ConfigurablesOffsetPlaceholder | PushAll(_) | PopAll(_) => self.clone(), - Jump { to, type_ } => match type_ { + Jump { to, ty: type_ } => match type_ { JumpType::NotZero(r1) => Self::Jump { to: *to, - type_: JumpType::NotZero(update_reg(r1)), + ty: JumpType::NotZero(update_reg(r1)), }, _ => self.clone(), }, @@ -1492,7 +1518,7 @@ impl ControlFlowOp { next_ops.push(index + 1); } } - Jump { to, type_, .. } => match type_ { + Jump { to, ty: type_, .. } => match type_ { JumpType::Unconditional => { next_ops.push(label_to_index[to]); } @@ -1557,9 +1583,9 @@ impl ControlFlowOp { match self { Label(label) => Label(*label), Comment => Comment, - Jump { to, type_ } => Jump { + Jump { to, ty: type_ } => Jump { to: *to, - type_: match type_ { + ty: match type_ { JumpType::NotZero(r1) => JumpType::NotZero(map_reg(r1)), JumpType::Unconditional => JumpType::Unconditional, JumpType::Call => JumpType::Call, diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json index d1881f641ff..7d17b7b52f9 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/configurable_consts/json_abi_oracle_new_encoding.release.json @@ -63,97 +63,97 @@ "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903", "indirect": false, "name": "BOOL", - "offset": 3232 + "offset": 3216 }, { "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "indirect": false, "name": "U8", - "offset": 3424 + "offset": 3408 }, { "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "indirect": false, "name": "ANOTHER_U8", - "offset": 3160 + "offset": 3144 }, { "concreteTypeId": "29881aad8730c5ab11d275376323d8e4ff4179aae8ccb6c13fe4902137e162ef", "indirect": false, "name": "U16", - "offset": 3368 + "offset": 3352 }, { "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "indirect": false, "name": "U32", - "offset": 3408 + "offset": 3392 }, { "concreteTypeId": "d7649d428b9ff33d188ecbf38a7e4d8fd167fa01b2e10fe9a8f9308e52f1d7cc", "indirect": false, "name": "U64", - "offset": 3416 + "offset": 3400 }, { "concreteTypeId": "1b5759d94094368cfd443019e7ca5ec4074300e544e5ea993a979f5da627261e", "indirect": false, "name": "U256", - "offset": 3376 + "offset": 3360 }, { "concreteTypeId": "7c5ee1cecf5f8eacd1284feb5f0bf2bdea533a51e2f0c9aabe9236d335989f3b", "indirect": false, "name": "B256", - "offset": 3200 + "offset": 3184 }, { "concreteTypeId": "81fc10c4681a3271cf2d66b2ec6fbc8ed007a442652930844fcf11818c295bff", "indirect": false, "name": "CONFIGURABLE_STRUCT", - "offset": 3320 + "offset": 3304 }, { "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "indirect": false, "name": "CONFIGURABLE_ENUM_A", - "offset": 3240 + "offset": 3224 }, { "concreteTypeId": "a2922861f03be8a650595dd76455b95383a61b46dd418f02607fa2e00dc39d5c", "indirect": false, "name": "CONFIGURABLE_ENUM_B", - "offset": 3280 + "offset": 3264 }, { "concreteTypeId": "4926d35d1a5157936b0a29bc126b8aace6d911209a5c130e9b716b0c73643ea6", "indirect": false, "name": "ARRAY_BOOL", - "offset": 3168 + "offset": 3152 }, { "concreteTypeId": "776fb5a3824169d6736138565fdc20aad684d9111266a5ff6d5c675280b7e199", "indirect": false, "name": "ARRAY_U64", - "offset": 3176 + "offset": 3160 }, { "concreteTypeId": "c998ca9a5f221fe7b5c66ae70c8a9562b86d964408b00d17f883c906bc1fe4be", "indirect": false, "name": "TUPLE_BOOL_U64", - "offset": 3352 + "offset": 3336 }, { "concreteTypeId": "94f0fa95c830be5e4f711963e83259fe7e8bc723278ab6ec34449e791a99b53a", "indirect": false, "name": "STR_4", - "offset": 3344 + "offset": 3328 }, { "concreteTypeId": "c89951a24c6ca28c13fd1cfdc646b2b656d69e61a92b91023be7eb58eb914b6b", "indirect": false, "name": "NOT_USED", - "offset": 3336 + "offset": 3320 } ], "encodingVersion": "1", diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg_release/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg_release/stdout.snap index e46d03eb7b0..4e30e1806e8 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg_release/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/intrinsics/dbg_release/stdout.snap @@ -21,7 +21,7 @@ ecal $r0 $r1 $zero $zero ; ecal id fd zero zero ecal $r0 $r1 $zero $zero ; ecal id fd zero zero ecal $r0 $r1 $zero $zero ; ecal id fd zero zero ecal $r2 $r3 $r0 $r1 ; ecal id fd buf count -ecal $r2 $r3 $r0 $r1 ; ecal id fd buf count -ecal $r2 $r3 $r0 $r1 ; ecal id fd buf count ecal $r3 $r4 $$locbase $one ; ecal id fd buf count ecal $r1 $r3 $r0 $one ; ecal id fd buf count +ecal $r2 $r3 $r0 $r1 ; ecal id fd buf count +ecal $r2 $r3 $r0 $r1 ; ecal id fd buf count diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/stdout.snap index ef0cfed250e..98b63477cff 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/logging/stdout.snap @@ -1146,7 +1146,7 @@ warning ____ Compiled script "logging" with 6 warnings. - Finished release [optimized + fuel] target(s) [2.48 KB] in ??? + Finished release [optimized + fuel] target(s) [2.432 KB] in ??? > forc test --path test/src/e2e_vm_tests/test_programs/should_pass/language/logging --release exit status: 0 @@ -1242,12 +1242,12 @@ warning ____ Compiled script "logging" with 7 warnings. - Finished release [optimized + fuel] target(s) [2.496 KB] in ??? + Finished release [optimized + fuel] target(s) [2.448 KB] in ??? Running 1 test, filtered 0 tests tested -- logging - test call_main ... ok (???, 4354 gas) + test call_main ... ok (???, 4340 gas) test result: OK. 1 passed; 0 failed; finished in ??? diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap index 5aa7555c575..212d0408435 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract/stdout.snap @@ -142,17 +142,17 @@ output: Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) Compiling contract panicking_contract (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_contract) - Finished release [optimized + fuel] target(s) [5.616 KB] in ??? + Finished release [optimized + fuel] target(s) [5.6 KB] in ??? Running 12 tests, filtered 0 tests tested -- panicking_contract - test test_panicking_in_contract_self_impl ... ok (???, 1084 gas) + test test_panicking_in_contract_self_impl ... ok (???, 1083 gas) revert code: 8280000000000000 ├─ panic message: panicking in contract self impl └─ panicked: in ::panicking_in_contract_self_impl └─ at panicking_contract@1.2.3, src/main.sw:22:9 - test test_directly_panicking_method ... ok (???, 1832 gas) + test test_directly_panicking_method ... ok (???, 1831 gas) revert code: 8200000000000000 ├─ panic message: Error C. ├─ panic value: C(true) @@ -160,7 +160,7 @@ tested -- panicking_contract └─ at panicking_contract@1.2.3, src/main.sw:28:9 decoded log values: C(true), log rb: 5503570629422409978 - test test_nested_panic_inlined ... ok (???, 2252 gas) + test test_nested_panic_inlined ... ok (???, 2251 gas) revert code: 8000000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -168,7 +168,7 @@ C(true), log rb: 5503570629422409978 └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_inlined_same_revert_code ... ok (???, 2252 gas) + test test_nested_panic_inlined_same_revert_code ... ok (???, 2251 gas) revert code: 8000000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]) @@ -176,7 +176,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:35:5 decoded log values: E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString { data: "in error enum variants" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined ... ok (???, 2281 gas) + test test_nested_panic_non_inlined ... ok (???, 2280 gas) revert code: 8180000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -184,7 +184,7 @@ E([AsciiString { data: "to have" }, AsciiString { data: "strings" }, AsciiString └─ at panicking_lib, src/lib.sw:41:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_nested_panic_non_inlined_same_revert_code ... ok (???, 2281 gas) + test test_nested_panic_non_inlined_same_revert_code ... ok (???, 2280 gas) revert code: 8180000000000000 ├─ panic message: Error E. ├─ panic value: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]) @@ -192,35 +192,35 @@ E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { d └─ at panicking_lib, src/lib.sw:41:9 decoded log values: E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { data: "the best practice" }]), log rb: 5503570629422409978 - test test_generic_panic_with_unit ... ok (???, 1540 gas) + test test_generic_panic_with_unit ... ok (???, 1539 gas) revert code: 8100000000000000 ├─ panic value: () └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_unit_same_revert_code ... ok (???, 1540 gas) + test test_generic_panic_with_unit_same_revert_code ... ok (???, 1539 gas) revert code: 8100000000000000 ├─ panic value: () └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_str ... ok (???, 1737 gas) + test test_generic_panic_with_str ... ok (???, 1733 gas) revert code: 8080000000000000 ├─ panic message: generic panic with string └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 - test test_generic_panic_with_different_str_same_revert_code ... ok (???, 1780 gas) + test test_generic_panic_with_different_str_same_revert_code ... ok (???, 1776 gas) revert code: 8080000000000000 ├─ panic message: generic panic with different string └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic with different string" }, log rb: 10098701174489624218 - test test_generic_panic_with_error_type_enum ... ok (???, 1766 gas) + test test_generic_panic_with_error_type_enum ... ok (???, 1765 gas) revert code: 8300000000000000 ├─ panic message: Error A. ├─ panic value: A @@ -228,7 +228,7 @@ AsciiString { data: "generic panic with different string" }, log rb: 10098701174 └─ at panicking_lib, src/lib.sw:74:5 decoded log values: A, log rb: 5503570629422409978 - test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 1858 gas) + test test_generic_panic_with_error_type_enum_different_variant_same_revert_code ... ok (???, 1857 gas) revert code: 8300000000000000 ├─ panic message: Error B. ├─ panic value: B(42) diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap index 2b335cb9810..d24bd841ac7 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib/stdout.snap @@ -182,7 +182,7 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) - Finished release [optimized + fuel] target(s) [3.872 KB] in ??? + Finished release [optimized + fuel] target(s) [3.8 KB] in ??? Running 18 tests, filtered 0 tests tested -- panicking_lib @@ -233,14 +233,14 @@ E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { d └─ at panicking_lib, src/lib.sw:74:5 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_str ... ok (???, 736 gas) + test test_generic_panic_with_str ... ok (???, 733 gas) revert code: 8180000000000000 ├─ panic message: generic panic with string └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 - test test_generic_panic_with_different_str_same_revert_code ... ok (???, 737 gas) + test test_generic_panic_with_different_str_same_revert_code ... ok (???, 734 gas) revert code: 8180000000000000 ├─ panic message: generic panic different string └─ panicked: in panicking_lib::generic_panic @@ -290,28 +290,28 @@ A, log rb: 2721958641300806892 └─ at panicking_lib, src/lib.sw:128:5 decoded log values: C(true), log rb: 2721958641300806892 - test test_panic_with_generic_error_type_enum ... ok (???, 767 gas) + test test_panic_with_generic_error_type_enum ... ok (???, 763 gas) revert code: 8480000000000000 ├─ panic value: A(42) └─ panicked: in panicking_lib::test_panic_with_generic_error_type_enum └─ at panicking_lib, src/lib.sw:133:5 decoded log values: A(42), log rb: 12408470889216862137 - test test_panic_with_nested_generic_error_type ... ok (???, 1030 gas) + test test_panic_with_nested_generic_error_type ... ok (???, 1026 gas) revert code: 8500000000000000 ├─ panic value: B(B(C(true))) └─ panicked: in panicking_lib::test_panic_with_nested_generic_error_type └─ at panicking_lib, src/lib.sw:138:5 decoded log values: B(B(C(true))), log rb: 14988555917426256081 - test test_panic_with_generic_error_type_enum_with_abi_encode ... ok (???, 767 gas) + test test_panic_with_generic_error_type_enum_with_abi_encode ... ok (???, 763 gas) revert code: 8580000000000000 ├─ panic value: A(42) └─ panicked: in panicking_lib::test_panic_with_generic_error_type_enum_with_abi_encode └─ at panicking_lib, src/lib.sw:143:5 decoded log values: A(42), log rb: 17388243649088655852 - test test_panic_with_nested_generic_error_type_enum_with_abi_encode ... ok (???, 1030 gas) + test test_panic_with_nested_generic_error_type_enum_with_abi_encode ... ok (???, 1026 gas) revert code: 8600000000000000 ├─ panic value: B(B(C(true))) └─ panicked: in panicking_lib::test_panic_with_nested_generic_error_type_enum_with_abi_encode diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap index 9af6f72b803..9b8dce96e1d 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script/stdout.snap @@ -137,7 +137,7 @@ output: Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-core) Compiling library panicking_lib (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_lib) Compiling script panicking_script (test/src/e2e_vm_tests/test_programs/should_pass/language/panic_expression/panicking_script) - Finished release [optimized + fuel] target(s) [2.76 KB] in ??? + Finished release [optimized + fuel] target(s) [2.744 KB] in ??? Running 11 tests, filtered 0 tests tested -- panicking_script @@ -196,14 +196,14 @@ E([AsciiString { data: "this" }, AsciiString { data: "is not" }, AsciiString { d └─ at panicking_lib, src/lib.sw:74:5 decoded log values: (), log rb: 3330666440490685604 - test test_generic_panic_with_str ... ok (???, 736 gas) + test test_generic_panic_with_str ... ok (???, 733 gas) revert code: 8200000000000000 ├─ panic message: generic panic with string └─ panicked: in panicking_lib::generic_panic └─ at panicking_lib, src/lib.sw:74:5 decoded log values: AsciiString { data: "generic panic with string" }, log rb: 10098701174489624218 - test test_generic_panic_with_different_str_same_revert_code ... ok (???, 739 gas) + test test_generic_panic_with_different_str_same_revert_code ... ok (???, 736 gas) revert code: 8200000000000000 ├─ panic message: generic panic with different string └─ panicked: in panicking_lib::generic_panic diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/leaf_fns/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/leaf_fns/stdout.snap index fe74de554bc..a2f0ca6c07c 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/leaf_fns/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/leaf_fns/stdout.snap @@ -51,16 +51,6 @@ pshh i524288 ; [fn init: leaf_fn_0_1]: push used high registers poph i524288 ; [fn end: leaf_fn_0_1]: restore used high registers 40..64 jal $zero $$reta i0 ; [fn end: leaf_fn_0_1] return from call -pshh i528384 ; [fn init: leaf_fn_6_2]: push used high registers 40..64 -add $r0 $$arg0 $$arg1 -add $r0 $r0 $$arg2 -add $r0 $r0 $$arg3 -add $r0 $r0 $$arg4 -add $r0 $r0 $$arg5 -move $$retv $r0 ; [fn end: leaf_fn_6_2] set return value -poph i528384 ; [fn end: leaf_fn_6_2]: restore used high registers 40..64 -jal $zero $$reta i0 ; [fn end: leaf_fn_6_2] return from call - pshh i531456 ; [fn init: leaf_fn_7_4]: push used high registers 40..64 @@ -85,8 +75,17 @@ movi $$arg2 i2 ; [call: leaf_fn_6_2]: pass argument 2 movi $$arg3 i3 ; [call: leaf_fn_6_2]: pass argument 3 movi $$arg4 i4 ; [call: leaf_fn_6_2]: pass argument 4 movi $$arg5 i5 ; [call: leaf_fn_6_2]: pass argument 5 -subi $$tmp $pc i116 ; load far jump target address -jal $$reta $$tmp i0 ; [call: leaf_fn_6_2]: call function +jal $$reta $pc i4 ; [call: leaf_fn_6_2]: call function move $$reta $r0 ; [fn end: leaf_fn_caller_5] restore return address poph i528384 ; [fn end: leaf_fn_caller_5]: restore used high registers 40..64 jal $zero $$reta i0 ; [fn end: leaf_fn_caller_5] return from call + +pshh i528384 ; [fn init: leaf_fn_6_2]: push used high registers 40..64 +add $r0 $$arg0 $$arg1 +add $r0 $r0 $$arg2 +add $r0 $r0 $$arg3 +add $r0 $r0 $$arg4 +add $r0 $r0 $$arg5 +move $$retv $r0 ; [fn end: leaf_fn_6_2] set return value +poph i528384 ; [fn end: leaf_fn_6_2]: restore used high registers 40..64 +jal $zero $$reta i0 ; [fn end: leaf_fn_6_2] return from call diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap index af676190bd8..e4af634eff1 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/optimisations/no_locbase/stdout.snap @@ -14,537 +14,537 @@ move $r0 $$arg0 ; [fn init: check_no_locals_no_call_args_spills_24 sw $$locbase $r0 i44 ; [spill/refill]: spill move $r0 $$reta ; [fn init: check_no_locals_no_call_args_spills_24]: save return address sw $$locbase $r0 i45 ; [spill/refill]: spill -jal $$reta $pc i557 ; [call: dummy_25]: call function +jal $$reta $pc i1846 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i46 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i552 ; [call: dummy_25]: call function +jal $$reta $pc i1841 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i47 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i547 ; [call: dummy_25]: call function +jal $$reta $pc i1836 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i48 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i542 ; [call: dummy_25]: call function +jal $$reta $pc i1831 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i49 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i537 ; [call: dummy_25]: call function +jal $$reta $pc i1826 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i50 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i532 ; [call: dummy_25]: call function +jal $$reta $pc i1821 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i51 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i527 ; [call: dummy_25]: call function +jal $$reta $pc i1816 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i52 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i522 ; [call: dummy_25]: call function +jal $$reta $pc i1811 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i53 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i517 ; [call: dummy_25]: call function +jal $$reta $pc i1806 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i54 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i512 ; [call: dummy_25]: call function +jal $$reta $pc i1801 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i55 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i507 ; [call: dummy_25]: call function +jal $$reta $pc i1796 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i56 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i502 ; [call: dummy_25]: call function +jal $$reta $pc i1791 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i57 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i497 ; [call: dummy_25]: call function +jal $$reta $pc i1786 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i58 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i492 ; [call: dummy_25]: call function +jal $$reta $pc i1781 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i59 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i487 ; [call: dummy_25]: call function +jal $$reta $pc i1776 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i60 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i482 ; [call: dummy_25]: call function +jal $$reta $pc i1771 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i61 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i477 ; [call: dummy_25]: call function +jal $$reta $pc i1766 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i62 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i472 ; [call: dummy_25]: call function +jal $$reta $pc i1761 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i63 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i467 ; [call: dummy_25]: call function +jal $$reta $pc i1756 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i64 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i462 ; [call: dummy_25]: call function +jal $$reta $pc i1751 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i65 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i457 ; [call: dummy_25]: call function +jal $$reta $pc i1746 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i0 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i452 ; [call: dummy_25]: call function +jal $$reta $pc i1741 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i1 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i447 ; [call: dummy_25]: call function +jal $$reta $pc i1736 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i2 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i442 ; [call: dummy_25]: call function +jal $$reta $pc i1731 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i3 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i437 ; [call: dummy_25]: call function +jal $$reta $pc i1726 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i4 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i432 ; [call: dummy_25]: call function +jal $$reta $pc i1721 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i5 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i427 ; [call: dummy_25]: call function +jal $$reta $pc i1716 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i6 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i422 ; [call: dummy_25]: call function +jal $$reta $pc i1711 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i7 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i417 ; [call: dummy_25]: call function +jal $$reta $pc i1706 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i8 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i412 ; [call: dummy_25]: call function +jal $$reta $pc i1701 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i9 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i407 ; [call: dummy_25]: call function +jal $$reta $pc i1696 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i10 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i402 ; [call: dummy_25]: call function +jal $$reta $pc i1691 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i11 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i397 ; [call: dummy_25]: call function +jal $$reta $pc i1686 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i12 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i392 ; [call: dummy_25]: call function +jal $$reta $pc i1681 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i13 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i387 ; [call: dummy_25]: call function +jal $$reta $pc i1676 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i14 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i382 ; [call: dummy_25]: call function +jal $$reta $pc i1671 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i15 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i377 ; [call: dummy_25]: call function +jal $$reta $pc i1666 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i16 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i372 ; [call: dummy_25]: call function +jal $$reta $pc i1661 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i17 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i367 ; [call: dummy_25]: call function +jal $$reta $pc i1656 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i18 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i362 ; [call: dummy_25]: call function +jal $$reta $pc i1651 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i19 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i357 ; [call: dummy_25]: call function +jal $$reta $pc i1646 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i20 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i352 ; [call: dummy_25]: call function +jal $$reta $pc i1641 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i21 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i347 ; [call: dummy_25]: call function +jal $$reta $pc i1636 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i22 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i342 ; [call: dummy_25]: call function +jal $$reta $pc i1631 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i23 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i337 ; [call: dummy_25]: call function +jal $$reta $pc i1626 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i24 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i332 ; [call: dummy_25]: call function +jal $$reta $pc i1621 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i25 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i327 ; [call: dummy_25]: call function +jal $$reta $pc i1616 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i26 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i322 ; [call: dummy_25]: call function +jal $$reta $pc i1611 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i27 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i317 ; [call: dummy_25]: call function +jal $$reta $pc i1606 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i28 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i312 ; [call: dummy_25]: call function +jal $$reta $pc i1601 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i29 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i307 ; [call: dummy_25]: call function +jal $$reta $pc i1596 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i30 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i302 ; [call: dummy_25]: call function +jal $$reta $pc i1591 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i31 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i297 ; [call: dummy_25]: call function +jal $$reta $pc i1586 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i32 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i292 ; [call: dummy_25]: call function +jal $$reta $pc i1581 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i33 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i287 ; [call: dummy_25]: call function +jal $$reta $pc i1576 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i34 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i282 ; [call: dummy_25]: call function +jal $$reta $pc i1571 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i35 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i277 ; [call: dummy_25]: call function +jal $$reta $pc i1566 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i36 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i272 ; [call: dummy_25]: call function +jal $$reta $pc i1561 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i37 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i267 ; [call: dummy_25]: call function +jal $$reta $pc i1556 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i38 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i262 ; [call: dummy_25]: call function +jal $$reta $pc i1551 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i39 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i257 ; [call: dummy_25]: call function +jal $$reta $pc i1546 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i40 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i252 ; [call: dummy_25]: call function +jal $$reta $pc i1541 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i41 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i247 ; [call: dummy_25]: call function +jal $$reta $pc i1536 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i42 ; [spill/refill]: spill lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -jal $$reta $pc i242 ; [call: dummy_25]: call function +jal $$reta $pc i1531 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i43 ; [spill/refill]: spill lw $r0 $$locbase i46 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: add_26]: pass argument 0 lw $r0 $$locbase i47 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i239 ; [call: add_26]: call function +jal $$reta $pc i1519 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i48 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i235 ; [call: add_26]: call function +jal $$reta $pc i1515 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i49 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i231 ; [call: add_26]: call function +jal $$reta $pc i1511 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i50 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i227 ; [call: add_26]: call function +jal $$reta $pc i1507 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i51 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i223 ; [call: add_26]: call function +jal $$reta $pc i1503 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i52 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i219 ; [call: add_26]: call function +jal $$reta $pc i1499 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i53 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i215 ; [call: add_26]: call function +jal $$reta $pc i1495 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i54 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i211 ; [call: add_26]: call function +jal $$reta $pc i1491 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i55 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i207 ; [call: add_26]: call function +jal $$reta $pc i1487 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i56 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i203 ; [call: add_26]: call function +jal $$reta $pc i1483 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i57 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i199 ; [call: add_26]: call function +jal $$reta $pc i1479 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i58 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i195 ; [call: add_26]: call function +jal $$reta $pc i1475 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i59 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i191 ; [call: add_26]: call function +jal $$reta $pc i1471 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i60 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i187 ; [call: add_26]: call function +jal $$reta $pc i1467 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i61 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i183 ; [call: add_26]: call function +jal $$reta $pc i1463 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i62 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i179 ; [call: add_26]: call function +jal $$reta $pc i1459 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i63 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i175 ; [call: add_26]: call function +jal $$reta $pc i1455 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i64 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i171 ; [call: add_26]: call function +jal $$reta $pc i1451 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i65 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i167 ; [call: add_26]: call function +jal $$reta $pc i1447 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i0 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i163 ; [call: add_26]: call function +jal $$reta $pc i1443 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i1 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i159 ; [call: add_26]: call function +jal $$reta $pc i1439 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i2 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i155 ; [call: add_26]: call function +jal $$reta $pc i1435 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i151 ; [call: add_26]: call function +jal $$reta $pc i1431 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i4 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i147 ; [call: add_26]: call function +jal $$reta $pc i1427 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i5 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i143 ; [call: add_26]: call function +jal $$reta $pc i1423 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i6 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i139 ; [call: add_26]: call function +jal $$reta $pc i1419 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i7 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i135 ; [call: add_26]: call function +jal $$reta $pc i1415 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i8 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i131 ; [call: add_26]: call function +jal $$reta $pc i1411 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i9 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i127 ; [call: add_26]: call function +jal $$reta $pc i1407 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i10 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i123 ; [call: add_26]: call function +jal $$reta $pc i1403 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i11 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i119 ; [call: add_26]: call function +jal $$reta $pc i1399 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i12 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i115 ; [call: add_26]: call function +jal $$reta $pc i1395 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i13 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i111 ; [call: add_26]: call function +jal $$reta $pc i1391 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i14 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i107 ; [call: add_26]: call function +jal $$reta $pc i1387 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i15 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i103 ; [call: add_26]: call function +jal $$reta $pc i1383 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i16 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i99 ; [call: add_26]: call function +jal $$reta $pc i1379 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i17 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i95 ; [call: add_26]: call function +jal $$reta $pc i1375 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i18 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i91 ; [call: add_26]: call function +jal $$reta $pc i1371 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i19 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i87 ; [call: add_26]: call function +jal $$reta $pc i1367 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i20 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i83 ; [call: add_26]: call function +jal $$reta $pc i1363 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i21 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i79 ; [call: add_26]: call function +jal $$reta $pc i1359 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i22 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i75 ; [call: add_26]: call function +jal $$reta $pc i1355 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i23 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i71 ; [call: add_26]: call function +jal $$reta $pc i1351 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i24 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i67 ; [call: add_26]: call function +jal $$reta $pc i1347 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i25 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i63 ; [call: add_26]: call function +jal $$reta $pc i1343 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i26 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i59 ; [call: add_26]: call function +jal $$reta $pc i1339 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i27 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i55 ; [call: add_26]: call function +jal $$reta $pc i1335 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i28 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i51 ; [call: add_26]: call function +jal $$reta $pc i1331 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i29 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i47 ; [call: add_26]: call function +jal $$reta $pc i1327 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i30 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i43 ; [call: add_26]: call function +jal $$reta $pc i1323 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i31 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i39 ; [call: add_26]: call function +jal $$reta $pc i1319 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i32 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i35 ; [call: add_26]: call function +jal $$reta $pc i1315 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i33 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -jal $$reta $pc i31 ; [call: add_26]: call function +jal $$reta $pc i1311 ; [call: add_26]: call function lw $r0 $$locbase i34 ; [spill/refill]: refill from spill add $r1 $$retv $r0 lw $r0 $$locbase i35 ; [spill/refill]: refill from spill @@ -590,7 +590,7 @@ move $$arg4 $r0 ; [call: need_call_args_on_stack_29]: pass argumen sw $$locbase $r0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -jal $$reta $pc i5 ; [call: need_call_args_on_stack_29]: call function +jal $$reta $pc i1256 ; [call: need_call_args_on_stack_29]: call function cfsi i24 ; [fn end: check_no_locals_call_args_no_spills_28] free: locals 0 byte(s), call args 3 slot(s) move $$reta $r1 ; [fn end: check_no_locals_call_args_no_spills_28] restore return address poph i530432 ; [fn end: check_no_locals_call_args_no_spills_28]: restore used high registers 40..64 @@ -624,665 +624,546 @@ lw $r0 $$locbase i3 ; [spill/refill]: refill from spill sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot lw $r0 $$locbase i3 ; [spill/refill]: refill from spill sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -subi $$tmp $pc i152 ; load far jump target address -jal $$reta $$tmp i0 ; [call: need_call_args_on_stack_29]: call function +jal $$reta $pc i1227 ; [call: need_call_args_on_stack_29]: call function move $r0 $$retv ; [call: need_call_args_on_stack_29]: copy returned value sw $$locbase $r0 i5 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i288 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1241 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i6 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i312 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1236 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i7 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i336 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1231 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i8 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i360 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1226 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i9 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i384 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1221 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i10 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i408 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1216 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i11 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i432 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1211 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i12 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i456 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1206 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i13 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i480 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1201 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i14 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i504 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1196 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i15 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i528 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1191 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i16 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i552 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1186 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i17 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i576 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1181 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i18 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i600 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1176 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i19 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i624 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1171 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i20 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i648 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1166 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i21 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i672 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1161 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i22 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i696 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1156 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i23 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i720 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1151 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i24 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i744 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1146 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i25 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i768 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1141 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i26 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i792 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1136 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i27 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i816 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1131 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i28 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i840 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1126 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i29 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i864 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1121 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i30 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i888 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1116 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i31 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i912 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1111 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i32 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i936 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1106 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i33 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i960 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1101 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i34 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i984 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1096 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i35 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1008 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1091 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i36 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1032 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1086 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i37 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1056 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1081 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i38 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1080 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1076 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i39 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1104 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1071 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i40 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1128 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1066 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i41 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1152 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1061 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i42 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1176 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1056 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i43 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1200 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1051 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i44 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1224 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1046 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i45 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1248 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1041 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i46 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1272 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1036 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i47 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1296 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1031 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i48 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1320 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1026 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i49 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1344 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1021 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i50 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1368 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1016 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i51 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1392 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1011 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i52 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1416 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1006 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i53 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1440 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i1001 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i54 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1464 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i996 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i55 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1488 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i991 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i56 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1512 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i986 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i57 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1536 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i981 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i58 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1560 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i976 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i59 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1584 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i971 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i60 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1608 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i966 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i61 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1632 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i961 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i62 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1656 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i956 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i63 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1680 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i951 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i64 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1704 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i946 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i65 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1728 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i941 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i66 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1752 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i936 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i67 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1776 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i931 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i68 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i1800 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i926 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i69 ; [spill/refill]: spill lw $r0 $$locbase i5 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: add_26]: pass argument 0 lw $r0 $$locbase i6 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1816 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i914 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i7 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1836 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i910 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i8 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1856 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i906 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i9 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1876 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i902 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i10 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1896 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i898 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i11 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1916 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i894 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i12 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1936 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i890 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i13 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1956 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i886 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i14 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1976 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i882 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i15 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i1996 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i878 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i16 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2016 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i874 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i17 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2036 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i870 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i18 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2056 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i866 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i19 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2076 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i862 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i20 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2096 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i858 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i21 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2116 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i854 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i22 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2136 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i850 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i23 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2156 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i846 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i24 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2176 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i842 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i25 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2196 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i838 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i26 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2216 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i834 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i27 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2236 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i830 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i28 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2256 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i826 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i29 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2276 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i822 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i30 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2296 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i818 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i31 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2316 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i814 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i32 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2336 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i810 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i33 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2356 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i806 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i34 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2376 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i802 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i35 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2396 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i798 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i36 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2416 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i794 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i37 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2436 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i790 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i38 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2456 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i786 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i39 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2476 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i782 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i40 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2496 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i778 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i41 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2516 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i774 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i42 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2536 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i770 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i43 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2556 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i766 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2576 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i762 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i45 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2596 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i758 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i46 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2616 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i754 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i47 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2636 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i750 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i48 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2656 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i746 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i49 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2676 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i742 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i50 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2696 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i738 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i51 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2716 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i734 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i52 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2736 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i730 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i53 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2756 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i726 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i54 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2776 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i722 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i55 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2796 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i718 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i56 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2816 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i714 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i57 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2836 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i710 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i58 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2856 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i706 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i59 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -subi $$tmp $pc i2876 ; load far jump target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i702 ; [call: add_26]: call function lw $r0 $$locbase i60 ; [spill/refill]: refill from spill add $r1 $$retv $r0 lw $r0 $$locbase i61 ; [spill/refill]: refill from spill @@ -1340,8 +1221,7 @@ move $$arg4 $r0 ; [call: need_call_args_on_stack_29]: pass argumen sw $$locbase $r0 i0 ; [call: need_call_args_on_stack_29]: pass argument 5 via its stack slot sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -subi $$tmp $pc i2992 ; load far jump target address -jal $$reta $$tmp i0 ; [call: need_call_args_on_stack_29]: call function +jal $$reta $pc i636 ; [call: need_call_args_on_stack_29]: call function add $r2 $$retv $r0 add $r2 $r2 $r0 add $r2 $r2 $r0 @@ -1384,819 +1264,578 @@ lw $r0 $$locbase i3 ; [spill/refill]: refill from spill sw $$locbase $r0 i1 ; [call: need_call_args_on_stack_29]: pass argument 6 via its stack slot lw $r0 $$locbase i3 ; [spill/refill]: refill from spill sw $$locbase $r0 i2 ; [call: need_call_args_on_stack_29]: pass argument 7 via its stack slot -subi $$tmp $pc i3148 ; load far jump target address -jal $$reta $$tmp i0 ; [call: need_call_args_on_stack_29]: call function +jal $$reta $pc i598 ; [call: need_call_args_on_stack_29]: call function move $r0 $$retv ; [call: need_call_args_on_stack_29]: copy returned value sw $$locbase $r0 i5 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3284 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i612 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i6 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3308 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i607 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i7 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3332 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i602 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i8 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3356 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i597 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i9 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3380 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i592 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i10 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3404 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i587 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i11 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3428 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i582 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i12 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3452 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i577 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i13 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3476 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i572 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i14 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3500 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i567 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i15 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3524 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i562 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i16 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3548 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i557 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i17 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3572 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i552 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i18 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3600 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i547 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i19 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3628 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i542 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i20 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3656 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i537 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i21 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3684 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i532 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i22 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3712 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i527 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i23 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3740 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i522 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i24 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3768 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i517 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i25 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3796 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i512 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i26 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3824 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i507 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i27 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3852 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i502 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i28 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3880 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i497 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i29 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3908 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i492 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i30 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3936 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i487 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i31 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3964 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i482 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i32 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i3992 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i477 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i33 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i4020 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i472 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i34 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i4048 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i467 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i35 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -subi $$tmp $pc i4076 ; load far jump target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function -noop ; [call: dummy_25]: call function +jal $$reta $pc i462 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i36 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4108 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i457 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i37 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4136 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i452 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i38 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4164 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i447 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i39 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4192 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i442 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i40 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4220 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i437 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i41 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4248 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i432 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i42 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4276 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i427 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i43 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4304 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i422 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i44 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4332 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i417 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i45 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4360 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i412 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i46 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4388 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i407 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i47 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4416 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i402 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i48 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4444 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i397 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i49 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4472 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i392 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i50 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4500 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i387 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i51 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4528 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i382 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i52 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4556 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i377 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i53 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4584 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i372 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i54 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4612 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i367 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i55 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4640 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i362 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i56 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4668 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i357 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i57 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4696 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i352 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i58 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4724 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i347 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i59 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4752 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i342 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i60 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4780 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i337 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i61 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4808 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i332 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i62 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4836 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i327 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i63 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4864 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i322 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i64 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4892 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i317 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i65 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4920 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i312 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i66 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4948 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i307 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i67 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i4976 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i302 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i68 ; [spill/refill]: spill lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: dummy_25]: pass argument 0 -movi $$tmp i5004 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: dummy_25]: call function +jal $$reta $pc i297 ; [call: dummy_25]: call function move $r0 $$retv ; [call: dummy_25]: copy returned value sw $$locbase $r0 i69 ; [spill/refill]: spill lw $r0 $$locbase i5 ; [spill/refill]: refill from spill move $$arg0 $r0 ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5024 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i285 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5048 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i281 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5072 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i277 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5096 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i273 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5120 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i269 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5144 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i265 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5168 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i261 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i3 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5192 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i257 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i6 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5216 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i253 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i7 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5240 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i249 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i8 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5264 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i245 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i9 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5288 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i241 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i10 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5312 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i237 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i11 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5336 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i233 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i12 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5360 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i229 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i13 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5384 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i225 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i14 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5408 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i221 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i15 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5432 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i217 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i16 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5456 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i213 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i17 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5480 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i209 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i18 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5504 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i205 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i19 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5528 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i201 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i20 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5552 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i197 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i21 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5576 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i193 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i22 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5600 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i189 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i23 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5624 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i185 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i24 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5648 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i181 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i25 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5672 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i177 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i26 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5696 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i173 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i27 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5720 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i169 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i28 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5744 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i165 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i29 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5768 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i161 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i30 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5792 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i157 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i31 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5816 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i153 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i32 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5840 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i149 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i33 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5864 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i145 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i34 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5888 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i141 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i35 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5912 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i137 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i36 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5936 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i133 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i37 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5960 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i129 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i38 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i5984 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i125 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i39 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6008 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i121 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i40 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6032 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i117 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i41 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6056 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i113 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i42 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6080 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i109 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i43 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6104 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i105 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i44 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6128 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i101 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i45 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6152 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i97 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i46 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6176 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i93 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i47 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6200 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i89 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i48 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6224 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i85 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i49 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6248 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i81 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i50 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6272 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i77 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i51 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6296 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i73 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i52 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6320 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i69 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i53 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6344 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i65 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i54 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6368 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i61 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i55 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6392 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i57 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i56 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6416 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i53 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i57 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6440 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i49 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i58 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6464 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i45 ; [call: add_26]: call function move $$arg0 $$retv ; [call: add_26]: pass argument 0 lw $r0 $$locbase i59 ; [spill/refill]: refill from spill move $$arg1 $r0 ; [call: add_26]: pass argument 1 -movi $$tmp i6488 ; load call target address -sub $$tmp $pc $$tmp ; load call target address -jal $$reta $$tmp i0 ; [call: add_26]: call function +jal $$reta $pc i41 ; [call: add_26]: call function lw $r0 $$locbase i60 ; [spill/refill]: refill from spill add $r1 $$retv $r0 lw $r0 $$locbase i61 ; [spill/refill]: refill from spill diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw index 1bde721169f..6f4cbdad245 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_basic_storage/src/main.sw @@ -4,7 +4,7 @@ use basic_storage_abi::{BasicStorage, Quad}; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0x94db39f409a31b9f2ebcadeea44378e419208c20de90f5d8e1e33dc1523754cb; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0x30c67de2ca14ef44e89867e61b6c4eb73f3dc770295bdc2bf8e9fa3b408c4a50; // AUTO-CONTRACT-ID ../../test_contracts/basic_storage --release +const CONTRACT_ID = 0x4d8596f2b1230ee74453a0083d457ba7131cf842083cbf4d837430d46f9d997e; // AUTO-CONTRACT-ID ../../test_contracts/basic_storage --release fn main() -> u64 { let addr = abi(BasicStorage, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw index d01fa9b006c..0943504956e 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_contract_with_type_aliases/src/main.sw @@ -5,7 +5,7 @@ use contract_with_type_aliases_abi::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0x0cbeb6efe3104b460be769bdc4ea101ebf16ccc16f2d7b667ec3e1c7f5ce35b5; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0x0cfc787a5a26340eb8ff71e29210e5720073f4d5204aee556b3ff31cf0638967; // AUTO-CONTRACT-ID ../../test_contracts/contract_with_type_aliases --release +const CONTRACT_ID = 0x6130a2a89f3585f10067f3a989a0b3eb611763323cf261dfa206c35e0b93b5d1; // AUTO-CONTRACT-ID ../../test_contracts/contract_with_type_aliases --release fn main() { let caller = abi(MyContract, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw index 71fe92ab770..9dcda1be07b 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_increment_contract/src/main.sw @@ -6,7 +6,7 @@ use dynamic_contract_call::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0xd1b4047af7ef111c023ab71069e01dc2abfde487c0a0ce1268e4f447e6c6e4c2; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0x4f0834953dc8cb8eea5eb2f8f0f99198b075f55dee90e8af6e3e6d07325bdea8; // AUTO-CONTRACT-ID ../../test_contracts/increment_contract --release +const CONTRACT_ID = 0xbcb5bd664332a8f8cece3a130324ebc06ec255a1f7e2e1bb9ab6da5d29710ed5; // AUTO-CONTRACT-ID ../../test_contracts/increment_contract --release fn main() -> bool { let the_abi = abi(Incrementor, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw index 7e7f6661cb0..a974fc38649 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/call_storage_enum/src/main.sw @@ -5,7 +5,7 @@ use storage_enum_abi::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0xc601d11767195485a6654d566c67774134668863d8c797a8c69e8778fb1f89e9; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0xc85ce02d93990b1e4aa8e02fa7c25d97808a293fcc203acdf07b91d9b882b8c8; // AUTO-CONTRACT-ID ../../test_contracts/storage_enum_contract --release +const CONTRACT_ID = 0x4d1f920b6bb374f2298d134c810a41c8a51eb765a579fcd45358b8424da6c61b; // AUTO-CONTRACT-ID ../../test_contracts/storage_enum_contract --release fn main() -> u64 { let caller = abi(StorageEnum, CONTRACT_ID); let res = caller.read_write_enums(); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw index f63dad73fdf..a95dd1d1f14 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw +++ b/test/src/e2e_vm_tests/test_programs/should_pass/require_contract_deployment/storage_access_caller/src/main.sw @@ -6,7 +6,7 @@ use std::hash::*; #[cfg(experimental_new_encoding = false)] const CONTRACT_ID = 0x3bc28acd66d327b8c1b9624c1fabfc07e9ffa1b5d71c2832c3bfaaf8f4b805e9; #[cfg(experimental_new_encoding = true)] -const CONTRACT_ID = 0xde84d6f8cbc692973be031a0e0e74b033b3517d721fc25db524f44731bf87e33; // AUTO-CONTRACT-ID ../../test_contracts/storage_access_contract --release +const CONTRACT_ID = 0xa21420a5f8d971247a47baae7cc680b3dee5b84fb12e6672ee34c3916faf1b5b; // AUTO-CONTRACT-ID ../../test_contracts/storage_access_contract --release fn main() -> bool { let caller = abi(StorageAccess, CONTRACT_ID); diff --git a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap index 346c2f42072..23d5a70a2af 100644 --- a/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap +++ b/test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call/stdout.snap @@ -7,44 +7,44 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-vec) Compiling contract const_of_contract_call (test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call) - Finished release [optimized + fuel] target(s) [19.176 KB] in ??? + Finished release [optimized + fuel] target(s) [19.08 KB] in ??? Running 33 tests, filtered 0 tests tested -- const_of_contract_call - test cost_of_in_bool ... ok (???, 1742 gas) - test cost_of_in_u8 ... ok (???, 1710 gas) - test cost_of_in_u16 ... ok (???, 1798 gas) - test cost_of_in_u32 ... ok (???, 1882 gas) - test cost_of_in_u64 ... ok (???, 1516 gas) - test cost_of_in_u256 ... ok (???, 1597 gas) - test cost_of_in_b256 ... ok (???, 1587 gas) - test cost_of_in_str_0 ... ok (???, 1900 gas) - test cost_of_in_str_1 ... ok (???, 2016 gas) - test cost_of_in_str_8 ... ok (???, 2023 gas) - test cost_of_in_str_16 ... ok (???, 2020 gas) - test cost_of_in_str_32 ... ok (???, 2030 gas) - test cost_of_in_array_0 ... ok (???, 1544 gas) - test cost_of_in_array_1 ... ok (???, 1596 gas) - test cost_of_in_array_8 ... ok (???, 2104 gas) - test cost_of_in_array_16 ... ok (???, 1636 gas) - test cost_of_in_array_32 ... ok (???, 1685 gas) - test cost_of_in_array_64 ... ok (???, 1778 gas) - test cost_of_in_tuple_0 ... ok (???, 1514 gas) - test cost_of_in_tuple_1 ... ok (???, 1631 gas) - test cost_of_in_tuple_2 ... ok (???, 1649 gas) - test cost_of_in_tuple_3 ... ok (???, 1657 gas) - test cost_of_in_tuple_4 ... ok (???, 1644 gas) - test in_struct_u64 ... ok (???, 1619 gas) - test in_struct_u64_u64 ... ok (???, 1644 gas) - test in_struct_u64_u64_u64 ... ok (???, 1659 gas) - test in_enum_u64 ... ok (???, 1615 gas) - test in_enum_u64_u64 ... ok (???, 1617 gas) - test in_enum_u64_u64_u64 ... ok (???, 1629 gas) - test in_vec_trivial ... ok (???, 2678 gas) - test in_vec_not_trivial ... ok (???, 5862 gas) - test order_args_without_trivial_enum ... ok (???, 3043 gas) - test order_args_with_trivial_enum ... ok (???, 3221 gas) + test cost_of_in_bool ... ok (???, 1741 gas) + test cost_of_in_u8 ... ok (???, 1709 gas) + test cost_of_in_u16 ... ok (???, 1797 gas) + test cost_of_in_u32 ... ok (???, 1881 gas) + test cost_of_in_u64 ... ok (???, 1515 gas) + test cost_of_in_u256 ... ok (???, 1596 gas) + test cost_of_in_b256 ... ok (???, 1586 gas) + test cost_of_in_str_0 ... ok (???, 1899 gas) + test cost_of_in_str_1 ... ok (???, 2015 gas) + test cost_of_in_str_8 ... ok (???, 2022 gas) + test cost_of_in_str_16 ... ok (???, 2019 gas) + test cost_of_in_str_32 ... ok (???, 2029 gas) + test cost_of_in_array_0 ... ok (???, 1543 gas) + test cost_of_in_array_1 ... ok (???, 1595 gas) + test cost_of_in_array_8 ... ok (???, 2103 gas) + test cost_of_in_array_16 ... ok (???, 1635 gas) + test cost_of_in_array_32 ... ok (???, 1684 gas) + test cost_of_in_array_64 ... ok (???, 1777 gas) + test cost_of_in_tuple_0 ... ok (???, 1513 gas) + test cost_of_in_tuple_1 ... ok (???, 1630 gas) + test cost_of_in_tuple_2 ... ok (???, 1648 gas) + test cost_of_in_tuple_3 ... ok (???, 1656 gas) + test cost_of_in_tuple_4 ... ok (???, 1643 gas) + test in_struct_u64 ... ok (???, 1618 gas) + test in_struct_u64_u64 ... ok (???, 1643 gas) + test in_struct_u64_u64_u64 ... ok (???, 1658 gas) + test in_enum_u64 ... ok (???, 1614 gas) + test in_enum_u64_u64 ... ok (???, 1616 gas) + test in_enum_u64_u64_u64 ... ok (???, 1628 gas) + test in_vec_trivial ... ok (???, 2675 gas) + test in_vec_not_trivial ... ok (???, 5850 gas) + test order_args_without_trivial_enum ... ok (???, 3035 gas) + test order_args_with_trivial_enum ... ok (???, 3213 gas) test result: OK. 33 passed; 0 failed; finished in ??? @@ -279,12 +279,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-vec) Compiling contract const_of_contract_call (test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call) - Finished release [optimized + fuel] target(s) [1.976 KB] in ??? + Finished release [optimized + fuel] target(s) [1.968 KB] in ??? Running 1 test, filtered 0 tests tested -- const_of_contract_call - test order_args_without_trivial_enum ... ok (???, 2818 gas) + test order_args_without_trivial_enum ... ok (???, 2815 gas) test result: OK. 1 passed; 0 failed; finished in ??? @@ -299,12 +299,12 @@ output: Building test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call Compiling library std (test/src/e2e_vm_tests/reduced_std_libs/sway-lib-std-vec) Compiling contract const_of_contract_call (test/src/e2e_vm_tests/test_programs/should_pass/test_contracts/const_of_contract_call) - Finished release [optimized + fuel] target(s) [2.272 KB] in ??? + Finished release [optimized + fuel] target(s) [2.264 KB] in ??? Running 1 test, filtered 0 tests tested -- const_of_contract_call - test order_args_with_trivial_enum ... ok (???, 2979 gas) + test order_args_with_trivial_enum ... ok (???, 2976 gas) test result: OK. 1 passed; 0 failed; finished in ???