Go forward to i386-Float.
Go backward to i386-Memory.
Go up to i386-Dependent.

Handling of Jump Instructions
-----------------------------

   Jump instructions are always optimized to use the smallest possible
displacements.  This is accomplished by using byte (8-bit) displacement
jumps whenever the target is sufficiently close.  If a byte displacement
is insufficient a long (32-bit) displacement is used.  We do not support
word (16-bit) displacement jumps (i.e. prefixing the jump instruction
with the `addr16' opcode prefix), since the 80386 insists upon masking
`%eip' to 16 bits after the word displacement is added.

   Note that the `jcxz', `jecxz', `loop', `loopz', `loope', `loopnz'
and `loopne' instructions only come in byte displacements, so that it
is possible that use of these instructions (`gcc' does not use them)
will cause the assembler to print an error message (and generate
incorrect code).  The AT&T 80386 assembler tries to get around this
problem by expanding `jcxz foo' to
              jcxz cx_zero
              jmp cx_nonzero
     cx_zero: jmp foo
     cx_nonzero: