mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8158214: Crash with "assert(VM_Version::supports_sse4_1()) failed" if UseSSE < 4 is set
Do not emit unsupported SSE 4.1 instructions in CRC32 intrinsic. Reviewed-by: kvn, zmajo
This commit is contained in:
parent
35f9db149b
commit
f92cc0c836
3 changed files with 47 additions and 4 deletions
|
@ -10151,7 +10151,13 @@ void MacroAssembler::kernel_crc32(Register crc, Register buf, Register len, Regi
|
|||
movdqa(xmm1, Address(buf, 0));
|
||||
movdl(rax, xmm1);
|
||||
xorl(crc, rax);
|
||||
pinsrd(xmm1, crc, 0);
|
||||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue