On Mon, 23 Mar 2026 08:15:52 GMT, Galder Zamarreño <[email protected]> wrote:

>> Added a comment before this method. Thanks!
>
>> I'm not so clear what the pointed `mask` means here?
> 
> I meant if the example was something like where the "xor and all true mask" 
> is used by two nodes:
> 
> 
> VectorMask<Integer> avm, bvm, cvm = ...
> VectorMask<Integer> xor = alltrue.xor(I_SPECIES.maskAll(true));
> VectorMask<Integer> bAndXor = bvm.and(xorAllTrue);
> VectorMask<Integer> cAndXor = cvm.and(xorAllTrue);

Thanks for your inputs. So if the mask means `xor`, please see above 
explanation:


If the mask is the result of XorVMask ...


The backend match rule of `andNot` cannot be matched because its child `XorV` 
is multi-used. For this case, the `maskAll` should not be cloned to avoid 
duplicated machnodes generated.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/30013#discussion_r2978596201

Reply via email to