RFR: 8283667: [vectorapi] Vectorization for masked load with IOOBE with predicate feature [v3]

Sandhya Viswanathan sviswanathan at openjdk.java.net
Fri May 6 04:25:49 UTC 2022


On Fri, 6 May 2022 03:47:47 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> src/hotspot/share/opto/vectorIntrinsics.cpp line 1238:
>> 
>>> 1236:     } else {
>>> 1237:       // Masked vector load with IOOBE always uses the predicated load.
>>> 1238:       const TypeInt* offset_in_range = gvn().type(argument(8))->isa_int();
>> 
>> Should it be `argument(7)`? (and adjustments later to access the container).
>
> I'm afraid it's `argument(8)` for the load operation since the `argument(7)` is the mask input. It seems the argument number is not right begin from the mask input which is expected to be `6`. But the it's not. Actually I don't quite understand why.

offset is long so uses two argument slots (5 and 6). 
mask is argument (7).
offsetInRange is argument(8).

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

PR: https://git.openjdk.java.net/jdk/pull/8035


More information about the hotspot-compiler-dev mailing list