< prev index next >
src/cpu/ppc/vm/macroAssembler_ppc.hpp
Print this page
rev 8631 : 8130654: ppc: implement MultiplyToLen intrinsic
Contributed-by: Peter.Januschke@sap.com
*** 675,684 ****
--- 675,709 ----
Register tmp1_reg, Register tmp2_reg, Register tmp3_reg, Register tmp4_reg,
Register tmp5_reg);
void char_arrays_equalsImm(Register str1_reg, Register str2_reg, int cntval, Register result_reg,
Register tmp1_reg, Register tmp2_reg);
+ // Emitters for BigInteger.multiplyToLen intrinsic.
+ inline void multiply64(Register dest_hi, Register dest_lo,
+ Register x, Register y);
+ void add2_with_carry(Register dest_hi, Register dest_lo,
+ Register src1, Register src2);
+ void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
+ Register y, Register y_idx, Register z,
+ Register carry, Register product_high, Register product,
+ Register idx, Register kdx, Register tmp);
+ void multiply_add_128_x_128(Register x_xstart, Register y, Register z,
+ Register yz_idx, Register idx, Register carry,
+ Register product_high, Register product, Register tmp,
+ int offset);
+ void multiply_128_x_128_loop(Register x_xstart,
+ Register y, Register z,
+ Register yz_idx, Register idx, Register carry,
+ Register product_high, Register product,
+ Register carry2, Register tmp);
+ void multiply_to_len(Register x, Register xlen,
+ Register y, Register ylen,
+ Register z, Register zlen,
+ Register tmp1, Register tmp2, Register tmp3, Register tmp4, Register tmp5,
+ Register tmp6, Register tmp7, Register tmp8, Register tmp9, Register tmp10,
+ Register tmp11, Register tmp12, Register tmp13);
+
//
// Debugging
//
// assert on cr0
< prev index next >