From 811f117ce396ac7aafd71f5618f2de96bb96f311 Mon Sep 17 00:00:00 2001 From: Hamlin Li Date: Fri, 2 May 2025 08:28:57 +0000 Subject: [PATCH] 8355980: RISC-V: remove vmclr_m before vmsXX and vmfXX Reviewed-by: dzhang, fyang --- src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp b/src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp index 0dc39744741..77b4e26cc92 100644 --- a/src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp +++ b/src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp @@ -3110,7 +3110,9 @@ void C2_MacroAssembler::compare_integral_v(VectorRegister vd, VectorRegister src assert(is_integral_type(bt), "unsupported element type"); assert(vm == Assembler::v0_t ? vd != v0 : true, "should be different registers"); vsetvli_helper(bt, vector_length); - vmclr_m(vd); + if (vm == Assembler::v0_t) { + vmclr_m(vd); + } switch (cond) { case BoolTest::eq: vmseq_vv(vd, src1, src2, vm); break; case BoolTest::ne: vmsne_vv(vd, src1, src2, vm); break; @@ -3133,7 +3135,9 @@ void C2_MacroAssembler::compare_fp_v(VectorRegister vd, VectorRegister src1, Vec assert(is_floating_point_type(bt), "unsupported element type"); assert(vm == Assembler::v0_t ? vd != v0 : true, "should be different registers"); vsetvli_helper(bt, vector_length); - vmclr_m(vd); + if (vm == Assembler::v0_t) { + vmclr_m(vd); + } switch (cond) { case BoolTest::eq: vmfeq_vv(vd, src1, src2, vm); break; case BoolTest::ne: vmfne_vv(vd, src1, src2, vm); break;