diff options
Diffstat (limited to 'gcc/config/h8300/h8300.h')
-rw-r--r-- | gcc/config/h8300/h8300.h | 73 |
1 files changed, 1 insertions, 72 deletions
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h index 85886dd066f..7730519aed5 100644 --- a/gcc/config/h8300/h8300.h +++ b/gcc/config/h8300/h8300.h @@ -96,86 +96,15 @@ extern const char * const *h8_reg_names; #define TARGET_VERSION fprintf (stderr, " (Renesas H8/300)"); -/* Run-time compilation parameters selecting different hardware subsets. */ - -extern int target_flags; - -/* Masks for the -m switches. */ -#define MASK_H8300S 0x00000001 -#define MASK_MAC 0x00000002 -#define MASK_INT32 0x00000008 -#define MASK_ADDRESSES 0x00000040 -#define MASK_QUICKCALL 0x00000080 -#define MASK_SLOWBYTE 0x00000100 -#define MASK_NORMAL_MODE 0x00000200 -#define MASK_RELAX 0x00000400 -#define MASK_H8300H 0x00001000 -#define MASK_ALIGN_300 0x00002000 -#define MASK_H8300SX 0x00004000 - /* Macros used in the machine description to test the flags. */ -/* Make int's 32 bits. */ -#define TARGET_INT32 (target_flags & MASK_INT32) - -/* Dump recorded insn lengths into the output file. This helps debug the - md file. */ -#define TARGET_ADDRESSES (target_flags & MASK_ADDRESSES) - -/* Pass the first few arguments in registers. */ -#define TARGET_QUICKCALL (target_flags & MASK_QUICKCALL) - -/* Pretend byte accesses are slow. */ -#define TARGET_SLOWBYTE (target_flags & MASK_SLOWBYTE) - /* Select between the H8/300 and H8/300H CPUs. */ #define TARGET_H8300 (! TARGET_H8300H && ! TARGET_H8300S) -#define TARGET_H8300H (target_flags & MASK_H8300H) -#define TARGET_H8300S (target_flags & (MASK_H8300S | MASK_H8300SX)) -#define TARGET_H8300SX (target_flags & MASK_H8300SX) +#define TARGET_H8300S (TARGET_H8300S_1 || TARGET_H8300SX) /* Some multiply instructions are not available in all H8SX variants. Use this macro instead of TARGET_H8300SX to indicate this, even though we don't actually generate different code for now. */ #define TARGET_H8300SXMUL TARGET_H8300SX -#define TARGET_NORMAL_MODE (target_flags & MASK_NORMAL_MODE) - -/* mac register and relevant instructions are available. */ -#define TARGET_MAC (target_flags & MASK_MAC) - -/* Align all values on the H8/300H the same way as the H8/300. Specifically, - 32 bit and larger values are aligned on 16 bit boundaries. - This is all the hardware requires, but the default is 32 bits for the H8/300H. - ??? Now watch someone add hardware floating point requiring 32 bit - alignment. */ -#define TARGET_ALIGN_300 (target_flags & MASK_ALIGN_300) - -/* Macro to define tables used to set the flags. - This is a list in braces of pairs in braces, - each pair being { "NAME", VALUE } - where VALUE is the bits to set or minus the bits to clear. - An empty string NAME is used to identify the default VALUE. */ - -#define TARGET_SWITCHES \ -{ {"s", MASK_H8300S, N_("Generate H8S code")}, \ - {"no-s", -MASK_H8300S, N_("Do not generate H8S code")}, \ - {"sx", MASK_H8300SX, N_("Generate H8SX code")}, \ - {"no-sx", -MASK_H8300SX, N_("Do not generate H8SX code")}, \ - {"s2600", MASK_MAC, N_("Generate H8S/2600 code")}, \ - {"no-s2600", -MASK_MAC, N_("Do not generate H8S/2600 code")}, \ - {"int32", MASK_INT32, N_("Make integers 32 bits wide")}, \ - {"addresses", MASK_ADDRESSES, NULL}, \ - {"quickcall", MASK_QUICKCALL, \ - N_("Use registers for argument passing")}, \ - {"no-quickcall", -MASK_QUICKCALL, \ - N_("Do not use registers for argument passing")}, \ - {"slowbyte", MASK_SLOWBYTE, \ - N_("Consider access to byte sized memory slow")}, \ - {"relax", MASK_RELAX, N_("Enable linker relaxing")}, \ - {"h", MASK_H8300H, N_("Generate H8/300H code")}, \ - {"n", MASK_NORMAL_MODE, N_("Enable the normal mode")}, \ - {"no-h", -MASK_H8300H, N_("Do not generate H8/300H code")}, \ - {"align-300", MASK_ALIGN_300, N_("Use H8/300 alignment rules")}, \ - { "", TARGET_DEFAULT, NULL}} #ifdef IN_LIBGCC2 #undef TARGET_H8300H |