-far_near_addressing

Simplifies address computations to reduce object code size and improve performance.

Syntax
  -far_near_addressing



  
  -nofar_near_addressing

  
Remarks

This linker optimization simplifies address computations in object code. If an address value is within the range that can be stored in the immediate field of the load immediate instruction, the linker replaces the address's two-instruction computation with a single instruction. An address value that is outside this range still requires two instructions to compute.

The ranges of values that may be stored in the immediate field is -0x7fff to 0x8000 for the regular li instruction and -0x7ffff to 0x80000 for e_li, the VLE (Variable Length Encoding) instruction.

The linker does not apply this optimization to functions that have been declared with the __declspec(no_linker_opts) directive.