[vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support
Jatin Bhateja
jbhateja at openjdk.java.net
Fri May 14 07:54:04 UTC 2021
On Thu, 13 May 2021 02:00:44 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> src/hotspot/share/opto/matcher.cpp line 2332:
>>
>>> 2330: return;
>>> 2331: }
>>> 2332:
>>
>> If we add a new flag for masked nodes, it may simplify the checking logic for masking operations. e.g.
>> node.hpp:
>> class Node {
>> // Flags are sorted by usage frequency.
>> enum NodeFlags {
>> Flag_is_Copy = 1 << 0, // should be first bit to avoid shift
>> Flag_rematerialize = 1 << 1,
>> Flag_needs_anti_dependence_check = 1 << 2,
>> Flag_is_macro = 1 << 3,
>> Flag_is_Con = 1 << 4,
>> Flag_is_cisc_alternate = 1 << 5,
>> Flag_is_dead_loop_safe = 1 << 6,
>> Flag_may_be_short_branch = 1 << 7,
>> Flag_avoid_back_to_back_before = 1 << 8,
>> Flag_avoid_back_to_back_after = 1 << 9,
>> Flag_has_call = 1 << 10,
>> Flag_is_reduction = 1 << 11,
>> Flag_is_scheduled = 1 << 12,
>> **Flag_has_vector_mask_set** = 1 << 13,
>
> Good suggestion! Thanks! So do you mean using the new flag instead of `"n->in(3)->is_VectorMask()" ` ? I'm not very clarified about what the checking logic for masking operations you mean. Could you please elaborate more about this? Thanks so much!
Yes, setting a new flag over IR node could simplify the checks , and could be used in matcher patterns also.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/78
More information about the panama-dev
mailing list