Skip to content

Instantly share code, notes, and snippets.

@Robbepop
Created March 8, 2024 14:08
Show Gist options
  • Save Robbepop/d17d6c966d69ac619f2f1e30d5728d3f to your computer and use it in GitHub Desktop.
Save Robbepop/d17d6c966d69ac619f2f1e30d5728d3f to your computer and use it in GitHub Desktop.
I32ShlImm(BinInstrImm { result: Register(11), reg_in: Register(2), imm_in: Const16 { inner: AnyConst16(1), marker: PhantomData<fn() -> i32> } })
I32AndImm16(BinInstrImm { result: Register(11), reg_in: Register(11), imm_in: Const16 { inner: AnyConst16(384), marker: PhantomData<fn() -> i32> } })
I32Add(BinInstr { result: Register(11), lhs: Register(7), rhs: Register(11) })
I32Add(BinInstr { result: Register(11), lhs: Register(11), rhs: Register(-1) })
I32Load8uOffset16(LoadOffset16Instr { result: Register(5), ptr: Register(11), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540471 load mem[2037963] -> 0x7B
Copy { result: Register(14), value: Register(3) }
I32Sub(BinInstr { result: Register(3), lhs: Register(2), rhs: Register(5) })
I32ShlImm(BinInstrImm { result: Register(6), reg_in: Register(3), imm_in: Const16 { inner: AnyConst16(17), marker: PhantomData<fn() -> i32> } })
I32LoadOffset16(LoadOffset16Instr { result: Register(8), ptr: Register(0), offset: Const16 { inner: AnyConst16(32040), marker: PhantomData<fn() -> u32> } })
540472 load mem[12882176 + 32040] -> 0x18B1B2A
I32LtS(BinInstr { result: Register(11), lhs: Register(6), rhs: Register(8) })
SelectImm32 { result_or_condition: Register(2), lhs_or_rhs: AnyConst32([255, 255, 255, 255]) }
I32Xor(BinInstr { result: Register(7), lhs: Register(2), rhs: Register(7) })
I32Add(BinInstr { result: Register(11), lhs: Register(7), rhs: Register(-2) })
I32Load8uOffset16(LoadOffset16Instr { result: Register(11), ptr: Register(11), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540473 load mem[2038590] -> 0x4
I32Store8Offset16(StoreOffset16Instr { ptr: Register(14), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> }, value: Register(11) })
298098 store mem[12914304] <- 0x4
I32Sub(BinInstr { result: Register(11), lhs: Register(5), rhs: Register(3) })
I32And(BinInstr { result: Register(11), lhs: Register(11), rhs: Register(2) })
I32Add(BinInstr { result: Register(3), lhs: Register(11), rhs: Register(3) })
I32Add(BinInstr { result: Register(11), lhs: Register(3), rhs: Register(-3) })
Copy { result: Register(14), value: Register(3) }
I32Load8uOffset16(LoadOffset16Instr { result: Register(3), ptr: Register(11), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540474 load mem[2037568] -> 0x2
Copy { result: Register(14), value: Register(4) }
I32Shl(BinInstr { result: Register(4), lhs: Register(14), rhs: Register(3) })
I32StoreOffset16(StoreOffset16Instr { ptr: Register(14), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> }, value: Register(4) })
298099 store mem[12914220] <- 0x31438B0
I32And(BinInstr { result: Register(11), lhs: Register(2), rhs: Register(6) })
I32Sub(BinInstr { result: Register(11), lhs: Register(8), rhs: Register(11) })
I32Shl(BinInstr { result: Register(3), lhs: Register(11), rhs: Register(3) })
I32StoreOffset16(StoreOffset16Instr { ptr: Register(0), offset: Const16 { inner: AnyConst16(32040), marker: PhantomData<fn() -> u32> }, value: Register(3) })
298100 store mem[12882176 + 32040] <- 0x11C6CA8
BranchI32And(BranchBinOpInstr { lhs: Register(3), rhs: Register(-4), offset: BranchOffset16(16) })
BranchI32AndEqzImm(BranchBinOpInstrImm { lhs: Register(7), rhs: Const16 { inner: AnyConst16(1), marker: PhantomData<fn() -> i32> }, offset: BranchOffset16(3) })
Copy { result: Register(11), value: Register(1) }
Branch { offset: BranchOffset(135) }
ReturnReg { value: Register(11) }
I32MulImm16(BinInstrImm { result: Register(2), reg_in: Register(44), imm_in: Const16 { inner: AnyConst16(257), marker: PhantomData<fn() -> i32> } })
I32Store16Offset16(StoreOffset16Instr { ptr: Register(3), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> }, value: Register(2) })
298101 store mem[12903056] <- 0x202
I32AddImm16(BinInstrImm { result: Register(44), reg_in: Register(1), imm_in: Const16 { inner: AnyConst16(20872), marker: PhantomData<fn() -> i32> } })
I32Store16Offset16(StoreOffset16Instr { ptr: Register(44), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> }, value: Register(2) })
298102 store mem[12903048] <- 0x202
I32AddImm16(BinInstrImm { result: Register(4), reg_in: Register(1), imm_in: Const16 { inner: AnyConst16(20882), marker: PhantomData<fn() -> i32> } })
I32AddImm16(BinInstrImm { result: Register(44), reg_in: Register(1), imm_in: Const16 { inner: AnyConst16(20866), marker: PhantomData<fn() -> i32> } })
I32Load8sOffset16(LoadOffset16Instr { result: Register(7), ptr: Register(44), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540475 load mem[12903042] -> 0xFFFFFFFF
I32ShlImm(BinInstrImm { result: Register(44), reg_in: Register(2), imm_in: Const16 { inner: AnyConst16(16), marker: PhantomData<fn() -> i32> } })
I32ShrSImm(BinInstrImm { result: Register(2), reg_in: Register(44), imm_in: Const16 { inner: AnyConst16(24), marker: PhantomData<fn() -> i32> } })
I32GtS(BinInstr { result: Register(44), lhs: Register(2), rhs: Register(7) })
Select { result: Register(2), condition: Register(44), lhs: Register(7) }
I32LtSImm16(BinInstrImm { result: Register(44), reg_in: Register(2), imm_in: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> i32> } })
SelectRev { result: Register(44), condition: Register(44), rhs: Register(2) }
CallInternal { results: RegisterSpan(Register(44)), func: CompiledFunc(8854) }
I32AddImm16(BinInstrImm { result: Register(3), reg_in: Register(0), imm_in: Const16 { inner: AnyConst16(32128), marker: PhantomData<fn() -> i32> } })
I32AddImm16(BinInstrImm { result: Register(4), reg_in: Register(0), imm_in: Const16 { inner: AnyConst16(32044), marker: PhantomData<fn() -> i32> } })
I32LoadOffset16(LoadOffset16Instr { result: Register(2), ptr: Register(4), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540476 load mem[12914220] -> 0x31438B0
I32Load8uOffset16(LoadOffset16Instr { result: Register(7), ptr: Register(3), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540477 load mem[12914304] -> 0x4
I32ShlImm(BinInstrImm { result: Register(11), reg_in: Register(2), imm_in: Const16 { inner: AnyConst16(1), marker: PhantomData<fn() -> i32> } })
I32AndImm16(BinInstrImm { result: Register(11), reg_in: Register(11), imm_in: Const16 { inner: AnyConst16(384), marker: PhantomData<fn() -> i32> } })
I32Add(BinInstr { result: Register(11), lhs: Register(7), rhs: Register(11) })
I32Add(BinInstr { result: Register(11), lhs: Register(11), rhs: Register(-1) })
I32Load8uOffset16(LoadOffset16Instr { result: Register(5), ptr: Register(11), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540478 load mem[2038217] -> 0xBB
Copy { result: Register(14), value: Register(3) }
I32Sub(BinInstr { result: Register(3), lhs: Register(2), rhs: Register(5) })
I32ShlImm(BinInstrImm { result: Register(6), reg_in: Register(3), imm_in: Const16 { inner: AnyConst16(17), marker: PhantomData<fn() -> i32> } })
I32LoadOffset16(LoadOffset16Instr { result: Register(8), ptr: Register(0), offset: Const16 { inner: AnyConst16(32040), marker: PhantomData<fn() -> u32> } })
540479 load mem[12882176 + 32040] -> 0x11C6CA8
I32LtS(BinInstr { result: Register(11), lhs: Register(6), rhs: Register(8) })
SelectImm32 { result_or_condition: Register(2), lhs_or_rhs: AnyConst32([255, 255, 255, 255]) }
I32Xor(BinInstr { result: Register(7), lhs: Register(2), rhs: Register(7) })
I32Add(BinInstr { result: Register(11), lhs: Register(7), rhs: Register(-2) })
I32Load8uOffset16(LoadOffset16Instr { result: Register(11), ptr: Register(11), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
540480 load mem[2038601] -> 0x6
I32Store8Offset16(StoreOffset16Instr { ptr: Register(14), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> }, value: Register(11) })
298103 store mem[12914304] <- 0x6
I32Sub(BinInstr { result: Register(11), lhs: Register(5), rhs: Register(3) })
I32And(BinInstr { result: Register(11), lhs: Register(11), rhs: Register(2) })
I32Add(BinInstr { result: Register(3), lhs: Register(11), rhs: Register(3) })
I32Add(BinInstr { result: Register(11), lhs: Register(3), rhs: Register(-3) })
Copy { result: Register(14), value: Register(3) }
I32Load8uOffset16(LoadOffset16Instr { result: Register(3), ptr: Register(11), offset: Const16 { inner: AnyConst16(0), marker: PhantomData<fn() -> u32> } })
Error: failed during execution of _start: out of bounds memory access
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment