OSDN Git Service

target/riscv: fix ctzw behavior
authorVladimir Isaev <vladimir.isaev@syntacore.com>
Sat, 4 Feb 2023 08:23:12 +0000 (11:23 +0300)
committerAlistair Francis <alistair.francis@wdc.com>
Mon, 6 Feb 2023 22:19:23 +0000 (08:19 +1000)
commit5fc0fc8788e08f151f5d0c47d205e009aeb33844
treee898f43897d6a7c0e803a18c0fb729f82e068aa2
parent506c6698fbe53e88fba3160fc3842e5d41a9ee25
target/riscv: fix ctzw behavior

According to spec, ctzw should work with 32-bit register, not 64.

For example, previous implementation returns 33 for (1<<33) input
when the new one returns 32.

Signed-off-by: Vladimir Isaev <vladimir.isaev@syntacore.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230204082312.43557-1-vladimir.isaev@syntacore.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/insn_trans/trans_rvb.c.inc