RFR: 8291600: [vectorapi] vector cast op check is not always needed for vector mask cast [v5]

Xiaohong Gong xgong at openjdk.org
Wed Aug 31 03:12:13 UTC 2022


On Wed, 31 Aug 2022 02:50:37 GMT, Jie Fu <jiefu at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add vector cast op check for vector mask for some cases
>
> src/hotspot/share/opto/vectorIntrinsics.cpp line 2498:
> 
>> 2496:     }
>> 2497:     if (is_mask && is_floating_point_type(elem_bt_to)) {
>> 2498:       new_elem_bt_to = elem_bt_to == T_FLOAT ? T_INT : T_LONG;
> 
> Why we need this change?

Before `VectorCast` is used for vector mask casting, the src floating point type has been casted to an integral type that has the same element size. Please see the codes here: https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/vectornode.cpp#L1741. We'd better to check the right type of the generated vector cast op.

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

PR: https://git.openjdk.org/jdk/pull/9737


More information about the hotspot-compiler-dev mailing list