No public description

PiperOrigin-RevId: 557950235
diff --git a/sim/kelvin_vector_instructions.cc b/sim/kelvin_vector_instructions.cc
index 23c2dfa..c979a41 100644
--- a/sim/kelvin_vector_instructions.cc
+++ b/sim/kelvin_vector_instructions.cc
@@ -992,7 +992,7 @@
 template <typename T>
 T KelvinVDmulhHelper(bool round, bool round_neg, T vs1, T vs2) {
   constexpr int n = sizeof(T) * 8;
-  int64_t result = static_cast<int64_t>(vs1) * static_cast<int64_t>(vs1);
+  int64_t result = static_cast<int64_t>(vs1) * static_cast<int64_t>(vs2);
   if (round) {
     int64_t rnd = 0x40000000ll >> (32 - n);
     if (result < 0 && round_neg) {
diff --git a/sim/test/kelvin_vector_instructions_test.cc b/sim/test/kelvin_vector_instructions_test.cc
index a71530c..6f2cddf 100644
--- a/sim/test/kelvin_vector_instructions_test.cc
+++ b/sim/test/kelvin_vector_instructions_test.cc
@@ -1327,7 +1327,7 @@
 template <typename T>
 T KelvinVDmulhHelper(bool round, bool round_neg, T vs1, T vs2) {
   constexpr int n = sizeof(T) * 8;
-  int64_t result = static_cast<int64_t>(vs1) * static_cast<int64_t>(vs1);
+  int64_t result = static_cast<int64_t>(vs1) * static_cast<int64_t>(vs2);
   if (round) {
     int64_t rnd = 0x40000000ll >> (32 - n);
     if (result < 0 && round_neg) {