8320206: Some intrinsics/stubs missing vzeroupper on x86_64
Reviewed-by: kvn, jbhateja
This commit is contained in:
parent
b5a7562bd1
commit
9b372e28ce
@ -330,6 +330,7 @@ address StubGenerator::generate_updateBytesAdler32() {
|
||||
__ movq(r13, xtmp4);
|
||||
__ movq(r12, xtmp3);
|
||||
|
||||
__ vzeroupper();
|
||||
__ leave();
|
||||
__ ret(0);
|
||||
|
||||
|
@ -291,6 +291,9 @@ address StubGenerator::generate_chacha20Block_avx() {
|
||||
// registers. That length should be returned through %rax.
|
||||
__ mov64(rax, outlen);
|
||||
|
||||
if (outlen == 256) {
|
||||
__ vzeroupper();
|
||||
}
|
||||
__ leave();
|
||||
__ ret(0);
|
||||
return start;
|
||||
@ -460,6 +463,7 @@ address StubGenerator::generate_chacha20Block_avx512() {
|
||||
// and that length should be returned through %rax.
|
||||
__ mov64(rax, 1024);
|
||||
|
||||
__ vzeroupper();
|
||||
__ leave();
|
||||
__ ret(0);
|
||||
return start;
|
||||
|
@ -1112,6 +1112,7 @@ bool LibraryCallKit::inline_countPositives() {
|
||||
Node* ba_start = array_element_address(ba, offset, T_BYTE);
|
||||
Node* result = new CountPositivesNode(control(), memory(TypeAryPtr::BYTES), ba_start, len);
|
||||
set_result(_gvn.transform(result));
|
||||
clear_upper_avx();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1366,6 +1367,7 @@ bool LibraryCallKit::inline_string_indexOfChar(StrIntrinsicNode::ArgEnc ae) {
|
||||
set_control(_gvn.transform(region));
|
||||
record_for_igvn(region);
|
||||
set_result(_gvn.transform(phi));
|
||||
clear_upper_avx();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user