From 462c9e766f26bd7dc0be0ee62e7ea47ed0eded25 Mon Sep 17 00:00:00 2001 From: mslijepc Date: Thu, 13 Nov 2025 16:05:34 +0100 Subject: [PATCH] small refactor of VI_EXT_CHECK to fix vl=0 cornercase --- riscv/v_ext_macros.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/riscv/v_ext_macros.h b/riscv/v_ext_macros.h index f2b32005..8db3a21e 100644 --- a/riscv/v_ext_macros.h +++ b/riscv/v_ext_macros.h @@ -1405,7 +1405,6 @@ VI_VX_ULOOP({ \ #define VI_EXT_CHECK(div) \ require(insn.rd() != insn.rs2()); \ require_vm; \ - VI_LOOP_BASE \ reg_t from = P.VU.vsew / div; \ require(from >= e8 && from <= e64); \ require(((float)P.VU.vflmul / div) >= 0.125 && ((float)P.VU.vflmul / div) <= 8 ); \ @@ -1415,7 +1414,8 @@ VI_VX_ULOOP({ \ require_noover(insn.rd(), P.VU.vflmul, insn.rs2(), P.VU.vflmul / div); \ } else { \ require_noover_widen(insn.rd(), P.VU.vflmul, insn.rs2(), P.VU.vflmul / div); \ - } + } \ + VI_LOOP_BASE \ // vector: sign/unsiged extension #define VI_VV_EXT(div, type) \