From f3b96f6937395246f09ac2ef3dfca5854217a0da Mon Sep 17 00:00:00 2001 From: Ilya Gavrilin Date: Fri, 14 Jul 2023 14:32:40 +0000 Subject: [PATCH] 8311862: RISC-V: small improvements to shift immediate instructions Reviewed-by: luhenry, fjiang, fyang --- src/hotspot/cpu/riscv/assembler_riscv.hpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/hotspot/cpu/riscv/assembler_riscv.hpp b/src/hotspot/cpu/riscv/assembler_riscv.hpp index 1fa89b0ae7b..f96984003f0 100644 --- a/src/hotspot/cpu/riscv/assembler_riscv.hpp +++ b/src/hotspot/cpu/riscv/assembler_riscv.hpp @@ -2787,7 +2787,13 @@ public: c_slli(Rd, shamt); \ return; \ } \ - _slli(Rd, Rs1, shamt); \ + if (shamt != 0) { \ + _slli(Rd, Rs1, shamt); \ + } else { \ + if (Rd != Rs1) { \ + addi(Rd, Rs1, 0); \ + } \ + } \ } INSN(slli); @@ -2802,7 +2808,13 @@ public: C_NAME(Rd, shamt); \ return; \ } \ - NORMAL_NAME(Rd, Rs1, shamt); \ + if (shamt != 0) { \ + NORMAL_NAME(Rd, Rs1, shamt); \ + } else { \ + if (Rd != Rs1) { \ + addi(Rd, Rs1, 0); \ + } \ + } \ } INSN(srai, c_srai, _srai);