Generates code for the 68000 instruction set. Equivalent to the -68000 machine specific option.
Generates code for the 68010 instruction set. Equivalent to the -68010 machine specific option.
Generates code for the 68020 instruction set. Equivalent to the -68020 machine specific option.
Generates code for the 68030 instruction set. Equivalent to the -68030 machine specific option.
Generates code for the 68040 instruction set. Equivalent to the -68040 machine specific option.
Generates code for the 68LC040 instruction set. Equivalent to the -68LC040 machine specific option.
Generates code for the 68EC040 instruction set. Equivalent to the -68EC040 machine specific option.
Generates code for the 68060 instruction set. Equivalent to the-68060 machine specific option.
Generates code for the 68LC060 instruction set. Equivalent to the -68LC060 machine specific option.
Generates code for the 68EC060 instruction set. Equivalent to the -68EC060 machine specific option.
Generates code for the 68000 instruction set used by the 68302 and 68306. Equivalent to the -68302 machine specific option.
Generates code for the CPU32 instruction set used by the 68330, 68331, 68332, and 68F333. Equivalent to the -68331 machine specific option.
Generates code for the CPU32 instruction set used by the 68340. Equivalent to the -68340 machine specific option.
Generates code for the CPU32+ instruction set used by the 68360. Equivalent to the -68360 command line option.
Generates code for the ColdFire 5100 series instruction set. Equivalent to the -cf5102 command line option.
Generates code for the ColdFire 5200 series instruction set. Equivalent to the -cf5202, -cf5203, -cf5204, -cf5206, -cf206e machine specific options.
Generates code for the ColdFire 5300 series instruction set. Equivalent to the -cf5307 machine specific option.
Generates code using the floating point capabilities of the selected processor or software floating point if the selected processor has no floating point support.
Rejects any use of floating point variables or constants in C, C++, or Pascal. Equivalent to the -fnone build-time option.
Generate software floating point emulation code, regardless of the capabilities of the selected processor. Libraries built for software will also be used. Equivalent to the -fsoft build-time option.
Generates code for the 68881 floating point processor. Equivalent to the -68881 machine specific option.
Generates code for the 68882 floating point processor. Equivalent to the -68882 machine specific option.
Generates absolutely addressed (position dependent) code. Equivalent to the -nopic command line option.
Generates position independent code for the code and data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the program counter. Equivalent to the -pic16 PIC option.
Generates position independent code for the code and data sections of the program. The position offsets are 32 bits, and are relative to the program counter. Equivalent to the -pic32 PIC option.
Generates absolute addressed (position dependent) data. Equivalent to the -nopid PID option.
Generates position independent data for the data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the program counter. Equivalent to the -pid16 option.
Generates position independent data for the data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the register a2. Equivalent to the -pid16=a2 option.
Generates position independent data for the data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the register a3. Equivalent to the -pid16=a3 option.
Generates position independent data for the data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the register a4. Equivalent to the -pid16=a4 option.
Generates position independent data for the data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the register a5. Equivalent to the -pid16=a5 option.
Generates position independent data for the data sections of the program. The position offsets are 16 bits (+/- 32KB), and are relative to the register a6. Equivalent to the -pid16=a6 option.
Generates position independent data for the data sections of the program. The position offsets are 32 bits, and are relative to the program counter. Equivalent to the -pid32 option.
Generates position independent data for the data sections of the program. The position offsets are 32 bits, and are relative to the register a2. Equivalent to the -pid32=a2 option.
Generates position independent data for the data sections of the program. The position offsets are 32 bits, and are relative to the register a3. Equivalent to the -pid32=a3 option.
Generates position independent data for the data sections of the program. The position offsets are 32 bits, and are relative to the register a4. Equivalent to the -pid32=a4 option.
Generates position independent data for the data sections of the program. The position offsets are 32 bits, and are relative to the register a5. Equivalent to the -pid32=a5 option.
Generates position independent data for the data sections of the program. The position offsets are 32 bits, and are relative to the register a6. Equivalent to the -pid32=a6 option.
The following are descriptions of the check boxes in the MC-68000 window.
Uses built-in floating point instructions rather than calling library functions such as fabs(), sqrt(), and sin(). Equivalent to the -ffunctions machine specific option.
Appends one FPNOP instruction after every 68881 instruction, other than FMOVE, unless immediately followed by a 68881 instruction. This ensures that interrupts are taken at the correct position. Equivalent to the -ffpnop machine specific option.
Returns floating point numbers from functions in the registers d0 and d1 instead of fp0. Equivalent to the -freturnd0 machine specific option.
In 68881/68882 and 68040 mode, this stores all single and double precision floating point variables and values in memory to ensure precise truncation. Without this option, variables and intermediate values are often located in the internal 80-bit floating point registers, resulting in additional precision. This produces results different from other architectures that truncate all results to 32 or 64 bits. Equivalent to the -fprecise machine specific option.
Enables use of a 68851 memory management unit. This option only affects the assembler. Equivalent to the -68851 machine specific option.
This is currently unsupported. For zero initialized variables and assembly output, the DS directive is used instead of DCB. This results in much smaller output from the assembler but does not explicitly initialize the variables to zero. It is then your responsibility to make sure the variables are initialized to zero.
For assembly output, use constant directives rather than actual 68K instructions. The compiler outputs assembly code which is portable to many more assemblers than the standard assembly code output. Equivalent to the -preassemble machine specific option.
Allows large switch statements by forcing the compiler to use a 32-bit offset, which works regardless of the destination label. The default is a 16-bit offset which is smaller and faster. However, it fails if a label is too far away. Equivalent to the -bigswitch FORTRAN option.
Does not round up the size of structs containing one byte of data to the default minimum alignment value. These structs will be one byte in size and may be linked at an odd-numbered address with the option.
Subroutine calls require a substantial amount of code in many programs. Each time a subroutine is called the arguments are pushed on the stack, the subroutine is called, and when the subroutine returns the arguments are removed from the stack by adding to the stack pointer. In many programs a substantial savings in code size is realized by the Green Hills compiler by not adding to the stack pointer after each call.
Instead, the total amount of space that needs to be removed is accumulated until some occurrence, such as a branch, forces the compiler to adjust the stack. The optimization may cause a program to use more stack space than it otherwise would have.
This option forces a stack adjustment after each subroutine call. This stops stack frames from growing too large at the expense of generating more code.