< prev index next >

src/hotspot/cpu/x86/stubGenerator_x86_64.cpp

Print this page

4225 
4226   if (VM_Version::supports_avx2() && !VM_Version::supports_avx512vl()) {
4227     StubRoutines::x86::_compress_perm_table32 = generate_compress_perm_table("compress_perm_table32", 32);
4228     StubRoutines::x86::_compress_perm_table64 = generate_compress_perm_table("compress_perm_table64", 64);
4229     StubRoutines::x86::_expand_perm_table32 = generate_expand_perm_table("expand_perm_table32", 32);
4230     StubRoutines::x86::_expand_perm_table64 = generate_expand_perm_table("expand_perm_table64", 64);
4231   }
4232 
4233   if (VM_Version::supports_avx2() && !VM_Version::supports_avx512_vpopcntdq()) {
4234     // lut implementation influenced by counting 1s algorithm from section 5-1 of Hackers' Delight.
4235     StubRoutines::x86::_vector_popcount_lut = generate_popcount_avx_lut("popcount_lut");
4236   }
4237 
4238   generate_aes_stubs();
4239 
4240   generate_ghash_stubs();
4241 
4242   generate_chacha_stubs();
4243 
4244 #ifdef COMPILER2
4245   if ((UseAVX == 2) && EnableX86ECoreOpts) {
4246     generate_string_indexof(StubRoutines::_string_indexof_array);
4247   }
4248 #endif
4249 
4250   if (UseAdler32Intrinsics) {
4251      StubRoutines::_updateBytesAdler32 = generate_updateBytesAdler32();
4252   }
4253 
4254   if (UsePoly1305Intrinsics) {
4255     StubRoutines::_poly1305_processBlocks = generate_poly1305_processBlocks();
4256   }
4257 
4258   if (UseIntPolyIntrinsics) {
4259     StubRoutines::_intpoly_montgomeryMult_P256 = generate_intpoly_montgomeryMult_P256();
4260     StubRoutines::_intpoly_assign = generate_intpoly_assign();
4261   }
4262 
4263   if (UseMD5Intrinsics) {
4264     StubRoutines::_md5_implCompress = generate_md5_implCompress(false, "md5_implCompress");
4265     StubRoutines::_md5_implCompressMB = generate_md5_implCompress(true, "md5_implCompressMB");

4225 
4226   if (VM_Version::supports_avx2() && !VM_Version::supports_avx512vl()) {
4227     StubRoutines::x86::_compress_perm_table32 = generate_compress_perm_table("compress_perm_table32", 32);
4228     StubRoutines::x86::_compress_perm_table64 = generate_compress_perm_table("compress_perm_table64", 64);
4229     StubRoutines::x86::_expand_perm_table32 = generate_expand_perm_table("expand_perm_table32", 32);
4230     StubRoutines::x86::_expand_perm_table64 = generate_expand_perm_table("expand_perm_table64", 64);
4231   }
4232 
4233   if (VM_Version::supports_avx2() && !VM_Version::supports_avx512_vpopcntdq()) {
4234     // lut implementation influenced by counting 1s algorithm from section 5-1 of Hackers' Delight.
4235     StubRoutines::x86::_vector_popcount_lut = generate_popcount_avx_lut("popcount_lut");
4236   }
4237 
4238   generate_aes_stubs();
4239 
4240   generate_ghash_stubs();
4241 
4242   generate_chacha_stubs();
4243 
4244 #ifdef COMPILER2
4245   if ((UseAVX == 2) && EnableX86ECoreOpts && !UseCompactObjectHeaders) {
4246     generate_string_indexof(StubRoutines::_string_indexof_array);
4247   }
4248 #endif
4249 
4250   if (UseAdler32Intrinsics) {
4251      StubRoutines::_updateBytesAdler32 = generate_updateBytesAdler32();
4252   }
4253 
4254   if (UsePoly1305Intrinsics) {
4255     StubRoutines::_poly1305_processBlocks = generate_poly1305_processBlocks();
4256   }
4257 
4258   if (UseIntPolyIntrinsics) {
4259     StubRoutines::_intpoly_montgomeryMult_P256 = generate_intpoly_montgomeryMult_P256();
4260     StubRoutines::_intpoly_assign = generate_intpoly_assign();
4261   }
4262 
4263   if (UseMD5Intrinsics) {
4264     StubRoutines::_md5_implCompress = generate_md5_implCompress(false, "md5_implCompress");
4265     StubRoutines::_md5_implCompressMB = generate_md5_implCompress(true, "md5_implCompressMB");
< prev index next >