8181420: PPC: Image conversion improvements

Fri, 02 Jun 2017 08:45:34 +0200

author
mdoerr
date
Fri, 02 Jun 2017 08:45:34 +0200
changeset 8958
ab4ed66e0596
parent 8957
1a8bf7b6c287
child 8960
08a21c47c565

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

mercurial