RFR: 8316592: RISC-V: implement poly1305 intrinsic [v7]

Andrew Haley aph at openjdk.org
Fri Nov 10 12:13:08 UTC 2023


On Fri, 10 Nov 2023 11:34:33 GMT, Hamlin Li <mli at openjdk.org> wrote:

>>> Thanks for the information @theRealAph Seems the finalReduce in java code does not make reduce in intrinsic code here unnecessary, because in the intrinsic code, we only store back 130 bits back to acc_start,
>> 
>> That is not true. We write 131 bits back:
>> 
>> 
>>     __ ubfx(rscratch1, U_1, 40, 24);   // Top 24 bits of U1
>>     __ bfi(rscratch1, U_2, 24, 3);    // Bottom 3 bits of U2
>>     __ str(rscratch1, Address(acc_start, 4 * sizeof (jlong)));
>
> @theRealAph one more question for you (asked above among others), hope it's the last one :)
> 
> 2. `wide_mul(U_1, U_1HI, S_0, R_1);  wide_madd(U_1, U_1HI, S_1, R_0);  wide_madd(U_1, U_1HI, S_2, RR_1);` in L7178 at stubGenerator_aarch64.cpp, why S_2*RR_1 does not consider the low 2 bit of R_1, but just the higher bits (which in RR_1)?

The low 2 bits are 00.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16417#discussion_r1389316805


More information about the hotspot-compiler-dev mailing list