RFR: 8283694: Improve bit manipulation and boolean to integer conversion operations on x86_64 [v7]

Quan Anh Mai duke at openjdk.java.net
Fri Jun 3 10:26:04 UTC 2022


On Thu, 2 Jun 2022 21:47:04 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 15 commits:
>> 
>>  - Resolve conflict
>>  - ins_cost
>>  - movzx is not elided with same input and output
>>  - fix only the needs
>>  - fix
>>  - cisc
>>  - delete benchmark command
>>  - pipe
>>  - fix, benchmarks
>>  - pipe_class
>>  - ... and 5 more: https://git.openjdk.java.net/jdk/compare/e5041ae3...337c0bf3
>
> src/hotspot/cpu/x86/x86_64.ad line 10766:
> 
>> 10764:   format %{ "xorl    $dst, $dst\t# ci2b\n\t"
>> 10765:             "testl   $src, $src\n\t"
>> 10766:             "setnz   $dst" %}
> 
> What's the advantage of this change?  The disadvantage is a spare TEMP register is needed -- we can't reuse src as dst.

Yes you are right, the change reduces 1 cycle of latency but may require another register so I reverted it. Thanks a lot.

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

PR: https://git.openjdk.java.net/jdk/pull/7968


More information about the hotspot-compiler-dev mailing list