RFR: 8378312: [VectorAPI] libraryUnaryOp/libraryBinaryOp failed to intrinsify [v4]

Paul Sandoz psandoz at openjdk.org
Fri Feb 27 16:53:24 UTC 2026


On Wed, 25 Feb 2026 11:05:50 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:

>> I ran following code with `-Djdk.incubator.vector.DEBUG=true`, however it was not intrinsified.
>> 
>> 
>>   public static void cos(){
>>     var rand = new Random();
>>     for(int i = 0; i < 1_000_000; i++){
>>       var vec = DoubleVector.fromArray(DoubleVector.SPECIES_256, rand.doubles().limit(4).toArray(), 0);
>> 
>>       vec.lanewise(VectorOperators.COS);
>>     }
>>   }
>> 
>> 
>> I knew `__jsvml_cos4_ha_l9()` in libjsvml.so should be called in this case (via vector debug log), but it was not hitted even though I set breakpoint in it.
>> 
>> `LaneType` has been introduced in [JDK-8376187](https://bugs.openjdk.org/browse/JDK-8376187), and `LibraryCallKit::inline_vector_call()` was updated to handle lane type rather than class of element type. However `VectorMathLibrary` wasn't modified.
>> 
>> I confirmed `__jsvml_cos4_ha_l9()` is called with this fix, and also all jdk/jdk/incubator/vector jtreg tests passed on Linux AMD64.
>
> Yasumasa Suenaga has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - Remove unnecesary file
>  - Update testcase
>  - Add comment

Marked as reviewed by psandoz (Reviewer).

test/hotspot/jtreg/compiler/vectorapi/TestVectorUnaryOpAndBinaryOp.java line 40:

> 38:  */
> 39: 
> 40: public class TestVectorUnaryOpAndBinaryOp {

One last comment, sorry did not notice before. Can we rename that to `TestVectorLibraryUnaryOpAndBinaryOp`? (I will approve no need for another review round for this change.)

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

PR Review: https://git.openjdk.org/jdk/pull/29835#pullrequestreview-3867975316
PR Review Comment: https://git.openjdk.org/jdk/pull/29835#discussion_r2865256085


More information about the core-libs-dev mailing list