@@ -648,92 +648,6 @@ void MacroAssembler::super_call_VM_leaf(address entry_point, Register arg_0, Reg
648
648
MacroAssembler::call_VM_leaf_base (entry_point, 4 );
649
649
}
650
650
651
- void MacroAssembler::nop () {
652
- addi (x0, x0, 0 );
653
- }
654
-
655
- void MacroAssembler::mv (Register Rd, Register Rs) {
656
- if (Rd != Rs) {
657
- addi (Rd, Rs, 0 );
658
- }
659
- }
660
-
661
- void MacroAssembler::notr (Register Rd, Register Rs) {
662
- xori (Rd, Rs, -1 );
663
- }
664
-
665
- void MacroAssembler::neg (Register Rd, Register Rs) {
666
- sub (Rd, x0, Rs);
667
- }
668
-
669
- void MacroAssembler::negw (Register Rd, Register Rs) {
670
- subw (Rd, x0, Rs);
671
- }
672
-
673
- void MacroAssembler::sext_w (Register Rd, Register Rs) {
674
- addiw (Rd, Rs, 0 );
675
- }
676
-
677
- void MacroAssembler::zext_b (Register Rd, Register Rs) {
678
- andi (Rd, Rs, 0xFF );
679
- }
680
-
681
- void MacroAssembler::seqz (Register Rd, Register Rs) {
682
- sltiu (Rd, Rs, 1 );
683
- }
684
-
685
- void MacroAssembler::snez (Register Rd, Register Rs) {
686
- sltu (Rd, x0, Rs);
687
- }
688
-
689
- void MacroAssembler::sltz (Register Rd, Register Rs) {
690
- slt (Rd, Rs, x0);
691
- }
692
-
693
- void MacroAssembler::sgtz (Register Rd, Register Rs) {
694
- slt (Rd, x0, Rs);
695
- }
696
-
697
- void MacroAssembler::fmv_s (FloatRegister Rd, FloatRegister Rs) {
698
- if (Rd != Rs) {
699
- fsgnj_s (Rd, Rs, Rs);
700
- }
701
- }
702
-
703
- void MacroAssembler::fabs_s (FloatRegister Rd, FloatRegister Rs) {
704
- fsgnjx_s (Rd, Rs, Rs);
705
- }
706
-
707
- void MacroAssembler::fneg_s (FloatRegister Rd, FloatRegister Rs) {
708
- fsgnjn_s (Rd, Rs, Rs);
709
- }
710
-
711
- void MacroAssembler::fmv_d (FloatRegister Rd, FloatRegister Rs) {
712
- if (Rd != Rs) {
713
- fsgnj_d (Rd, Rs, Rs);
714
- }
715
- }
716
-
717
- void MacroAssembler::fabs_d (FloatRegister Rd, FloatRegister Rs) {
718
- fsgnjx_d (Rd, Rs, Rs);
719
- }
720
-
721
- void MacroAssembler::fneg_d (FloatRegister Rd, FloatRegister Rs) {
722
- fsgnjn_d (Rd, Rs, Rs);
723
- }
724
-
725
- void MacroAssembler::vmnot_m (VectorRegister vd, VectorRegister vs) {
726
- vmnand_mm (vd, vs, vs);
727
- }
728
-
729
- void MacroAssembler::vncvt_x_x_w (VectorRegister vd, VectorRegister vs, VectorMask vm) {
730
- vnsrl_wx (vd, vs, x0, vm);
731
- }
732
-
733
- void MacroAssembler::vfneg_v (VectorRegister vd, VectorRegister vs) {
734
- vfsgnjn_vv (vd, vs, vs);
735
- }
736
-
737
651
void MacroAssembler::baseOffset32 (Register Rd, const Address &adr, int32_t &offset) {
738
652
assert (Rd != noreg, " Rd must not be empty register!" );
739
653
guarantee (Rd != adr.base (), " should use different registers!" );
@@ -1598,21 +1512,6 @@ void MacroAssembler::reinit_heapbase() {
1598
1512
}
1599
1513
}
1600
1514
1601
- void MacroAssembler::mv (Register Rd, Address dest) {
1602
- assert (dest.getMode () == Address::literal, " Address mode should be Address::literal" );
1603
- relocate (dest.rspec (), [&] {
1604
- movptr (Rd, dest.target ());
1605
- });
1606
- }
1607
-
1608
- void MacroAssembler::mv (Register Rd, RegisterOrConstant src) {
1609
- if (src.is_register ()) {
1610
- mv (Rd, src.as_register ());
1611
- } else {
1612
- mv (Rd, src.as_constant ());
1613
- }
1614
- }
1615
-
1616
1515
void MacroAssembler::movptr (Register Rd, address addr, int32_t &offset) {
1617
1516
int64_t imm64 = (int64_t )addr;
1618
1517
#ifndef PRODUCT
@@ -1642,16 +1541,6 @@ void MacroAssembler::movptr(Register Rd, address addr, int32_t &offset) {
1642
1541
offset = imm64 & 0x3f ;
1643
1542
}
1644
1543
1645
- void MacroAssembler::movptr (Register Rd, uintptr_t imm64) {
1646
- movptr (Rd, (address)imm64);
1647
- }
1648
-
1649
- void MacroAssembler::movptr (Register Rd, address addr) {
1650
- int offset = 0 ;
1651
- movptr (Rd, addr, offset);
1652
- addi (Rd, Rd, offset);
1653
- }
1654
-
1655
1544
void MacroAssembler::add (Register Rd, Register Rn, int64_t increment, Register temp) {
1656
1545
if (is_imm_in_range (increment, 12 , 0 )) {
1657
1546
addi (Rd, Rn, increment);
@@ -3564,8 +3453,7 @@ void MacroAssembler::load_method_holder(Register holder, Register method) {
3564
3453
void MacroAssembler::compute_index (Register haystack, Register trailing_zeros,
3565
3454
Register match_mask, Register result,
3566
3455
Register ch2, Register tmp,
3567
- bool haystack_isL)
3568
- {
3456
+ bool haystack_isL) {
3569
3457
int haystack_chr_shift = haystack_isL ? 0 : 1 ;
3570
3458
srl (match_mask, match_mask, trailing_zeros);
3571
3459
srli (match_mask, match_mask, 1 );
@@ -3586,8 +3474,7 @@ void MacroAssembler::compute_index(Register haystack, Register trailing_zeros,
3586
3474
// - 0x8000800080008000 (UTF16)
3587
3475
// - 3 2 1 0 (match index)
3588
3476
void MacroAssembler::compute_match_mask (Register src, Register pattern, Register match_mask,
3589
- Register mask1, Register mask2)
3590
- {
3477
+ Register mask1, Register mask2) {
3591
3478
xorr (src, pattern, src);
3592
3479
sub (match_mask, src, mask1);
3593
3480
orr (src, src, mask2);
@@ -3671,24 +3558,21 @@ void MacroAssembler::cad(Register dst, Register src1, Register src2, Register ca
3671
3558
}
3672
3559
3673
3560
// add two input with carry
3674
- void MacroAssembler::adc (Register dst, Register src1, Register src2, Register carry)
3675
- {
3561
+ void MacroAssembler::adc (Register dst, Register src1, Register src2, Register carry) {
3676
3562
assert_different_registers (dst, carry);
3677
3563
add (dst, src1, src2);
3678
3564
add (dst, dst, carry);
3679
3565
}
3680
3566
3681
3567
// add two unsigned input with carry and output carry
3682
- void MacroAssembler::cadc (Register dst, Register src1, Register src2, Register carry)
3683
- {
3568
+ void MacroAssembler::cadc (Register dst, Register src1, Register src2, Register carry) {
3684
3569
assert_different_registers (dst, src2);
3685
3570
adc (dst, src1, src2, carry);
3686
3571
sltu (carry, dst, src2);
3687
3572
}
3688
3573
3689
3574
void MacroAssembler::add2_with_carry (Register final_dest_hi, Register dest_hi, Register dest_lo,
3690
- Register src1, Register src2, Register carry)
3691
- {
3575
+ Register src1, Register src2, Register carry) {
3692
3576
cad (dest_lo, dest_lo, src1, carry);
3693
3577
add (dest_hi, dest_hi, carry);
3694
3578
cad (dest_lo, dest_lo, src2, carry);
@@ -3701,8 +3585,7 @@ void MacroAssembler::add2_with_carry(Register final_dest_hi, Register dest_hi, R
3701
3585
void MacroAssembler::multiply_32_x_32_loop (Register x, Register xstart, Register x_xstart,
3702
3586
Register y, Register y_idx, Register z,
3703
3587
Register carry, Register product,
3704
- Register idx, Register kdx)
3705
- {
3588
+ Register idx, Register kdx) {
3706
3589
// jlong carry, x[], y[], z[];
3707
3590
// for (int idx=ystart, kdx=ystart+1+xstart; idx >= 0; idx--, kdx--) {
3708
3591
// long product = y[idx] * x[xstart] + carry;
@@ -3738,8 +3621,7 @@ void MacroAssembler::multiply_32_x_32_loop(Register x, Register xstart, Register
3738
3621
void MacroAssembler::multiply_64_x_64_loop (Register x, Register xstart, Register x_xstart,
3739
3622
Register y, Register y_idx, Register z,
3740
3623
Register carry, Register product,
3741
- Register idx, Register kdx)
3742
- {
3624
+ Register idx, Register kdx) {
3743
3625
//
3744
3626
// jlong carry, x[], y[], z[];
3745
3627
// for (int idx=ystart, kdx=ystart+1+xstart; idx >= 0; idx--, kdx--) {
@@ -3803,8 +3685,7 @@ void MacroAssembler::multiply_128_x_128_loop(Register y, Register z,
3803
3685
Register idx, Register jdx,
3804
3686
Register yz_idx1, Register yz_idx2,
3805
3687
Register tmp, Register tmp3, Register tmp4,
3806
- Register tmp6, Register product_hi)
3807
- {
3688
+ Register tmp6, Register product_hi) {
3808
3689
// jlong carry, x[], y[], z[];
3809
3690
// int kdx = xstart+1;
3810
3691
// for (int idx=ystart-2; idx >= 0; idx -= 2) { // Third loop
@@ -3939,8 +3820,7 @@ void MacroAssembler::multiply_128_x_128_loop(Register y, Register z,
3939
3820
void MacroAssembler::multiply_to_len (Register x, Register xlen, Register y, Register ylen,
3940
3821
Register z, Register zlen,
3941
3822
Register tmp1, Register tmp2, Register tmp3, Register tmp4,
3942
- Register tmp5, Register tmp6, Register product_hi)
3943
- {
3823
+ Register tmp5, Register tmp6, Register product_hi) {
3944
3824
assert_different_registers (x, xlen, y, ylen, z, zlen, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6);
3945
3825
3946
3826
const Register idx = tmp1;
@@ -4104,8 +3984,7 @@ void MacroAssembler::multiply_to_len(Register x, Register xlen, Register y, Regi
4104
3984
// Count bits of trailing zero chars from lsb to msb until first non-zero element.
4105
3985
// For LL case, one byte for one element, so shift 8 bits once, and for other case,
4106
3986
// shift 16 bits once.
4107
- void MacroAssembler::ctzc_bit (Register Rd, Register Rs, bool isLL, Register tmp1, Register tmp2)
4108
- {
3987
+ void MacroAssembler::ctzc_bit (Register Rd, Register Rs, bool isLL, Register tmp1, Register tmp2) {
4109
3988
if (UseZbb) {
4110
3989
assert_different_registers (Rd, Rs, tmp1);
4111
3990
int step = isLL ? 8 : 16 ;
@@ -4114,6 +3993,7 @@ void MacroAssembler::ctzc_bit(Register Rd, Register Rs, bool isLL, Register tmp1
4114
3993
sub (Rd, Rd, tmp1);
4115
3994
return ;
4116
3995
}
3996
+
4117
3997
assert_different_registers (Rd, Rs, tmp1, tmp2);
4118
3998
Label Loop;
4119
3999
int step = isLL ? 8 : 16 ;
@@ -4131,13 +4011,12 @@ void MacroAssembler::ctzc_bit(Register Rd, Register Rs, bool isLL, Register tmp1
4131
4011
// inflate into a register, for example:
4132
4012
// Rs: A7A6A5A4A3A2A1A0
4133
4013
// Rd: 00A300A200A100A0
4134
- void MacroAssembler::inflate_lo32 (Register Rd, Register Rs, Register tmp1, Register tmp2)
4135
- {
4014
+ void MacroAssembler::inflate_lo32 (Register Rd, Register Rs, Register tmp1, Register tmp2) {
4136
4015
assert_different_registers (Rd, Rs, tmp1, tmp2);
4016
+
4137
4017
mv (tmp1, 0xFF );
4138
4018
mv (Rd, zr);
4139
- for (int i = 0 ; i <= 3 ; i++)
4140
- {
4019
+ for (int i = 0 ; i <= 3 ; i++) {
4141
4020
andr (tmp2, Rs, tmp1);
4142
4021
if (i) {
4143
4022
slli (tmp2, tmp2, i * 8 );
@@ -4153,13 +4032,12 @@ void MacroAssembler::inflate_lo32(Register Rd, Register Rs, Register tmp1, Regis
4153
4032
// inflate into a register, for example:
4154
4033
// Rs: A7A6A5A4A3A2A1A0
4155
4034
// Rd: 00A700A600A500A4
4156
- void MacroAssembler::inflate_hi32 (Register Rd, Register Rs, Register tmp1, Register tmp2)
4157
- {
4035
+ void MacroAssembler::inflate_hi32 (Register Rd, Register Rs, Register tmp1, Register tmp2) {
4158
4036
assert_different_registers (Rd, Rs, tmp1, tmp2);
4037
+
4159
4038
mv (tmp1, 0xFF00000000 );
4160
4039
mv (Rd, zr);
4161
- for (int i = 0 ; i <= 3 ; i++)
4162
- {
4040
+ for (int i = 0 ; i <= 3 ; i++) {
4163
4041
andr (tmp2, Rs, tmp1);
4164
4042
orr (Rd, Rd, tmp2);
4165
4043
srli (Rd, Rd, 8 );
@@ -4182,13 +4060,13 @@ const int MacroAssembler::zero_words_block_size = 8;
4182
4060
// cnt: Count in HeapWords.
4183
4061
//
4184
4062
// ptr, cnt, and t0 are clobbered.
4185
- address MacroAssembler::zero_words (Register ptr, Register cnt)
4186
- {
4063
+ address MacroAssembler::zero_words (Register ptr, Register cnt) {
4187
4064
assert (is_power_of_2 (zero_words_block_size), " adjust this" );
4188
4065
assert (ptr == x28 && cnt == x29, " mismatch in register usage" );
4189
4066
assert_different_registers (cnt, t0);
4190
4067
4191
4068
BLOCK_COMMENT (" zero_words {" );
4069
+
4192
4070
mv (t0, zero_words_block_size);
4193
4071
Label around, done, done16;
4194
4072
bltu (cnt, t0, around);
@@ -4224,6 +4102,7 @@ address MacroAssembler::zero_words(Register ptr, Register cnt)
4224
4102
sd (zr, Address (ptr, 0 ));
4225
4103
bind (l);
4226
4104
}
4105
+
4227
4106
BLOCK_COMMENT (" } zero_words" );
4228
4107
postcond (pc () != badAddress);
4229
4108
return pc ();
@@ -4233,8 +4112,7 @@ address MacroAssembler::zero_words(Register ptr, Register cnt)
4233
4112
4234
4113
// base: Address of a buffer to be zeroed, 8 bytes aligned.
4235
4114
// cnt: Immediate count in HeapWords.
4236
- void MacroAssembler::zero_words (Register base, u_int64_t cnt)
4237
- {
4115
+ void MacroAssembler::zero_words (Register base, u_int64_t cnt) {
4238
4116
assert_different_registers (base, t0, t1);
4239
4117
4240
4118
BLOCK_COMMENT (" zero_words {" );
@@ -4272,8 +4150,7 @@ void MacroAssembler::zero_words(Register base, u_int64_t cnt)
4272
4150
// cnt: Count in 8-byte unit.
4273
4151
// value: Value to be filled with.
4274
4152
// base will point to the end of the buffer after filling.
4275
- void MacroAssembler::fill_words (Register base, Register cnt, Register value)
4276
- {
4153
+ void MacroAssembler::fill_words (Register base, Register cnt, Register value) {
4277
4154
// Algorithm:
4278
4155
//
4279
4156
// t0 = cnt & 7
0 commit comments