Fri, 02 Jun 2017 08:45:34 +0200
8181420: PPC: Image conversion improvements
Reviewed-by: thartmann, simonis, mbaesken
src/cpu/ppc/vm/ppc.ad | file | annotate | diff | comparison | revisions |
1.1 --- a/src/cpu/ppc/vm/ppc.ad Thu Mar 30 15:28:33 2017 +0200 1.2 +++ b/src/cpu/ppc/vm/ppc.ad Fri Jun 02 08:45:34 2017 +0200 1.3 @@ -10230,6 +10230,29 @@ 1.4 ins_pipe(pipe_class_compare); 1.5 %} 1.6 1.7 +// Added CmpUL for LoopPredicate. 1.8 +instruct cmpUL_reg_reg(flagsReg crx, iRegLsrc src1, iRegLsrc src2) %{ 1.9 + match(Set crx (CmpUL src1 src2)); 1.10 + format %{ "CMPLD $crx, $src1, $src2" %} 1.11 + size(4); 1.12 + ins_encode %{ 1.13 + // TODO: PPC port $archOpcode(ppc64Opcode_cmpl); 1.14 + __ cmpld($crx$$CondRegister, $src1$$Register, $src2$$Register); 1.15 + %} 1.16 + ins_pipe(pipe_class_compare); 1.17 +%} 1.18 + 1.19 +instruct cmpUL_reg_imm16(flagsReg crx, iRegLsrc src1, uimmL16 src2) %{ 1.20 + match(Set crx (CmpUL src1 src2)); 1.21 + format %{ "CMPLDI $crx, $src1, $src2" %} 1.22 + size(4); 1.23 + ins_encode %{ 1.24 + // TODO: PPC port $archOpcode(ppc64Opcode_cmpli); 1.25 + __ cmpldi($crx$$CondRegister, $src1$$Register, $src2$$constant); 1.26 + %} 1.27 + ins_pipe(pipe_class_compare); 1.28 +%} 1.29 + 1.30 instruct testL_reg_reg(flagsRegCR0 cr0, iRegLsrc src1, iRegLsrc src2, immL_0 zero) %{ 1.31 match(Set cr0 (CmpL (AndL src1 src2) zero)); 1.32 // r0 is killed