<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 4, 2019 at 3:33 AM <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
ARMv8 has an amazingly exotic scheme for encoding bitfields as immediates in logical operations.  Copy LLVM's encoder.  So far this is unverified because I cannot make sense of <br>
        immN:NOT(imms)<br>
in<br>
                len = HighestSetBit(immN:NOT(imms));<br>
in DecodeBitMasks on page J1-7389 of the Arm ARM.<br>
If you can make sense of this either consider fully implementing CogARMv8Compiler>>decodeBitMasksN:imms:immr: or explaining to me what is meant by "immN:NOT(imms)" (via email to OpenSMalltalk-VM ?).<br>
<br>
AdvThanksance.<br></blockquote><div><br></div><div>Is line 91 of <a href="https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Processors/AARCH64/src/main/java/DecodeBitMasks.java">https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Processors/AARCH64/src/main/java/DecodeBitMasks.java</a> of any use?<br><br>Basically,<br>: -> concatenate bit fields<br>NOT -> ... not ;)<br><br>Cheers,<br>Henry <br></div></div></div>