working on instruction models
authorJacob Lifshay <programmerjake@gmail.com>
Thu, 28 May 2020 06:29:54 +0000 (23:29 -0700)
committerJacob Lifshay <programmerjake@gmail.com>
Thu, 28 May 2020 06:29:54 +0000 (23:29 -0700)
src/instr_models.rs

index 092f359f1798594c47e9bfebad8d825ae49764f9..0890f45f52e98fb8710c3f563fda0b5feed136d2 100644 (file)
@@ -124,8 +124,8 @@ pub fn divweo(inputs: TestDivInput) -> TestDivResult {
 }
 
 pub fn divweuo(inputs: TestDivInput) -> TestDivResult {
-    let dividend = u64::from(inputs.dividend) << 32;
-    let divisor = u64::from(inputs.divisor);
+    let dividend = u64::from(inputs.dividend as u32) << 32;
+    let divisor = u64::from(inputs.divisor as u32);
     let overflow;
     let result;
     if divisor == 0 {
@@ -228,7 +228,7 @@ pub fn modsw(inputs: TestDivInput) -> TestDivResult {
     if divisor == 0 || (divisor == -1 && dividend == i32::min_value()) {
         result = 0;
     } else {
-        result = (dividend % divisor) as u32 as u64;
+        result = (dividend % divisor) as u64;
     }
     TestDivResult {
         result,