Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-07-23 Thread erifan
On Thu, 5 Jun 2025 11:05:48 GMT, Emanuel Peter wrote: >>> > FYI: `BoolTest::negate` already does what you want: `mask negate( ) const >>> > { return mask(_test^4); }` I think you should use that instead :) >>> >>> Indeed, I hadn't noticed that, thank you. >> >> Oh I think we still cannot use `

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-07-03 Thread erifan
On Thu, 5 Jun 2025 11:05:48 GMT, Emanuel Peter wrote: >>> > FYI: `BoolTest::negate` already does what you want: `mask negate( ) const >>> > { return mask(_test^4); }` I think you should use that instead :) >>> >>> Indeed, I hadn't noticed that, thank you. >> >> Oh I think we still cannot use `

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-25 Thread erifan
On Thu, 5 Jun 2025 11:05:48 GMT, Emanuel Peter wrote: >>> > FYI: `BoolTest::negate` already does what you want: `mask negate( ) const >>> > { return mask(_test^4); }` I think you should use that instead :) >>> >>> Indeed, I hadn't noticed that, thank you. >> >> Oh I think we still cannot use `

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-06 Thread erifan
On Fri, 6 Jun 2025 07:01:58 GMT, erifan wrote: > > > Oh I think we still cannot use `BoolTest::negate`, because we cannot > > > instantiate a `BoolTest` object with **unsigned** comparison. > > > `BoolTest::negate` is a non-static function. > > > > > > I see. Ok. Hmm. I still think that the l

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-06 Thread erifan
On Thu, 5 Jun 2025 11:05:48 GMT, Emanuel Peter wrote: > > Oh I think we still cannot use `BoolTest::negate`, because we cannot > > instantiate a `BoolTest` object with **unsigned** comparison. > > `BoolTest::negate` is a non-static function. > > I see. Ok. Hmm. I still think that the logic sho

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-05 Thread Emanuel Peter
On Thu, 5 Jun 2025 09:48:46 GMT, erifan wrote: > Oh I think we still cannot use `BoolTest::negate`, because we cannot > instantiate a `BoolTest` object with **unsigned** comparison. > `BoolTest::negate` is a non-static function. I see. Ok. Hmm. I still think that the logic should be in `BoolTe

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-05 Thread erifan
On Thu, 5 Jun 2025 09:24:10 GMT, Emanuel Peter wrote: > FYI: `BoolTest::negate` already does what you want: `mask negate( ) const { > return mask(_test^4); }` I think you should use that instead :) Indeed, I hadn't noticed that, thank you. - PR Comment: https://git.openjdk.org/jdk

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-05 Thread erifan
On Thu, 5 Jun 2025 09:32:15 GMT, erifan wrote: > > FYI: `BoolTest::negate` already does what you want: `mask negate( ) const { > > return mask(_test^4); }` I think you should use that instead :) > > Indeed, I hadn't noticed that, thank you. Oh I think we still cannot use `BoolTest::negate`, be

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-05 Thread Emanuel Peter
On Thu, 5 Jun 2025 09:12:30 GMT, erifan wrote: >> This patch optimizes the following patterns: >> For integer types: >> >> (XorV (VectorMaskCmp src1 src2 cond) (Replicate -1)) >> => (VectorMaskCmp src1 src2 ncond) >> (XorVMask (VectorMaskCmp src1 src2 cond) (MaskAll m1)) >> => (VectorMas

Re: RFR: 8354242: VectorAPI: combine vector not operation with compare [v7]

2025-06-05 Thread erifan
> This patch optimizes the following patterns: > For integer types: > > (XorV (VectorMaskCmp src1 src2 cond) (Replicate -1)) > => (VectorMaskCmp src1 src2 ncond) > (XorVMask (VectorMaskCmp src1 src2 cond) (MaskAll m1)) > => (VectorMaskCmp src1 src2 ncond) > > cond can be eq, ne, le, ge, l