Node: AMD29K Options, Next: , Previous: Convex Options, Up: Submodel Options

AMD29K Options

These -m options are defined for the AMD Am29000:

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.
Generate code that assumes the DW bit is not set.
Generate code that assumes the system supports byte and halfword write operations. This is the default.
Generate code that assumes the systems does not support byte and halfword write operations. -mnbw implies -mndw.
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.
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.
Always use calli instructions. Specify this option if you expect a single file to compile into more than 256 KB of code.
Generate code for the Am29050.
Generate code for the Am29000. This is the default.
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 that when this option is used, register names in -f flags must use the normal, user-mode, names.

Use the normal set of global registers, gr96-gr127. This is the default.
Insert (or do not insert) a call to __msp_check after each stack adjustment. This is often used for kernel code.
-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 tells the compiler to only use incoming argument registers for copying out arguments. This helps detect calling a function with fewer arguments than it was declared with.
-mimpure-text, used in addition to -shared, tells the compiler to not pass -assert pure-text to the linker when linking a shared object.
Generate output containing library calls for floating point. Warning: the requisite libraries are not part of GCC. 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.
Do not generate multm or multmu instructions. This is useful for some embedded systems which do not have trap handlers for these instructions.