Skip to content

Commit 811f117

Browse files
author
Hamlin Li
committed
8355980: RISC-V: remove vmclr_m before vmsXX and vmfXX
Reviewed-by: dzhang, fyang
1 parent d29700c commit 811f117

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3110,7 +3110,9 @@ void C2_MacroAssembler::compare_integral_v(VectorRegister vd, VectorRegister src
31103110
assert(is_integral_type(bt), "unsupported element type");
31113111
assert(vm == Assembler::v0_t ? vd != v0 : true, "should be different registers");
31123112
vsetvli_helper(bt, vector_length);
3113-
vmclr_m(vd);
3113+
if (vm == Assembler::v0_t) {
3114+
vmclr_m(vd);
3115+
}
31143116
switch (cond) {
31153117
case BoolTest::eq: vmseq_vv(vd, src1, src2, vm); break;
31163118
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
31333135
assert(is_floating_point_type(bt), "unsupported element type");
31343136
assert(vm == Assembler::v0_t ? vd != v0 : true, "should be different registers");
31353137
vsetvli_helper(bt, vector_length);
3136-
vmclr_m(vd);
3138+
if (vm == Assembler::v0_t) {
3139+
vmclr_m(vd);
3140+
}
31373141
switch (cond) {
31383142
case BoolTest::eq: vmfeq_vv(vd, src1, src2, vm); break;
31393143
case BoolTest::ne: vmfne_vv(vd, src1, src2, vm); break;

0 commit comments

Comments
 (0)