[aarch64-port-dev ] RFR(S): 8241475: AArch64: Add missing support for PopCountVI node
Andrew Dinn
adinn at redhat.com
Fri Apr 3 09:13:40 UTC 2020
On 03/04/2020 03:41, Ningsheng Jian wrote:
> Hi Pengfei,
>
> On 3/31/20 5:32 PM, Pengfei Li wrote:
>> Hi,
>>
>> Please help review this another missing node support for AArch64.
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8241475
>> Webrev: http://cr.openjdk.java.net/~pli/rfr/8241475/webrev.01/
>>
>
> Just took a close look before pushing your code, and I think this line
> can be removed?
>
> + effect(TEMP_DEF dst);
Strictly, I think this is correct but I don't think it matters.
I believe this usage is meant to identify a case where a generated
multi-instruction sequence uses the output register (i.e. dst = target
of Set) both as an output in the final instruction and as an
intermediate scratch register in intervening instructions. That is the
case for both these rules.
The only way that might make a difference is if the back end were able
to interleave instructions in other generated sequences with the
instructions generated by this rule during instruction scheduling (or,
say, via peephole rules). However, I don't believe that can happen given
the current adlc code and AArch64 rules.
n.b. there are several other exemples of TEMP_DEF use in aarch64.ad. I
am not sure that they are the only ones where a dst register is used as
both output and intermediary (we will only find out by carefully
eyeballing every rule).
regards,
Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill
More information about the hotspot-compiler-dev
mailing list