Skip to content

Commit 864b39a

Browse files
committed
8320564: RISC-V: Minimal build failed after JDK-8316592
Reviewed-by: fyang, shade
1 parent 2bb4b93 commit 864b39a

File tree

2 files changed

+21
-21
lines changed

2 files changed

+21
-21
lines changed

src/hotspot/cpu/riscv/macroAssembler_riscv.cpp

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2048,23 +2048,6 @@ void MacroAssembler::cmp_klass(Register oop, Register trial_klass, Register tmp1
20482048
beq(trial_klass, tmp1, L);
20492049
}
20502050

2051-
// Multiply and multiply-accumulate unsigned 64-bit registers.
2052-
void MacroAssembler::wide_mul(Register prod_lo, Register prod_hi, Register n, Register m) {
2053-
assert_different_registers(prod_lo, prod_hi);
2054-
2055-
mul(prod_lo, n, m);
2056-
mulhu(prod_hi, n, m);
2057-
}
2058-
void MacroAssembler::wide_madd(Register sum_lo, Register sum_hi, Register n,
2059-
Register m, Register tmp1, Register tmp2) {
2060-
assert_different_registers(sum_lo, sum_hi);
2061-
assert_different_registers(sum_hi, tmp2);
2062-
2063-
wide_mul(tmp1, tmp2, n, m);
2064-
cad(sum_lo, sum_lo, tmp1, tmp1); // Add tmp1 to sum_lo with carry output to tmp1
2065-
adc(sum_hi, sum_hi, tmp2, tmp1); // Add tmp2 with carry to sum_hi
2066-
}
2067-
20682051
// Move an oop into a register.
20692052
void MacroAssembler::movoop(Register dst, jobject obj) {
20702053
int oop_index;
@@ -3576,6 +3559,24 @@ void MacroAssembler::mul_add(Register out, Register in, Register offset,
35763559
bind(L_end);
35773560
}
35783561

3562+
// Multiply and multiply-accumulate unsigned 64-bit registers.
3563+
void MacroAssembler::wide_mul(Register prod_lo, Register prod_hi, Register n, Register m) {
3564+
assert_different_registers(prod_lo, prod_hi);
3565+
3566+
mul(prod_lo, n, m);
3567+
mulhu(prod_hi, n, m);
3568+
}
3569+
3570+
void MacroAssembler::wide_madd(Register sum_lo, Register sum_hi, Register n,
3571+
Register m, Register tmp1, Register tmp2) {
3572+
assert_different_registers(sum_lo, sum_hi);
3573+
assert_different_registers(sum_hi, tmp2);
3574+
3575+
wide_mul(tmp1, tmp2, n, m);
3576+
cad(sum_lo, sum_lo, tmp1, tmp1); // Add tmp1 to sum_lo with carry output to tmp1
3577+
adc(sum_hi, sum_hi, tmp2, tmp1); // Add tmp2 with carry to sum_hi
3578+
}
3579+
35793580
// add two unsigned input and output carry
35803581
void MacroAssembler::cad(Register dst, Register src1, Register src2, Register carry)
35813582
{

src/hotspot/cpu/riscv/macroAssembler_riscv.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,6 @@ class MacroAssembler: public Assembler {
198198
void store_klass(Register dst, Register src, Register tmp = t0);
199199
void cmp_klass(Register oop, Register trial_klass, Register tmp1, Register tmp2, Label &L);
200200

201-
void wide_mul(Register prod_lo, Register prod_hi, Register n, Register m);
202-
void wide_madd(Register sum_lo, Register sum_hi, Register n,
203-
Register m, Register tmp1, Register tmp2);
204-
205201
void encode_klass_not_null(Register r, Register tmp = t0);
206202
void decode_klass_not_null(Register r, Register tmp = t0);
207203
void encode_klass_not_null(Register dst, Register src, Register tmp);
@@ -1204,6 +1200,9 @@ class MacroAssembler: public Assembler {
12041200
#ifdef COMPILER2
12051201
void mul_add(Register out, Register in, Register offset,
12061202
Register len, Register k, Register tmp);
1203+
void wide_mul(Register prod_lo, Register prod_hi, Register n, Register m);
1204+
void wide_madd(Register sum_lo, Register sum_hi, Register n,
1205+
Register m, Register tmp1, Register tmp2);
12071206
void cad(Register dst, Register src1, Register src2, Register carry);
12081207
void cadc(Register dst, Register src1, Register src2, Register carry);
12091208
void adc(Register dst, Register src1, Register src2, Register carry);

0 commit comments

Comments
 (0)