src/cpu/x86/vm/assembler_x86.cpp

changeset 4411
e2e6bf86682c
parent 4410
00af3a3a8df4
child 4412
ffa87474d7a4
     1.1 --- a/src/cpu/x86/vm/assembler_x86.cpp	Thu Jan 03 15:09:55 2013 -0800
     1.2 +++ b/src/cpu/x86/vm/assembler_x86.cpp	Thu Jan 03 16:30:47 2013 -0800
     1.3 @@ -3656,6 +3656,15 @@
     1.4    emit_int8(0x01);
     1.5  }
     1.6  
     1.7 +// duplicate 4-bytes integer data from src into 8 locations in dest
     1.8 +void Assembler::vpbroadcastd(XMMRegister dst, XMMRegister src) {
     1.9 +  assert(VM_Version::supports_avx2(), "");
    1.10 +  bool vector256 = true;
    1.11 +  int encode = vex_prefix_and_encode(dst, xnoreg, src, VEX_SIMD_66, vector256, VEX_OPCODE_0F_38);
    1.12 +  emit_int8(0x58);
    1.13 +  emit_int8((unsigned char)(0xC0 | encode));
    1.14 +}
    1.15 +
    1.16  void Assembler::vzeroupper() {
    1.17    assert(VM_Version::supports_avx(), "");
    1.18    (void)vex_prefix_and_encode(xmm0, xmm0, xmm0, VEX_SIMD_NONE);

mercurial