Fix OpMul for 32-bit x 32-bit inputs

Signed-off-by: Kevin Cheng <kevin.cheng@arm.com>
Change-Id: I068d3ce0bffe1b49845f0c8cd39130060cceaf19
diff --git a/reference_model/src/ops/ewise_binary.cc b/reference_model/src/ops/ewise_binary.cc
index 7ed8374..fc587f1 100644
--- a/reference_model/src/ops/ewise_binary.cc
+++ b/reference_model/src/ops/ewise_binary.cc
@@ -436,7 +436,7 @@
                 if (shift > 0)
                 {
                     int64_t round = 1L << (shift - 1);
-                    result        = a * b + round;
+                    result        = static_cast<int64_t>(a) * static_cast<int64_t>(b) + round;
                     result        = result >> shift;
 
                     ASSERT_MSG_NODE(result >= QMin && result <= QMax,