On Tue, 20 Jul 2021 at 16:13, Kenneth Adam Miller
<kennethadammil...@gmail.com> wrote:
> See of course I thought about editing code outside of my target too, but 
> thought against it.

Yeah, it's a bit of a hard one to judge. Mostly new target code shouldn't
need to result in changes to core code, but sometimes if the target is
doing something nobody else has needed before then the best approach
is to update the core code to provide the necessary facilities for it.

> And doing it that way may make the compiler happier, but then would it be 
> inviting a runtime error

In this case what the code is testing is "can I fit a value into the low bits
of a page-aligned address?": if it can, there's a faster codepath it uses,
and it has a fallback to a slower approach otherwise. If TARGET_PAGE_BITS
is 16 or more, then it is always true that the value will fit into the
low bits, and we can always use the fastpath. The compiler is correct that
the comparison is always true, and that is OK here.

thanks
-- PMM

Reply via email to