Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-29 Thread Quan Anh Mai
On Wed, 22 Jun 2022 03:01:36 GMT, Quan Anh Mai wrote: >> Hi, >> >> This patch implements intrinsics for `Integer/Long::compareUnsigned` using >> the same approach as the JVM does for long and floating-point comparisons. >> This allows efficient and reliable usage of unsigned comparison in Java

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Jatin Bhateja
On Wed, 22 Jun 2022 03:01:36 GMT, Quan Anh Mai wrote: >> Hi, >> >> This patch implements intrinsics for `Integer/Long::compareUnsigned` using >> the same approach as the JVM does for long and floating-point comparisons. >> This allows efficient and reliable usage of unsigned comparison in Java

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Jatin Bhateja
On Wed, 29 Jun 2022 02:22:02 GMT, Quan Anh Mai wrote: >> I do not follow your comment, allocation decisions purely based on LRGs >> interferences and data flow attributes attached to operands and is agnostic >> to encoding block contents. > > Your suggestion requires us having additional `TEMP

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Quan Anh Mai
On Wed, 29 Jun 2022 02:12:24 GMT, Jatin Bhateja wrote: >> I realised that by swapping the `mov` and the `cmp` instruction, the rule >> needs to have `dst` different from `src1` and `src2`, which increases >> register pressure. > > I do not follow your comment, allocation decisions purely based

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Jatin Bhateja
On Tue, 28 Jun 2022 12:42:57 GMT, Quan Anh Mai wrote: >> src/hotspot/cpu/x86/x86_64.ad line 13043: >> >>> 13041: __ cmpl($src1$$Register, $src2$$Register); >>> 13042: __ movl($dst$$Register, -1); >>> 13043: __ jccb(Assembler::below, done); >> >> By placing compare adjacent to condit

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Quan Anh Mai
On Tue, 28 Jun 2022 05:20:03 GMT, Jatin Bhateja wrote: >> Quan Anh Mai has updated the pull request incrementally with one additional >> commit since the last revision: >> >> add comparison for direct value of compare > > src/hotspot/cpu/x86/x86_64.ad line 13043: > >> 13041: __ cmpl($src

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Quan Anh Mai
On Wed, 22 Jun 2022 03:01:36 GMT, Quan Anh Mai wrote: >> Hi, >> >> This patch implements intrinsics for `Integer/Long::compareUnsigned` using >> the same approach as the JVM does for long and floating-point comparisons. >> This allows efficient and reliable usage of unsigned comparison in Java

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-28 Thread Jatin Bhateja
On Tue, 28 Jun 2022 06:29:03 GMT, Quan Anh Mai wrote: >> src/hotspot/share/opto/subnode.hpp line 247: >> >>> 245: init_class_id(Class_Sub); >>> 246: } >>> 247: virtual int Opcode() const; >> >> In-lining may connect the inputs to constant, hence a Value routine may be >> useful here. >

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-27 Thread Quan Anh Mai
On Tue, 28 Jun 2022 05:51:42 GMT, Jatin Bhateja wrote: >> Quan Anh Mai has updated the pull request incrementally with one additional >> commit since the last revision: >> >> add comparison for direct value of compare > > src/hotspot/cpu/x86/x86_64.ad line 13027: > >> 13025: // Manifest a Cm

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-27 Thread Jatin Bhateja
On Wed, 22 Jun 2022 03:01:36 GMT, Quan Anh Mai wrote: >> Hi, >> >> This patch implements intrinsics for `Integer/Long::compareUnsigned` using >> the same approach as the JVM does for long and floating-point comparisons. >> This allows efficient and reliable usage of unsigned comparison in Java

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long

2022-06-21 Thread Quan Anh Mai
On Fri, 10 Jun 2022 00:05:53 GMT, Sandhya Viswanathan wrote: >> I have added a benchmark for the intrinsic. The result is as follows, thanks >> a lot: >> >> Before After >> Benchmark (size) Mode Cnt Score Err

Re: RFR: 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long [v3]

2022-06-21 Thread Quan Anh Mai
> Hi, > > This patch implements intrinsics for `Integer/Long::compareUnsigned` using > the same approach as the JVM does for long and floating-point comparisons. > This allows efficient and reliable usage of unsigned comparison in Java, > which is a basic operation and is important for range ch