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 bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils