Mercurial > hg > truffle
comparison src/cpu/x86/vm/macroAssembler_x86.hpp @ 20804:7848fc12602b
Merge with jdk8u40-b25
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Tue, 07 Apr 2015 14:58:49 +0200 |
parents | 52b4284cb496 166d744df0de |
children |
comparison
equal
deleted
inserted
replaced
20184:84105dcdb05b | 20804:7848fc12602b |
---|---|
964 | 964 |
965 void mulss(XMMRegister dst, XMMRegister src) { Assembler::mulss(dst, src); } | 965 void mulss(XMMRegister dst, XMMRegister src) { Assembler::mulss(dst, src); } |
966 void mulss(XMMRegister dst, Address src) { Assembler::mulss(dst, src); } | 966 void mulss(XMMRegister dst, Address src) { Assembler::mulss(dst, src); } |
967 void mulss(XMMRegister dst, AddressLiteral src); | 967 void mulss(XMMRegister dst, AddressLiteral src); |
968 | 968 |
969 // Carry-Less Multiplication Quadword | |
970 void pclmulldq(XMMRegister dst, XMMRegister src) { | |
971 // 0x00 - multiply lower 64 bits [0:63] | |
972 Assembler::pclmulqdq(dst, src, 0x00); | |
973 } | |
974 void pclmulhdq(XMMRegister dst, XMMRegister src) { | |
975 // 0x11 - multiply upper 64 bits [64:127] | |
976 Assembler::pclmulqdq(dst, src, 0x11); | |
977 } | |
978 | |
969 void sqrtsd(XMMRegister dst, XMMRegister src) { Assembler::sqrtsd(dst, src); } | 979 void sqrtsd(XMMRegister dst, XMMRegister src) { Assembler::sqrtsd(dst, src); } |
970 void sqrtsd(XMMRegister dst, Address src) { Assembler::sqrtsd(dst, src); } | 980 void sqrtsd(XMMRegister dst, Address src) { Assembler::sqrtsd(dst, src); } |
971 void sqrtsd(XMMRegister dst, AddressLiteral src); | 981 void sqrtsd(XMMRegister dst, AddressLiteral src); |
972 | 982 |
973 void sqrtss(XMMRegister dst, XMMRegister src) { Assembler::sqrtss(dst, src); } | 983 void sqrtss(XMMRegister dst, XMMRegister src) { Assembler::sqrtss(dst, src); } |
1208 Register rtmp, XMMRegister xtmp); | 1218 Register rtmp, XMMRegister xtmp); |
1209 | 1219 |
1210 void encode_iso_array(Register src, Register dst, Register len, | 1220 void encode_iso_array(Register src, Register dst, Register len, |
1211 XMMRegister tmp1, XMMRegister tmp2, XMMRegister tmp3, | 1221 XMMRegister tmp1, XMMRegister tmp2, XMMRegister tmp3, |
1212 XMMRegister tmp4, Register tmp5, Register result); | 1222 XMMRegister tmp4, Register tmp5, Register result); |
1223 | |
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 | |
1213 | 1245 |
1214 // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic. | 1246 // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic. |
1215 void update_byte_crc32(Register crc, Register val, Register table); | 1247 void update_byte_crc32(Register crc, Register val, Register table); |
1216 void kernel_crc32(Register crc, Register buf, Register len, Register table, Register tmp); | 1248 void kernel_crc32(Register crc, Register buf, Register len, Register table, Register tmp); |
1217 // Fold 128-bit data chunk | 1249 // Fold 128-bit data chunk |