RFR: 8354242: VectorAPI: combine vector not operation with compare [v8]
erifan
duke at openjdk.org
Wed Jun 25 10:16:39 UTC 2025
On Wed, 11 Jun 2025 05:09:34 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> src/hotspot/share/opto/vectornode.cpp line 2227:
>>
>>> 2225: const TypeVect* vector_mask_cast_vt = nullptr;
>>> 2226: // in1 should be single used, otherwise the optimization may be unprofitable.
>>> 2227: if (in1->Opcode() == Op_VectorMaskCast && in1->outcnt() == 1 && in1->in(1)->Opcode() == Op_VectorMaskCmp) {
>>
>> `in1->in(1)->Opcode() == Op_VectorMaskCmp`
>> Is this check here even necessary? Because we check it below again, right?
>> `in1->Opcode() != Op_VectorMaskCmp`
>
> Btw: do you have a test where `in1->outcnt() > 1`, and you check that the optimization does not happen with an IR test?
Refactored the code, thanks!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24674#discussion_r2166345311
More information about the core-libs-dev
mailing list