hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8069539 Sdiff hotspot/src/cpu/x86/vm

hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp

Print this page




1224 #ifdef _LP64
1225   void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2);
1226   void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
1227                              Register y, Register y_idx, Register z,
1228                              Register carry, Register product,
1229                              Register idx, Register kdx);
1230   void multiply_add_128_x_128(Register x_xstart, Register y, Register z,
1231                               Register yz_idx, Register idx,
1232                               Register carry, Register product, int offset);
1233   void multiply_128_x_128_bmi2_loop(Register y, Register z,
1234                                     Register carry, Register carry2,
1235                                     Register idx, Register jdx,
1236                                     Register yz_idx1, Register yz_idx2,
1237                                     Register tmp, Register tmp3, Register tmp4);
1238   void multiply_128_x_128_loop(Register x_xstart, Register y, Register z,
1239                                Register yz_idx, Register idx, Register jdx,
1240                                Register carry, Register product,
1241                                Register carry2);
1242   void multiply_to_len(Register x, Register xlen, Register y, Register ylen, Register z, Register zlen,
1243                        Register tmp1, Register tmp2, Register tmp3, Register tmp4, Register tmp5);



















1244 #endif
1245 
1246   // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
1247   void update_byte_crc32(Register crc, Register val, Register table);
1248   void kernel_crc32(Register crc, Register buf, Register len, Register table, Register tmp);
1249   // Fold 128-bit data chunk
1250   void fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, Register buf, int offset);
1251   void fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, XMMRegister xbuf);
1252   // Fold 8-bit data
1253   void fold_8bit_crc32(Register crc, Register table, Register tmp);
1254   void fold_8bit_crc32(XMMRegister crc, Register table, XMMRegister xtmp, Register tmp);
1255 
1256 #undef VIRTUAL
1257 
1258 };
1259 
1260 /**
1261  * class SkipIfEqual:
1262  *
1263  * Instantiating this class will result in assembly code being output that will


1224 #ifdef _LP64
1225   void add2_with_carry(Register dest_hi, Register dest_lo, Register src1, Register src2);
1226   void multiply_64_x_64_loop(Register x, Register xstart, Register x_xstart,
1227                              Register y, Register y_idx, Register z,
1228                              Register carry, Register product,
1229                              Register idx, Register kdx);
1230   void multiply_add_128_x_128(Register x_xstart, Register y, Register z,
1231                               Register yz_idx, Register idx,
1232                               Register carry, Register product, int offset);
1233   void multiply_128_x_128_bmi2_loop(Register y, Register z,
1234                                     Register carry, Register carry2,
1235                                     Register idx, Register jdx,
1236                                     Register yz_idx1, Register yz_idx2,
1237                                     Register tmp, Register tmp3, Register tmp4);
1238   void multiply_128_x_128_loop(Register x_xstart, Register y, Register z,
1239                                Register yz_idx, Register idx, Register jdx,
1240                                Register carry, Register product,
1241                                Register carry2);
1242   void multiply_to_len(Register x, Register xlen, Register y, Register ylen, Register z, Register zlen,
1243                        Register tmp1, Register tmp2, Register tmp3, Register tmp4, Register tmp5);
1244 
1245   void square_rshift(Register x, Register len, Register z, Register tmp1, Register tmp3, 
1246                      Register tmp4, Register tmp5, Register rdxReg, Register raxReg);
1247   void multiply_add_64_bmi2(Register sum, Register op1, Register op2, Register carry, 
1248                             Register tmp2);
1249   void multiply_add_64(Register sum, Register op1, Register op2, Register carry, 
1250                        Register rdxReg, Register raxReg);
1251   void add_one_64(Register z, Register zlen, Register carry, Register tmp1);
1252   void lshift_by_1(Register x, Register len, Register z, Register zlen, Register tmp1, Register tmp2, 
1253                        Register tmp3, Register tmp4);
1254   void square_to_len(Register x, Register len, Register z, Register zlen, Register tmp1, Register tmp2, 
1255                      Register tmp3, Register tmp4, Register tmp5, Register rdxReg, Register raxReg);
1256   
1257   void mul_add_128_x_32_loop(Register out, Register in, Register offset, Register len, Register tmp1, 
1258                Register tmp2, Register tmp3, Register tmp4, Register tmp5, Register rdxReg, 
1259                Register raxReg);
1260   void mul_add(Register out, Register in, Register offset, Register len, Register k, Register tmp1, 
1261                Register tmp2, Register tmp3, Register tmp4, Register tmp5, Register rdxReg, 
1262                Register raxReg);
1263 #endif
1264 
1265   // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
1266   void update_byte_crc32(Register crc, Register val, Register table);
1267   void kernel_crc32(Register crc, Register buf, Register len, Register table, Register tmp);
1268   // Fold 128-bit data chunk
1269   void fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, Register buf, int offset);
1270   void fold_128bit_crc32(XMMRegister xcrc, XMMRegister xK, XMMRegister xtmp, XMMRegister xbuf);
1271   // Fold 8-bit data
1272   void fold_8bit_crc32(Register crc, Register table, Register tmp);
1273   void fold_8bit_crc32(XMMRegister crc, Register table, XMMRegister xtmp, Register tmp);
1274 
1275 #undef VIRTUAL
1276 
1277 };
1278 
1279 /**
1280  * class SkipIfEqual:
1281  *
1282  * Instantiating this class will result in assembly code being output that will
hotspot/src/cpu/x86/vm/macroAssembler_x86.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File