Task is to implement MachNodes which match the following trees:
match(Set dst (CMoveF (Binary cop (CmpF op1 op2)) (Binary src1 src2)));
match(Set dst (CMoveD (Binary cop (CmpD op1 op2)) (Binary src1 src2)));
match(Set dst (CMoveF (Binary cop (CmpD op1 op2)) (Binary src1 src2)));
match(Set dst (CMoveD (Binary cop (CmpF op1 op2)) (Binary src1 src2)));
(Note that we don't need to distinguish between F and D because Power always uses the double format for registers.)
Power9 has useful instructions available:
xscmpeqdp
xscmpgedp
xscmpgtdp
xxsel
match(Set dst (CMoveF (Binary cop (CmpF op1 op2)) (Binary src1 src2)));
match(Set dst (CMoveD (Binary cop (CmpD op1 op2)) (Binary src1 src2)));
match(Set dst (CMoveF (Binary cop (CmpD op1 op2)) (Binary src1 src2)));
match(Set dst (CMoveD (Binary cop (CmpF op1 op2)) (Binary src1 src2)));
(Note that we don't need to distinguish between F and D because Power always uses the double format for registers.)
Power9 has useful instructions available:
xscmpeqdp
xscmpgedp
xscmpgtdp
xxsel
- links to
-
Review(master)
openjdk/jdk/29281