SUMMARY This looks harmless, but GCC reports a -Wduplicated-cond warning in VEX/priv/guest_riscv64_toIR.c: priv/guest_riscv64_toIR.c: In function ‘dis_RV64M’: priv/guest_riscv64_toIR.c:1758:25: warning: duplicated ‘if’ condition [-Wduplicated-cond] 1758 | } else if (funct3 == 0b010) { | ~~~~~~~^~~~~~~~ priv/guest_riscv64_toIR.c:1756:18: note: previously used here 1756 | if (funct3 == 0b010) { | ~~~~~~~^~~~~~~~ Here is the relevant code: 1756 if (funct3 == 0b010) { 1757 /* Invalid {MUL,DIV,REM}<x>, fall through. */ 1758 } else if (funct3 == 0b010) { 1759 /* MULHSU, not currently handled, fall through. */ 1760 } else { SOFTWARE/OS VERSIONS Commit 933e542b431 compiled on Arch Linux
From what I see here https://msyksphinz-self.github.io/riscv-isadoc/html/rvm.html there are no invalid values for bits 14-12. I think that it should be just if (funct3 == 0b010) { /* MULHSU, not currently handled, fall through. */ } else {
I'll close this if no buildbot fallout. commit 09c161e6e0ee8ee057d81cfb71c0d98b16f36a19 (HEAD -> master, origin/master, origin/HEAD) Author: Paul Floyd <pjfloyd@wanadoo.fr> Date: Sun May 4 08:55:45 2025 +0200 Bug 503677 - duplicated-cond compiler warning in dis_RV64M
Buildbot didn't complain, closing this.