8277753: Long*VectorTests.java fail with "bad AD file" on x86_32 after JDK-8276162
Reviewed-by: kvn, thartmann
This commit is contained in:
parent
3889af3f7d
commit
65960f712e
@ -13180,6 +13180,16 @@ instruct cmovPP_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, eRegP dst, eRegP s
|
||||
ins_pipe( pipe_cmov_reg );
|
||||
%}
|
||||
|
||||
// Compare 2 unsigned longs and CMOVE ptrs.
|
||||
instruct cmovPP_reg_LTGE_U(cmpOpU cmp, flagsReg_ulong_LTGE flags, eRegP dst, eRegP src) %{
|
||||
predicate(VM_Version::supports_cmov() && ( _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge ));
|
||||
match(Set dst (CMoveP (Binary cmp flags) (Binary dst src)));
|
||||
ins_cost(200);
|
||||
expand %{
|
||||
cmovPP_reg_LTGE(cmp,flags,dst,src);
|
||||
%}
|
||||
%}
|
||||
|
||||
// Compare 2 longs and CMOVE doubles
|
||||
instruct cmovDDPR_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, regDPR dst, regDPR src) %{
|
||||
predicate( UseSSE<=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
|
||||
@ -13361,6 +13371,16 @@ instruct cmovPP_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, eRegP dst, eRegP s
|
||||
ins_pipe( pipe_cmov_reg );
|
||||
%}
|
||||
|
||||
// Compare 2 unsigned longs and CMOVE ptrs.
|
||||
instruct cmovPP_reg_EQNE_U(cmpOpU cmp, flagsReg_ulong_EQNE flags, eRegP dst, eRegP src) %{
|
||||
predicate(VM_Version::supports_cmov() && ( _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne ));
|
||||
match(Set dst (CMoveP (Binary cmp flags) (Binary dst src)));
|
||||
ins_cost(200);
|
||||
expand %{
|
||||
cmovPP_reg_EQNE(cmp,flags,dst,src);
|
||||
%}
|
||||
%}
|
||||
|
||||
// Compare 2 longs and CMOVE doubles
|
||||
instruct cmovDDPR_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, regDPR dst, regDPR src) %{
|
||||
predicate( UseSSE<=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne );
|
||||
@ -13570,6 +13590,16 @@ instruct cmovPP_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, eRegP dst,
|
||||
ins_pipe( pipe_cmov_reg );
|
||||
%}
|
||||
|
||||
// Compare 2 unsigned longs and CMOVE ptrs.
|
||||
instruct cmovPP_reg_LEGT_U(cmpOpU_commute cmp, flagsReg_ulong_LEGT flags, eRegP dst, eRegP 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 ));
|
||||
match(Set dst (CMoveP (Binary cmp flags) (Binary dst src)));
|
||||
ins_cost(200);
|
||||
expand %{
|
||||
cmovPP_reg_LEGT(cmp,flags,dst,src);
|
||||
%}
|
||||
%}
|
||||
|
||||
// Compare 2 longs and CMOVE doubles
|
||||
instruct cmovDDPR_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, regDPR dst, regDPR src) %{
|
||||
predicate( UseSSE<=1 && _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt );
|
||||
|
Loading…
x
Reference in New Issue
Block a user