Since there is no official document regarding the Aarch64 instruction
encoding available (at least I couldn't find any) I'm studying the binutils
code instead.
I don't understand how the following code in aarch64_logical_immediate_p
works:
if (is32)
{
/* Allow all zeros or all ones in top 32-bits, so that
constant expressions like ~1 are permitted. */
if (value >> 32 != 0 && value >> 32 != 0xffffffff)
return 0xffffffff;
Why are we returning a true value here? (and why such a strange choice?)
And that without even setting the aarch64_insn *encoding - this seems like
a bug to me or I'm misunderstanding the code.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils