RFR(M): 8171244: PPC64: Make interpreter's math entries consistent with C1 and C2 and support FMA
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Thu Dec 15 15:33:43 UTC 2016
Hi Martin,
thanks for investigation the other rule.
All fine.
Best regards,
Goetz.
> -----Original Message-----
> From: Doerr, Martin
> Sent: Donnerstag, 15. Dezember 2016 16:32
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; 'hotspot-compiler-
> dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net>
> Subject: RE: RFR(M): 8171244: PPC64: Make interpreter's math entries
> consistent with C1 and C2 and support FMA
>
> Hi,
>
> thank you very much for reviewing.
>
> I have added reviewer information and made minor changes.
> The as_FloatRegister usages are replaced, now.
> I have also removed the predicate(UseFMA). They don't make any sense
> because the matcher doesn't have a choice.
> The decision whether they should be used is done before, of course.
>
> New webrev is here:
> http://cr.openjdk.java.net/~mdoerr/8171244_PPC64_fma/webrev.01/
>
> I have also tried the match rules proposed by Götz, but they didn't match.
> Reason seems to be that the Fma nodes have a control input.
>
> Vladimir, you can push it if you're ok with it. Thank you very much for
> sponsoring.
>
> Best regards,
> Martin
>
>
> -----Original Message-----
> From: Lindenmaier, Goetz
> Sent: Donnerstag, 15. Dezember 2016 12:00
> To: Doerr, Martin <martin.doerr at sap.com>; 'hotspot-compiler-
> dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net>
> Subject: RE: RFR(M): 8171244: PPC64: Make interpreter's math entries
> consistent with C1 and C2 and support FMA
>
> Hi Martin,
>
> thanks for doing this change.
>
> I looked a while at the change in the ad file:
> Would it make sense to add match rules with outermost Neg?
>
> // -src1 * src2 - src3 = -(src1*src2+src3) instruct mnaddF_reg_reg(regF dst,
> regF src1, regF src2, regF src3) %{
> predicate(UseFMA);
> match(Set dst (FmaF (NegF src3) (Binary (NegF src1) src2)));
> match(Set dst (FmaF (NegF src3) (Binary src1 (NegF src2))));
> + match(Set dst Neg(FmaF src3 (Binary src1 src2)));
>
> Besides that the change looks good. Please run it through our nightly tests.
> Maybe you could use $reg$$FloatRegister as in the other rules.
>
> Best regards,
> Goetz.
>
> > -----Original Message-----
> > From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-
> > bounces at openjdk.java.net] On Behalf Of Doerr, Martin
> > Sent: Mittwoch, 14. Dezember 2016 17:59
> > To: 'hotspot-compiler-dev at openjdk.java.net' <hotspot-compiler-
> > dev at openjdk.java.net>
> > Subject: RFR(M): 8171244: PPC64: Make interpreter's math entries
> > consistent with C1 and C2 and support FMA
> >
> > Hi,
> >
> >
> >
> > as discussed in [1], floating point computations should produce
> > consistent results regardless of whether the Java code gets
> > interpreted or is compiled by any JIT-compiler.
> >
> > In addition, JDK9 introduced new floating point multiply-accumulate
> > intrinsics which are currently missing on PPC64.
> >
> >
> >
> > Webrev is here:
> >
> > http://cr.openjdk.java.net/~mdoerr/8171244_PPC64_fma/webrev.00/
> > <http://cr.openjdk.java.net/~mdoerr/8171244_PPC64_fma/webrev.00/>
> >
> >
> >
> > Note: The current version of the change removes the function
> > "math_entry_available" from shared code which was only used by PPC.
> >
> > I can either leave it there or ask somebody from Oracle to sponsor.
> >
> >
> >
> > Please review.
> >
> >
> >
> > Best regards,
> >
> > Martin
> >
> >
> >
> >
> >
> > [1] http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-
> > December/025073.html <http://mail.openjdk.java.net/pipermail/hotspot-
> > compiler-dev/2016-December/025073.html>
> >
> >
More information about the hotspot-compiler-dev
mailing list