i386 backend has i386.c: || INTVAL (op1) >= 16*1024*1024 i386.c: || INTVAL (op1) < -16*1024*1024) i386.c: if (INTVAL (op1) < -16*1024*1024 i386.c: || INTVAL (op1) >= 16*1024*1024) predicates.md: && offset < 16*1024*1024 predicates.md: && offset < 16*1024*1024 It is a magic number for 64-bit displacement. We should define a macro to make it consistent.
This occurred to me as well.
I don't understand why you just did not post a patch for this.
i386/i386.c: if (INTVAL (op1) >= 16*1024*1024 i386/i386.c: || INTVAL (op1) < -16*1024*1024) i386/i386.c: if (INTVAL (op1) < -16*1024*1024 i386/i386.c: || INTVAL (op1) >= 16*1024*1024) i386/i386.c: if (INTVAL (new_rtx) < -16*1024*1024 i386/i386.c: || INTVAL (new_rtx) >= 16*1024*1024) i386/i386.c: && INTVAL (disp) < -16*1024*1024) i386/i386.c: displacements if they < -16*1024*1024, which is also used i386/predicates.md: && offset < 16*1024*1024) i386/predicates.md: && offset < 16*1024*1024) Still there today.