8255224: x86_32 tests fail with "bad AD file" after JDK-8223051

Reviewed-by: shade, kvn
This commit is contained in:
Roland Westrelin 2020-10-23 07:11:58 +00:00
parent 64dc4b1888
commit fe74f3cd10

View File

@ -13097,6 +13097,28 @@ instruct cmovLL_mem_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, eRegL dst,
ins_pipe( pipe_cmov_reg_long );
%}
instruct cmovLL_reg_LEGT_U(cmpOpU_commute cmp, flagsReg_ulong_LEGT flags, eRegL dst, eRegL src) %{
match(Set dst (CMoveL (Binary cmp flags) (Binary dst src)));
predicate(VM_Version::supports_cmov() && ( _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt ));
ins_cost(400);
format %{ "CMOV$cmp $dst.lo,$src.lo\n\t"
"CMOV$cmp $dst.hi,$src.hi" %}
opcode(0x0F,0x40);
ins_encode( enc_cmov(cmp), RegReg_Lo2( dst, src ), enc_cmov(cmp), RegReg_Hi2( dst, src ) );
ins_pipe( pipe_cmov_reg_long );
%}
instruct cmovLL_mem_LEGT_U(cmpOpU_commute cmp, flagsReg_ulong_LEGT flags, eRegL dst, load_long_memory src) %{
match(Set dst (CMoveL (Binary cmp flags) (Binary dst (LoadL src))));
predicate(VM_Version::supports_cmov() && ( _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt ));
ins_cost(500);
format %{ "CMOV$cmp $dst.lo,$src.lo\n\t"
"CMOV$cmp $dst.hi,$src.hi+4" %}
opcode(0x0F,0x40);
ins_encode( enc_cmov(cmp), RegMem(dst, src), enc_cmov(cmp), RegMem_Hi(dst, src) );
ins_pipe( pipe_cmov_reg_long );
%}
// Compare 2 longs and CMOVE ints.
instruct cmovII_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, rRegI dst, rRegI src) %{
predicate(VM_Version::supports_cmov() && ( _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt ));