<div dir="ltr"><div dir="ltr">Thanks, Henry!<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 6, 2019 at 1:53 AM Henrik Sperre Johansen <<a href="mailto:henrik.s.johansen@veloxit.no">henrik.s.johansen@veloxit.no</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> <br>
commits-2 wrote<br>
> ARMv8 has an amazingly exotic scheme for encoding bitfields as immediates<br>
> in logical operations.  Copy LLVM's encoder.  So far this is unverified<br>
> 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<br>
> CogARMv8Compiler>>decodeBitMasksN:imms:immr: or explaining to me what is<br>
> meant by "immN:NOT(imms)" (via email to OpenSMalltalk-VM ?).<br>
> <br>
> AdvThanksance.<br>
<br>
Is line 91 of<br>
<a href="https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Processors/AARCH64/src/main/java/DecodeBitMasks.java" rel="noreferrer" target="_blank">https://github.com/NationalSecurityAgency/ghidra/blob/master/Ghidra/Processors/AARCH64/src/main/java/DecodeBitMasks.java</a><br>
of any help?<br>
<br>
Iow, <br>
: -> concatenate bits<br>
NOT -> ... not<br></blockquote><div><br></div><div>In the end no.  I found other more concise code to study.  But thanks fir the heads up.  Clever, though, isn't it?  I think I would never have come up with a similar scheme myself.</div></div><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div>