diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-07-14 10:22:23 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-07-14 10:22:23 -0600 |
commit | 0a1daad47e3e349ec4910de45f7ff1d0c13c2d08 (patch) | |
tree | 470b89d0c4e56186a594c96d2d62c211caffe1dd /gcc | |
parent | c7e1200faf4bb0f73c317a7b07dbaf7c80ad359d (diff) | |
download | gcc-0a1daad47e3e349ec4910de45f7ff1d0c13c2d08.zip gcc-0a1daad47e3e349ec4910de45f7ff1d0c13c2d08.tar.gz gcc-0a1daad47e3e349ec4910de45f7ff1d0c13c2d08.tar.bz2 |
pa.h (TARGET_JUMP_IN_DELAY): New target flag to allow/disallow jump instructions in call delay slots.
* pa.h (TARGET_JUMP_IN_DELAY): New target flag to allow/disallow
jump instructions in call delay slots.
(TARGET_SWITCHES): Add -mjump-in-delay and -mno-jump-in-delay.
Provide -mno alternatives for most options.
(output_call): Declare.
From-SVN: r4914
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.h | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index d0f1803..d804180 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -54,6 +54,9 @@ extern int target_flags; #define TARGET_KERNEL (target_flags & 4) +/* Allow unconditional jumps in the delay slots of call instructions. */ +#define TARGET_JUMP_IN_DELAY (target_flags & 8) + /* Force all function calls to indirect addressing via a register. This avoids lossage when the function is very far away from the current PC. @@ -78,15 +81,22 @@ extern int target_flags; An empty string NAME is used to identify the default VALUE. */ #define TARGET_SWITCHES \ - {{"snake", 1}, \ - {"nosnake", -1}, \ - {"pa-risc-1-0", -1}, \ - {"pa-risc-1-1", 1}, \ - {"disable-fpregs", 2},\ - {"kernel", 4}, \ - {"long-calls", 16}, \ - {"disable-indexing", 32},\ - {"trailing-colon", 64},\ + {{"snake", 1}, \ + {"nosnake", -1}, \ + {"pa-risc-1-0", -1}, \ + {"pa-risc-1-1", 1}, \ + {"disable-fpregs", 2}, \ + {"no-disable-fpregs", 2}, \ + {"kernel", 4}, \ + {"no-kernel", -4}, \ + {"jump-in-delay", 8}, \ + {"no-jump-in-delay", -8}, \ + {"long-calls", 16}, \ + {"no-long-calls", -16}, \ + {"disable-indexing", 32}, \ + {"no-disable-indexing", -32},\ + {"trailing-colon", 64}, \ + {"no-trailing-colon", -64}, \ { "", TARGET_DEFAULT}} #ifndef TARGET_DEFAULT @@ -1871,6 +1881,7 @@ extern char *output_bb (); extern char *output_dbra (); extern char *output_movb (); extern char *output_return (); +extern char *output_call (); extern char *output_floatsisf2 (); extern char *output_floatsidf2 (); extern char *output_mul_insn (); |