aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/h8300/h8300.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/h8300/h8300.h')
-rw-r--r--gcc/config/h8300/h8300.h73
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