On Thu, 29 May 2025 08:21:29 GMT, Jatin Bhateja <jbhat...@openjdk.org> wrote:
>> Mohamed Issa has updated the pull request incrementally with four additional >> commits since the last revision: >> >> - Remove comment mentioning invalid exception when NaN input is provided >> - Use rcx as base and r8 as index for address calculations in certain cbrt >> stub generator instructions >> - Remove unnecessary unpckhpd and unpcklpd definitions in macro-assembler >> header file >> - Remove unnecessary movapd definitions in macro-assembler header file > > src/hotspot/cpu/x86/stubGenerator_x86_64_cbrt.cpp line 185: > >> 183: >> 184: #define __ _masm-> >> 185: > > Original Intel libm inline sequence uses hexadecimal constants, I would have > preferred to use them as it is to maintain 1:1 mapping b/w instruction > sequence. The assembly reference code used for this implementation uses decimal constants. > test/micro/org/openjdk/bench/java/lang/CbrtPerf.java line 56: > >> 54: public static class CbrtPerfRanges { >> 55: public static int cbrtInputCount = 2048; >> 56: > > Please create separate CbrtPerfSpecialValues for +/- 0.0 and +/- Infinity and > NaN values. > I understand that handling special cases in intrinsic may impact general case > performance but its ok to have atleast micro for it. Ok, I added this to the new set of micro-benchmarks. I kept them as variable values. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24470#discussion_r2114551009 PR Review Comment: https://git.openjdk.org/jdk/pull/24470#discussion_r2114552717