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);