[11u] RFR: 8241911: AArch64: Fix a potential issue about register allocation effect rule in reduce_add2I
Doerr, Martin
martin.doerr at sap.com
Tue Dec 22 13:12:24 UTC 2020
Hi Götz,
thanks for the review!
Best regards,
Martin
From: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
Sent: Dienstag, 22. Dezember 2020 13:05
To: Doerr, Martin <martin.doerr at sap.com>; 'hotspot-compiler-dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net>; jdk-updates-dev at openjdk.java.net
Cc: Langer, Christoph <christoph.langer at sap.com>
Subject: RE: [11u] RFR: 8241911: AArch64: Fix a potential issue about register allocation effect rule in reduce_add2I
Hi Martin,
Change looks good.
The rules that are missing in 11 came with "JDK-8214922: Aarch64: Add vectorization support for fmin/fmax"
Which was pushed to 13 and not downported.
So skipping the format changes is fine.
Best regards,
Goetz.
From: Doerr, Martin <martin.doerr at sap.com<mailto:martin.doerr at sap.com>>
Sent: Monday, December 21, 2020 2:48 PM
To: 'hotspot-compiler-dev at openjdk.java.net' <hotspot-compiler-dev at openjdk.java.net<mailto:hotspot-compiler-dev at openjdk.java.net>>; jdk-updates-dev at openjdk.java.net<mailto:jdk-updates-dev at openjdk.java.net>
Cc: Langer, Christoph <christoph.langer at sap.com<mailto:christoph.langer at sap.com>>; Lindenmaier, Goetz <goetz.lindenmaier at sap.com<mailto:goetz.lindenmaier at sap.com>>
Subject: RE: [11u] RFR: 8241911: AArch64: Fix a potential issue about register allocation effect rule in reduce_add2I
Hi,
JDK- 8241911 is backported to 11.0.11-oracle. I'd like to backport it for parity.
The actual fix applies cleanly, but the change contains additional format changes which don't (see below) and which we can skip.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8241911
Original change:
https://hg.openjdk.java.net/jdk/jdk/rev/4b76f0cc11c4
11u backport:
http://cr.openjdk.java.net/~mdoerr/8241911_aarch64_11u/webrev.00/
Please review.
Best regards,
Martin
--- aarch64.ad
+++ aarch64.ad
@@ -16265,7 +16265,7 @@
effect(TEMP_DEF dst, TEMP tmp);
format %{ "fmaxs $dst, $src1, $src2\n\t"
"ins $tmp, S, $src2, 0, 1\n\t"
- "fmaxs $dst, $dst, $tmp\t max reduction2F" %}
+ "fmaxs $dst, $dst, $tmp\t# max reduction2F" %}
ins_encode %{
__ fmaxs(as_FloatRegister($dst$$reg), as_FloatRegister($src1$$reg), as_FloatRegister($src2$$reg));
__ ins(as_FloatRegister($tmp$$reg), __ S, as_FloatRegister($src2$$reg), 0, 1);
@@ -16280,7 +16280,7 @@
ins_cost(INSN_COST);
effect(TEMP_DEF dst);
format %{ "fmaxv $dst, T4S, $src2\n\t"
- "fmaxs $dst, $dst, $src1\t max reduction4F" %}
+ "fmaxs $dst, $dst, $src1\t# max reduction4F" %}
ins_encode %{
__ fmaxv(as_FloatRegister($dst$$reg), __ T4S, as_FloatRegister($src2$$reg));
__ fmaxs(as_FloatRegister($dst$$reg), as_FloatRegister($dst$$reg), as_FloatRegister($src1$$reg));
@@ -16295,7 +16295,7 @@
effect(TEMP_DEF dst, TEMP tmp);
format %{ "fmaxd $dst, $src1, $src2\n\t"
"ins $tmp, D, $src2, 0, 1\n\t"
- "fmaxd $dst, $dst, $tmp\t max reduction2D" %}
+ "fmaxd $dst, $dst, $tmp\t# max reduction2D" %}
ins_encode %{
__ fmaxd(as_FloatRegister($dst$$reg), as_FloatRegister($src1$$reg), as_FloatRegister($src2$$reg));
__ ins(as_FloatRegister($tmp$$reg), __ D, as_FloatRegister($src2$$reg), 0, 1);
@@ -16311,7 +16311,7 @@
effect(TEMP_DEF dst, TEMP tmp);
format %{ "fmins $dst, $src1, $src2\n\t"
"ins $tmp, S, $src2, 0, 1\n\t"
- "fmins $dst, $dst, $tmp\t min reduction2F" %}
+ "fmins $dst, $dst, $tmp\t# min reduction2F" %}
ins_encode %{
__ fmins(as_FloatRegister($dst$$reg), as_FloatRegister($src1$$reg), as_FloatRegister($src2$$reg));
__ ins(as_FloatRegister($tmp$$reg), __ S, as_FloatRegister($src2$$reg), 0, 1);
@@ -16326,7 +16326,7 @@
ins_cost(INSN_COST);
effect(TEMP_DEF dst);
format %{ "fminv $dst, T4S, $src2\n\t"
- "fmins $dst, $dst, $src1\t min reduction4F" %}
+ "fmins $dst, $dst, $src1\t# min reduction4F" %}
ins_encode %{
__ fminv(as_FloatRegister($dst$$reg), __ T4S, as_FloatRegister($src2$$reg));
__ fmins(as_FloatRegister($dst$$reg), as_FloatRegister($dst$$reg), as_FloatRegister($src1$$reg));
@@ -16341,7 +16341,7 @@
effect(TEMP_DEF dst, TEMP tmp);
format %{ "fmind $dst, $src1, $src2\n\t"
"ins $tmp, D, $src2, 0, 1\n\t"
- "fmind $dst, $dst, $tmp\t min reduction2D" %}
+ "fmind $dst, $dst, $tmp\t# min reduction2D" %}
ins_encode %{
__ fmind(as_FloatRegister($dst$$reg), as_FloatRegister($src1$$reg), as_FloatRegister($src2$$reg));
__ ins(as_FloatRegister($tmp$$reg), __ D, as_FloatRegister($src2$$reg), 0, 1);
More information about the hotspot-compiler-dev
mailing list