The attached testcase fails on i386-linux (as well as x86_64-linux -m32).
It computes the p + (MAP_LEN / 0x100) * 0x100 end pointer, but instead of
doing unsigned comparison on the pointers, it does a signed one,
which obviously doesn't work if the pointer has topmost bit set.
Created attachment 9007 [details]
This is a known bug, see gcc.c-torture/execute/loop-2e.c.
This is a dup of bug 16052.
*** This bug has been marked as a duplicate of 16052 ***