RFR: 8332119: Incorrect IllegalArgumentException for C2 compiled permute kernel [v3]

Emanuel Peter epeter at openjdk.org
Wed Jun 5 06:49:00 UTC 2024


On Wed, 5 Jun 2024 06:25:41 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Review comments resolutions.
>
> src/hotspot/share/opto/vectorIntrinsics.cpp line 530:
> 
>> 528: 
>> 529:   Node* mod_val = gvn().makecon(TypeInt::make(num_elem-1));
>> 530:   Node* bcast_mod  = gvn().transform(VectorNode::scalar2vector(mod_val, num_elem, type_bt));
> 
> Naming issue: this is not the result of the mod, so "mod" is a bit misleading. I would use `mask`, as it is used as a mask in the AndV below.

Also: it seems to me that you are duplicating these 4 lines above from its call-site. I wonder if this means that you are slicing the boundary of your new method right, or if maybe the whole if-else block from the call-site should be a new method?

> test/hotspot/jtreg/compiler/vectorapi/TestTwoVectorPermute.java line 44:
> 
>> 42:    public static final VectorSpecies<Float> FSP = FloatVector.SPECIES_256;
>> 43: 
>> 44:    public static void validate(float [] res, float [] shuf, float [] src1, float [] src2) {
> 
> Suggestion:
> 
>    public static void validate(float[] res, float[] shuf, float[] src1, float[] src2) {

Similar issues below.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19442#discussion_r1627057938
PR Review Comment: https://git.openjdk.org/jdk/pull/19442#discussion_r1627065396


More information about the hotspot-compiler-dev mailing list