8255224: x86_32 tests fail with "bad AD file" after JDK-8223051
Reviewed-by: shade, kvn
This commit is contained in:
parent
64dc4b1888
commit
fe74f3cd10
@ -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 ));
|
||||
|
Loading…
Reference in New Issue
Block a user