Mercurial > hg > openjdk > jdk8u > hotspot
changeset 8465:ab4ed66e0596
8181420: PPC: Image conversion improvements
Reviewed-by: thartmann, simonis, mbaesken
author | mdoerr |
---|---|
date | Fri, 02 Jun 2017 08:45:34 +0200 |
parents | 1a8bf7b6c287 |
children | 08a21c47c565 |
files | src/cpu/ppc/vm/ppc.ad |
diffstat | 1 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/ppc/vm/ppc.ad Thu Mar 30 15:28:33 2017 +0200 +++ b/src/cpu/ppc/vm/ppc.ad Fri Jun 02 08:45:34 2017 +0200 @@ -10230,6 +10230,29 @@ ins_pipe(pipe_class_compare); %} +// Added CmpUL for LoopPredicate. +instruct cmpUL_reg_reg(flagsReg crx, iRegLsrc src1, iRegLsrc src2) %{ + match(Set crx (CmpUL src1 src2)); + format %{ "CMPLD $crx, $src1, $src2" %} + size(4); + ins_encode %{ + // TODO: PPC port $archOpcode(ppc64Opcode_cmpl); + __ cmpld($crx$$CondRegister, $src1$$Register, $src2$$Register); + %} + ins_pipe(pipe_class_compare); +%} + +instruct cmpUL_reg_imm16(flagsReg crx, iRegLsrc src1, uimmL16 src2) %{ + match(Set crx (CmpUL src1 src2)); + format %{ "CMPLDI $crx, $src1, $src2" %} + size(4); + ins_encode %{ + // TODO: PPC port $archOpcode(ppc64Opcode_cmpli); + __ cmpldi($crx$$CondRegister, $src1$$Register, $src2$$constant); + %} + ins_pipe(pipe_class_compare); +%} + instruct testL_reg_reg(flagsRegCR0 cr0, iRegLsrc src1, iRegLsrc src2, immL_0 zero) %{ match(Set cr0 (CmpL (AndL src1 src2) zero)); // r0 is killed