On Wed, 16 Apr 2025 02:11:09 GMT, Xiaohong Gong <xg...@openjdk.org> wrote:
>> Vladimir Ivanov has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains 19 additional >> commits since the last revision: >> >> - Merge branch 'master' into vector.math.01.java >> - RVV and SVE adjustments >> - Merge branch 'master' into vector.math.01.java >> - Fix windows-aarch64 build failure >> - features_string -> cpu_info_string >> - Reviews and Float64Vector-related fix >> - Misc fixes and cleanups >> - CPU features support >> - Cleanup >> - TODO list >> - ... and 9 more: https://git.openjdk.org/jdk/compare/e269cc66...0ffed12f > > src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMathLibrary.java > line 240: > >> 238: if (isAARCH64() && vspecies.vectorBitSize() > 128) { >> 239: return false; // FIXME: SVE support only for MAX >> shapes >> 240: } > > SVE also supports operations for partial vector size, which means the vector > size is smaller than MAX size. For example, if the max vector size of a SVE > architecture is 512-bit, the FP vector operations with > `VectorShape.S_256_BIT` are also supported. They are implemented with the > same scalable math functions in SLEEF. > > Hence, I think this check and the assertion in line-198 can be removed. > Thanks! How does it work now? The code in `generate_vector_math_stubs()` in `stubGenerator_aarch64.cpp` only populates `VEC_SIZE_SCALABLE` shapes with SVE versions. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24462#discussion_r2047489059