[11u] RFR 8222412: AARCH64: multiple instructions encoding issues
Hohensee, Paul
hohensee at amazon.com
Thu Mar 18 15:50:15 UTC 2021
You're right, it does seem to be somewhat random. Reviewed.
Thanks,
Paul
-----Original Message-----
From: Dmitry Chuyko <dmitry.chuyko at bell-sw.com>
Date: Wednesday, March 17, 2021 at 1:39 PM
To: "Hohensee, Paul" <hohensee at amazon.com>, "jdk-updates-dev at openjdk.java.net" <jdk-updates-dev at openjdk.java.net>
Subject: RE: [11u] RFR 8222412: AARCH64: multiple instructions encoding issues
Hi Paul,
Thanks for taking a look. I don't get what parts exactly are missing.
You mentioned chunks from the generated section of
assembler_aarch64.cpp. I compared generated sections from multiple sources:
A. Current jdk11u-dev
B. Patched jdk11u-dev
C. JDK 15
D. Script output
My observations:
1. B == C. After the patch the code is like 15.
2. B ~= D. The section in patched .cpp corresponds to the script output.
Unfortunately in previous work with the script we didn't make the random
seed fixed by default. So generated section in the file contains same
instruction sequence up to register renaming and other randomized stuff.
3. A ~< B. The patch makes additions in "// ThreeRegOp" and adds "//
LdStSIMDOp", "// SpecialCases" and "// LSEOp"-s. Other parts are
equivalent up to random stuff.
-Dmitry
On 3/13/21 2:14 AM, Hohensee, Paul wrote:
> Looks like you're missing part of the assembler_aarch64.cpp patch in the sections "// AbsOp", "// CondBranchOp", "// Op", "// LoadStoreOp" with "__ prfm(back)", and "// FloatImmediateOp".
>
> Other than those hunks, looks good.
>
> Thanks,
> Paul
>
> -----Original Message-----
> From: jdk-updates-dev <jdk-updates-dev-retn at openjdk.java.net> on behalf of Dmitry Chuyko <dmitry.chuyko at bell-sw.com>
> Date: Friday, March 12, 2021 at 12:58 PM
> To: "jdk-updates-dev at openjdk.java.net" <jdk-updates-dev at openjdk.java.net>
> Subject: [11u] RFR 8222412: AARCH64: multiple instructions encoding issues
>
> Hello,
>
> Original bug: https://bugs.openjdk.java.net/browse/JDK-8222412
>
> Original patch applies almost cleanly except 1 change in
> assembler_aarch64.hpp. In jdk/jdk the fix is based on JDK-8214961 [1].
> In jdk11u first half of JDK-8214961 is already backported in JDK-8216350
> [2]. The second half of JDK-8214961 is overridden by that single line
> change which is manually recreated to change the current code. I.e.
>
> - rf(Rs, 16), f(op1, 15), f(op2, 14, 12), f(0, 11, 10), rf(Rn, 5),
> zrf(Rt, 0);
> instead of
> - rf(Rs, 16), f(op1, 15), f(op2, 14, 12), f(0, 11, 10), srf(Rn, 5),
> zrf(Rt, 0);
>
> No need to backport JDK-8214961 as it is completely overridden by
> JDK-8222412 + JDK-8216350 backports.
>
> 11u webrev: http://cr.openjdk.java.net/~dchuyko/8222412/webrev.11u.00/
>
> Testing: aarch64 build, tier1, tier2; asm_check in fastdebug build.
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8214961
> [2] https://bugs.openjdk.java.net/browse/JDK-8216350
>
> --
> Thanks,
> -Dmitry
>
>
More information about the jdk-updates-dev
mailing list