From 4db004417cfc1417f6984633347929aa7f6407a4 Mon Sep 17 00:00:00 2001 From: Robin Salen Date: Thu, 6 Apr 2023 16:59:19 -0400 Subject: [PATCH] Implement sgt in interpreter --- evm/src/cpu/kernel/interpreter.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/evm/src/cpu/kernel/interpreter.rs b/evm/src/cpu/kernel/interpreter.rs index 64d2d0b8..108ed133 100644 --- a/evm/src/cpu/kernel/interpreter.rs +++ b/evm/src/cpu/kernel/interpreter.rs @@ -319,7 +319,7 @@ impl<'a> Interpreter<'a> { 0x10 => self.run_lt(), // "LT", 0x11 => self.run_gt(), // "GT", 0x12 => self.run_slt(), // "SLT", - 0x13 => todo!(), // "SGT", + 0x13 => self.run_sgt(), // "SGT", 0x14 => self.run_eq(), // "EQ", 0x15 => self.run_iszero(), // "ISZERO", 0x16 => self.run_and(), // "AND", @@ -583,6 +583,12 @@ impl<'a> Interpreter<'a> { self.push_bool(signed_cmp(x, y) == Ordering::Less); } + fn run_sgt(&mut self) { + let x = self.pop(); + let y = self.pop(); + self.push_bool(signed_cmp(x, y) == Ordering::Greater); + } + fn run_eq(&mut self) { let x = self.pop(); let y = self.pop();