Contents|Index|Previous|Next

AMD29K Options

The following ‘-m’ options are defined for the AMD Am29000.

-mdw
Generate code that assumes the DW bit is set, i.e., that byte and halfword operations are directly supported by the hardware. This is the default.

-mndw
Generate code that assumes the DW bit is not set.

-mbw
Generate code that assumes the system supports byte and halfword write operations. This is the default.

-mnbw
Generate code that assumes the systems does not support byte and halfword write operations. -mnbw implies -mndw.

-msmall
Use a small memory model that assumes that all function addresses are either within a single 256 KB segment or at an absolute address of less than 256k. This allows the call instruction to be used instead of a const, consth, calli sequence.

-mnormal
Use the normal memory model: Generate call instructions only when calling functions in the same file and calli instructions otherwise. This works if each file occupies less than 256 KB but allows the entire executable to be larger than 256 KB. This is the default.

-mlarge
Always use calli instructions. Specify this option if you expect a single file to compile into more than 256 KB of code.

-m29050
Generate code for the Am29050.

-m29000
Generate code for the Am29000. This is the default.

-mkernel-registers
Generate references to registers gr64-gr95 instead of to registers gr96-gr127. This option can be used when compiling kernel code that wants a set of global registers disjoint from that used by user-mode code.

Note:
When this option is used, register names in ‘-f’ flags must use the normal, user-mode, names.

-muser-registers
Use the normal set of global registers, gr96-gr127. This is the default.

-mstack-check
-mno-stack-check
Insert (or do not insert) a call to __msp_check after each stack adjustment. This is often used for kernel code.

-mstorem-bug
-mno-storem-bug
-mstorem-bug handles 29k processors which cannot handle the separation of a mtsrim insn and a storem instruction (most 29000 chips to date, but not the 29050).

-mno-reuse-arg-regs
-mreuse-arg-regs
-mno-reuse-arg-regs tells the compiler to only use incoming argument registers for copying out arguments. This helps detect calling a function with fewer arguments than those with which it was declared.

-mno-impure-text
-mimpure-text
-mimpure-text, used in addition to -shared, tells the compiler to not pass -assert pure-text to the linker when linking a shared object.

-msoft-float
Generate output containing library calls for floating point.

Warning:
The requisite libraries are not part of GNU CC. Normally the facilities of the machine’s usual C compiler are used, but this can’t be done directly in cross-compilation. You must make your own arrangements to provide suitable library functions for cross-compilation.