aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-10-31 08:00:54 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-10-31 08:00:54 -0500
commitfea1b650454bbedd43270ddb4aaaf3df56cc0818 (patch)
tree38f19209a64c894893334c3096a8a92a1f8b22da
parentc65916a688994dda3fdbf82113b929f0d06aff75 (diff)
downloadgcc-fea1b650454bbedd43270ddb4aaaf3df56cc0818.zip
gcc-fea1b650454bbedd43270ddb4aaaf3df56cc0818.tar.gz
gcc-fea1b650454bbedd43270ddb4aaaf3df56cc0818.tar.bz2
(TARGET_SWITCHES): Add -split and -no-split.
(TARGET_SPLIT, TARGET_NOSPLIT): New macros. (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Abort if -split. From-SVN: r8366
-rw-r--r--gcc/config/pdp11/pdp11.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index b0cab19..624715b 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -91,6 +91,9 @@ extern int target_flags;
/* optimize for space instead of time - just in a couple of places */ \
{ "space", 512 }, \
{ "time", -512 }, \
+/* split instruction and data memory? */ \
+ { "split", 1024 }, \
+ { "no-split", -1024 }, \
/* default */ \
{ "", TARGET_DEFAULT} \
}
@@ -122,6 +125,9 @@ extern int target_flags;
#define TARGET_SPACE (target_flags & 512)
#define TARGET_TIME (! TARGET_SPACE)
+
+#define TARGET_SPLIT (target_flags & 1024)
+#define TARGET_NOSPLIT (! TARGET_SPLIT)
/* TYPE SIZES */
@@ -1254,6 +1260,9 @@ JMP FUNCTION 0x0058 0x0000 <- FUNCTION
#define TRAMPOLINE_TEMPLATE(FILE) \
{ \
+ if (TARGET_SPLIT) \
+ abort(); \
+ \
ASM_OUTPUT_INT (FILE, gen_rtx(CONST_INT, VOIDmode, 0x9400+STATIC_CHAIN_REGNUM)); \
ASM_OUTPUT_INT (FILE, const0_rtx); \
ASM_OUTPUT_INT (FILE, gen_rtx(CONST_INT, VOIDmode, 0x0058)); \
@@ -1269,6 +1278,9 @@ JMP FUNCTION 0x0058 0x0000 <- FUNCTION
#define INITIALIZE_TRAMPOLINE(TRAMP,FNADDR,CXT) \
{ \
+ if (TARGET_SPLIT) \
+ abort(); \
+ \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 2)), CXT); \
emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 6)), FNADDR); \
}