diff -r 10c237e58446 -r aefa2e84b424 src/cpu/ppc/vm/ppc.ad --- a/src/cpu/ppc/vm/ppc.ad Wed Mar 18 18:12:01 2015 -0700 +++ b/src/cpu/ppc/vm/ppc.ad Thu Mar 19 19:53:34 2015 +0100 @@ -4418,11 +4418,11 @@ interface(CONST_INTER); %} -// constant 'float +0.0'. +// Float Immediate: +0.0f. operand immF_0() %{ - predicate((n->getf() == 0) && - (fpclassify(n->getf()) == FP_ZERO) && (signbit(n->getf()) == 0)); + predicate(jint_cast(n->getf()) == 0); match(ConF); + op_cost(0); format %{ %} interface(CONST_INTER);