src/cpu/x86/vm/assembler_x86.cpp

changeset 7025
b1bc1af04c6e
parent 6680
78bbf4d43a14
child 7152
166d744df0de
     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;

mercurial