< prev index next >

src/cpu/x86/vm/macroAssembler_x86.cpp

Print this page

        

*** 10157,10167 **** --- 10157,10173 ---- // Fold crc into first bytes of vector movdqa(xmm1, Address(buf, 0)); movdl(rax, xmm1); xorl(crc, rax); + if (VM_Version::supports_sse4_1()) { pinsrd(xmm1, crc, 0); + } else { + pinsrw(xmm1, crc, 0); + shrl(crc, 16); + pinsrw(xmm1, crc, 1); + } addptr(buf, 16); subl(len, 4); // len > 0 jcc(Assembler::less, L_fold_tail); movdqa(xmm2, Address(buf, 0));
< prev index next >