1.1 --- a/src/cpu/x86/vm/assembler_x86.cpp Tue Aug 12 15:17:46 2014 +0000 1.2 +++ b/src/cpu/x86/vm/assembler_x86.cpp Tue Aug 05 15:02:10 2014 -0700 1.3 @@ -3854,6 +3854,15 @@ 1.4 } 1.5 1.6 // Carry-Less Multiplication Quadword 1.7 +void Assembler::pclmulqdq(XMMRegister dst, XMMRegister src, int mask) { 1.8 + assert(VM_Version::supports_clmul(), ""); 1.9 + int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66, VEX_OPCODE_0F_3A); 1.10 + emit_int8(0x44); 1.11 + emit_int8((unsigned char)(0xC0 | encode)); 1.12 + emit_int8((unsigned char)mask); 1.13 +} 1.14 + 1.15 +// Carry-Less Multiplication Quadword 1.16 void Assembler::vpclmulqdq(XMMRegister dst, XMMRegister nds, XMMRegister src, int mask) { 1.17 assert(VM_Version::supports_avx() && VM_Version::supports_clmul(), ""); 1.18 bool vector256 = false;