On Fri, 15 May 2026 10:11:10 GMT, Ferenc Rakoczi <[email protected]> wrote:
>> src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 7733: >> >>> 7731: // This function computes partial results of eight 52 x 52 bit >>> multiplications, >>> 7732: // where the multiplicands are stored as 64-bit values, specifically >>> 7733: // (b_0, b_1, b_2, b_3) * (a_3, a_4). >> >> Should this not be `(a_0, a_1)`? > > Yes. Fixed. n.b. I see now why you originally wrote `(a_3, a_4)`. My confusion arose because at this point it was not clear tome that the `as` being input here were actually the 4th and fifth limb of a sequence of 5 52-bit quantities taken from input array `a`. I still think it is clearer to keep `a_0` and `a_1` here. The comments I suggested you add to the calling routine make it clear that in the context of that method the pair of 52-bit values in register `as` are the 4th and 5th limbs `(a3, a4)`. Meanwhile in this routine where we accept two full `a` values and four half `b` values it makes more sense to label the `as` as `a_0` and `a_1`. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/30941#discussion_r3258701599
