hotspot/src/cpu/x86/vm/assembler_x86.cpp
changeset 25932 15d133edd8f6
parent 24424 2658d7834c6e
child 26434 09ad55e5f486
--- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp	Tue Aug 05 08:19:03 2014 -0700
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp	Tue Aug 05 15:02:10 2014 -0700
@@ -3854,6 +3854,15 @@
 }
 
 // Carry-Less Multiplication Quadword
+void Assembler::pclmulqdq(XMMRegister dst, XMMRegister src, int mask) {
+  assert(VM_Version::supports_clmul(), "");
+  int encode = simd_prefix_and_encode(dst, dst, src, VEX_SIMD_66, VEX_OPCODE_0F_3A);
+  emit_int8(0x44);
+  emit_int8((unsigned char)(0xC0 | encode));
+  emit_int8((unsigned char)mask);
+}
+
+// Carry-Less Multiplication Quadword
 void Assembler::vpclmulqdq(XMMRegister dst, XMMRegister nds, XMMRegister src, int mask) {
   assert(VM_Version::supports_avx() && VM_Version::supports_clmul(), "");
   bool vector256 = false;