@@ -670,96 +670,6 @@ void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Reg
670670 MacroAssembler::call_VM_leaf_base (entry_point, 4 );
671671}
672672
673- void MacroAssembler::nop () {
674- addi (x0, x0, 0 );
675- }
676-
677- void MacroAssembler::mv (Register Rd, Register Rs) {
678- if (Rd != Rs) {
679- addi (Rd, Rs, 0 );
680- }
681- }
682-
683- void MacroAssembler::notr (Register Rd, Register Rs) {
684- xori (Rd, Rs, -1 );
685- }
686-
687- void MacroAssembler::neg (Register Rd, Register Rs) {
688- sub (Rd, x0, Rs);
689- }
690-
691- void MacroAssembler::negw (Register Rd, Register Rs) {
692- subw (Rd, x0, Rs);
693- }
694-
695- void MacroAssembler::sext_w (Register Rd, Register Rs) {
696- addiw (Rd, Rs, 0 );
697- }
698-
699- void MacroAssembler::zext_b (Register Rd, Register Rs) {
700- andi (Rd, Rs, 0xFF );
701- }
702-
703- void MacroAssembler::seqz (Register Rd, Register Rs) {
704- sltiu (Rd, Rs, 1 );
705- }
706-
707- void MacroAssembler::snez (Register Rd, Register Rs) {
708- sltu (Rd, x0, Rs);
709- }
710-
711- void MacroAssembler::sltz (Register Rd, Register Rs) {
712- slt (Rd, Rs, x0);
713- }
714-
715- void MacroAssembler::sgtz (Register Rd, Register Rs) {
716- slt (Rd, x0, Rs);
717- }
718-
719- void MacroAssembler::fmv_s (FloatRegister Rd, FloatRegister Rs) {
720- if (Rd != Rs) {
721- fsgnj_s (Rd, Rs, Rs);
722- }
723- }
724-
725- void MacroAssembler::fabs_s (FloatRegister Rd, FloatRegister Rs) {
726- fsgnjx_s (Rd, Rs, Rs);
727- }
728-
729- void MacroAssembler::fneg_s (FloatRegister Rd, FloatRegister Rs) {
730- fsgnjn_s (Rd, Rs, Rs);
731- }
732-
733- void MacroAssembler::fmv_d (FloatRegister Rd, FloatRegister Rs) {
734- if (Rd != Rs) {
735- fsgnj_d (Rd, Rs, Rs);
736- }
737- }
738-
739- void MacroAssembler::fabs_d (FloatRegister Rd, FloatRegister Rs) {
740- fsgnjx_d (Rd, Rs, Rs);
741- }
742-
743- void MacroAssembler::fneg_d (FloatRegister Rd, FloatRegister Rs) {
744- fsgnjn_d (Rd, Rs, Rs);
745- }
746-
747- void MacroAssembler::vmnot_m (VectorRegister vd, VectorRegister vs) {
748- vmnand_mm (vd, vs, vs);
749- }
750-
751- void MacroAssembler::vncvt_x_x_w (VectorRegister vd, VectorRegister vs, VectorMask vm) {
752- vnsrl_wx (vd, vs, x0, vm);
753- }
754-
755- void MacroAssembler::vneg_v (VectorRegister vd, VectorRegister vs) {
756- vrsub_vx (vd, vs, x0);
757- }
758-
759- void MacroAssembler::vfneg_v (VectorRegister vd, VectorRegister vs) {
760- vfsgnjn_vv (vd, vs, vs);
761- }
762-
763673void MacroAssembler::baseOffset32 (Register Rd, const Address &adr, int32_t &offset) {
764674 assert (Rd != noreg, " Rd must not be empty register!" );
765675 guarantee (Rd != adr.base (), " should use different registers!" );
@@ -1625,21 +1535,6 @@ void MacroAssembler::reinit_heapbase() {
16251535 }
16261536}
16271537
1628- void MacroAssembler::mv (Register Rd, Address dest) {
1629- assert (dest.getMode () == Address::literal, " Address mode should be Address::literal" );
1630- relocate (dest.rspec (), [&] {
1631- movptr (Rd, dest.target ());
1632- });
1633- }
1634-
1635- void MacroAssembler::mv (Register Rd, RegisterOrConstant src) {
1636- if (src.is_register ()) {
1637- mv (Rd, src.as_register ());
1638- } else {
1639- mv (Rd, src.as_constant ());
1640- }
1641- }
1642-
16431538void MacroAssembler::movptr (Register Rd, address addr, int32_t &offset) {
16441539 int64_t imm64 = (int64_t )addr;
16451540#ifndef PRODUCT
@@ -1669,16 +1564,6 @@ void MacroAssembler::movptr(Register Rd, address addr, int32_t &offset) {
16691564 offset = imm64 & 0x3f ;
16701565}
16711566
1672- void MacroAssembler::movptr (Register Rd, uintptr_t imm64) {
1673- movptr (Rd, (address)imm64);
1674- }
1675-
1676- void MacroAssembler::movptr (Register Rd, address addr) {
1677- int offset = 0 ;
1678- movptr (Rd, addr, offset);
1679- addi (Rd, Rd, offset);
1680- }
1681-
16821567void MacroAssembler::add (Register Rd, Register Rn, int64_t increment, Register temp) {
16831568 if (is_imm_in_range (increment, 12 , 0 )) {
16841569 addi (Rd, Rn, increment);
@@ -3357,8 +3242,7 @@ void MacroAssembler::load_method_holder(Register holder, Register method) {
33573242void MacroAssembler::compute_index (Register haystack, Register trailing_zeros,
33583243 Register match_mask, Register result,
33593244 Register ch2, Register tmp,
3360- bool haystack_isL)
3361- {
3245+ bool haystack_isL) {
33623246 int haystack_chr_shift = haystack_isL ? 0 : 1 ;
33633247 srl (match_mask, match_mask, trailing_zeros);
33643248 srli (match_mask, match_mask, 1 );
@@ -3379,8 +3263,7 @@ void MacroAssembler::compute_index(Register haystack, Register trailing_zeros,
33793263// - 0x8000800080008000 (UTF16)
33803264// - 3 2 1 0 (match index)
33813265void MacroAssembler::compute_match_mask (Register src, Register pattern, Register match_mask,
3382- Register mask1, Register mask2)
3383- {
3266+ Register mask1, Register mask2) {
33843267 xorr (src, pattern, src);
33853268 sub (match_mask, src, mask1);
33863269 orr (src, src, mask2);
@@ -3464,24 +3347,21 @@ void MacroAssembler::cad(Register dst, Register src1, Register src2, Register ca
34643347}
34653348
34663349// add two input with carry
3467- void MacroAssembler::adc (Register dst, Register src1, Register src2, Register carry)
3468- {
3350+ void MacroAssembler::adc (Register dst, Register src1, Register src2, Register carry) {
34693351 assert_different_registers (dst, carry);
34703352 add (dst, src1, src2);
34713353 add (dst, dst, carry);
34723354}
34733355
34743356// add two unsigned input with carry and output carry
3475- void MacroAssembler::cadc (Register dst, Register src1, Register src2, Register carry)
3476- {
3357+ void MacroAssembler::cadc (Register dst, Register src1, Register src2, Register carry) {
34773358 assert_different_registers (dst, src2);
34783359 adc (dst, src1, src2, carry);
34793360 sltu (carry, dst, src2);
34803361}
34813362
34823363void MacroAssembler::add2_with_carry (Register final_dest_hi, Register dest_hi, Register dest_lo,
3483- Register src1, Register src2, Register carry)
3484- {
3364+ Register src1, Register src2, Register carry) {
34853365 cad (dest_lo, dest_lo, src1, carry);
34863366 add (dest_hi, dest_hi, carry);
34873367 cad (dest_lo, dest_lo, src2, carry);
@@ -3494,8 +3374,7 @@ void MacroAssembler::add2_with_carry(Register final_dest_hi, Register dest_hi, R
34943374void MacroAssembler::multiply_32_x_32_loop (Register x, Register xstart, Register x_xstart,
34953375 Register y, Register y_idx, Register z,
34963376 Register carry, Register product,
3497- Register idx, Register kdx)
3498- {
3377+ Register idx, Register kdx) {
34993378 // jlong carry, x[], y[], z[];
35003379 // for (int idx=ystart, kdx=ystart+1+xstart; idx >= 0; idx--, kdx--) {
35013380 // long product = y[idx] * x[xstart] + carry;
@@ -3531,8 +3410,7 @@ void MacroAssembler::multiply_32_x_32_loop(Register x, Register xstart, Register
35313410void MacroAssembler::multiply_64_x_64_loop (Register x, Register xstart, Register x_xstart,
35323411 Register y, Register y_idx, Register z,
35333412 Register carry, Register product,
3534- Register idx, Register kdx)
3535- {
3413+ Register idx, Register kdx) {
35363414 //
35373415 // jlong carry, x[], y[], z[];
35383416 // for (int idx=ystart, kdx=ystart+1+xstart; idx >= 0; idx--, kdx--) {
@@ -3596,8 +3474,7 @@ void MacroAssembler::multiply_128_x_128_loop(Register y, Register z,
35963474 Register idx, Register jdx,
35973475 Register yz_idx1, Register yz_idx2,
35983476 Register tmp, Register tmp3, Register tmp4,
3599- Register tmp6, Register product_hi)
3600- {
3477+ Register tmp6, Register product_hi) {
36013478 // jlong carry, x[], y[], z[];
36023479 // int kdx = xstart+1;
36033480 // for (int idx=ystart-2; idx >= 0; idx -= 2) { // Third loop
@@ -3732,8 +3609,7 @@ void MacroAssembler::multiply_128_x_128_loop(Register y, Register z,
37323609void MacroAssembler::multiply_to_len (Register x, Register xlen, Register y, Register ylen,
37333610 Register z, Register zlen,
37343611 Register tmp1, Register tmp2, Register tmp3, Register tmp4,
3735- Register tmp5, Register tmp6, Register product_hi)
3736- {
3612+ Register tmp5, Register tmp6, Register product_hi) {
37373613 assert_different_registers (x, xlen, y, ylen, z, zlen, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
37383614
37393615 const Register idx = tmp1;
@@ -3897,8 +3773,7 @@ void MacroAssembler::multiply_to_len(Register x, Register xlen, Register y, Regi
38973773// Count bits of trailing zero chars from lsb to msb until first non-zero element.
38983774// For LL case, one byte for one element, so shift 8 bits once, and for other case,
38993775// shift 16 bits once.
3900- void MacroAssembler::ctzc_bit (Register Rd, Register Rs, bool isLL, Register tmp1, Register tmp2)
3901- {
3776+ void MacroAssembler::ctzc_bit (Register Rd, Register Rs, bool isLL, Register tmp1, Register tmp2) {
39023777 if (UseZbb) {
39033778 assert_different_registers (Rd, Rs, tmp1);
39043779 int step = isLL ? 8 : 16 ;
@@ -3907,6 +3782,7 @@ void MacroAssembler::ctzc_bit(Register Rd, Register Rs, bool isLL, Register tmp1
39073782 sub (Rd, Rd, tmp1);
39083783 return ;
39093784 }
3785+
39103786 assert_different_registers (Rd, Rs, tmp1, tmp2);
39113787 Label Loop;
39123788 int step = isLL ? 8 : 16 ;
@@ -3924,13 +3800,12 @@ void MacroAssembler::ctzc_bit(Register Rd, Register Rs, bool isLL, Register tmp1
39243800// inflate into a register, for example:
39253801// Rs: A7A6A5A4A3A2A1A0
39263802// Rd: 00A300A200A100A0
3927- void MacroAssembler::inflate_lo32 (Register Rd, Register Rs, Register tmp1, Register tmp2)
3928- {
3803+ void MacroAssembler::inflate_lo32 (Register Rd, Register Rs, Register tmp1, Register tmp2) {
39293804 assert_different_registers (Rd, Rs, tmp1, tmp2);
3805+
39303806 mv (tmp1, 0xFF );
39313807 mv (Rd, zr);
3932- for (int i = 0 ; i <= 3 ; i++)
3933- {
3808+ for (int i = 0 ; i <= 3 ; i++) {
39343809 andr (tmp2, Rs, tmp1);
39353810 if (i) {
39363811 slli (tmp2, tmp2, i * 8 );
@@ -3946,13 +3821,12 @@ void MacroAssembler::inflate_lo32(Register Rd, Register Rs, Register tmp1, Regis
39463821// inflate into a register, for example:
39473822// Rs: A7A6A5A4A3A2A1A0
39483823// Rd: 00A700A600A500A4
3949- void MacroAssembler::inflate_hi32 (Register Rd, Register Rs, Register tmp1, Register tmp2)
3950- {
3824+ void MacroAssembler::inflate_hi32 (Register Rd, Register Rs, Register tmp1, Register tmp2) {
39513825 assert_different_registers (Rd, Rs, tmp1, tmp2);
3826+
39523827 mv (tmp1, 0xFF00000000 );
39533828 mv (Rd, zr);
3954- for (int i = 0 ; i <= 3 ; i++)
3955- {
3829+ for (int i = 0 ; i <= 3 ; i++) {
39563830 andr (tmp2, Rs, tmp1);
39573831 orr (Rd, Rd, tmp2);
39583832 srli (Rd, Rd, 8 );
@@ -3975,13 +3849,13 @@ const int MacroAssembler::zero_words_block_size = 8;
39753849// cnt: Count in HeapWords.
39763850//
39773851// ptr, cnt, and t0 are clobbered.
3978- address MacroAssembler::zero_words (Register ptr, Register cnt)
3979- {
3852+ address MacroAssembler::zero_words (Register ptr, Register cnt) {
39803853 assert (is_power_of_2 (zero_words_block_size), " adjust this" );
39813854 assert (ptr == x28 && cnt == x29, " mismatch in register usage" );
39823855 assert_different_registers (cnt, t0);
39833856
39843857 BLOCK_COMMENT (" zero_words {" );
3858+
39853859 mv (t0, zero_words_block_size);
39863860 Label around, done, done16;
39873861 bltu (cnt, t0, around);
@@ -4017,6 +3891,7 @@ address MacroAssembler::zero_words(Register ptr, Register cnt)
40173891 sd (zr, Address (ptr, 0 ));
40183892 bind (l);
40193893 }
3894+
40203895 BLOCK_COMMENT (" } zero_words" );
40213896 postcond (pc () != badAddress);
40223897 return pc ();
@@ -4026,8 +3901,7 @@ address MacroAssembler::zero_words(Register ptr, Register cnt)
40263901
40273902// base: Address of a buffer to be zeroed, 8 bytes aligned.
40283903// cnt: Immediate count in HeapWords.
4029- void MacroAssembler::zero_words (Register base, uint64_t cnt)
4030- {
3904+ void MacroAssembler::zero_words (Register base, uint64_t cnt) {
40313905 assert_different_registers (base, t0, t1);
40323906
40333907 BLOCK_COMMENT (" zero_words {" );
@@ -4065,8 +3939,7 @@ void MacroAssembler::zero_words(Register base, uint64_t cnt)
40653939// cnt: Count in 8-byte unit.
40663940// value: Value to be filled with.
40673941// base will point to the end of the buffer after filling.
4068- void MacroAssembler::fill_words (Register base, Register cnt, Register value)
4069- {
3942+ void MacroAssembler::fill_words (Register base, Register cnt, Register value) {
40703943// Algorithm:
40713944//
40723945// t0 = cnt & 7
@@ -4413,6 +4286,7 @@ void MacroAssembler::object_move(OopMap* map,
44134286 bool is_receiver,
44144287 int * receiver_offset) {
44154288 assert_cond (map != NULL && receiver_offset != NULL );
4289+
44164290 // must pass a handle. First figure out the location we use as a handle
44174291 Register rHandle = dst.first ()->is_stack () ? t1 : dst.first ()->as_Register ();
44184292
0 commit comments