aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-05-31 04:01:53 +0000
committerRichard Stallman <rms@gnu.org>1993-05-31 04:01:53 +0000
commit04664e247087df48e99148ba9ceabc25b8557b00 (patch)
treebf7917a8bb6aae7ec10964727ae3cc306c722d2d
parent8fa20c263075d2eb730bea3d0670e9320a12e01f (diff)
downloadgcc-04664e247087df48e99148ba9ceabc25b8557b00.zip
gcc-04664e247087df48e99148ba9ceabc25b8557b00.tar.gz
gcc-04664e247087df48e99148ba9ceabc25b8557b00.tar.bz2
(SHORTEN_WITH_ADJUST_INSN_LENGTH): Defined.
(ADJUST_INSN_LENGTH): Call pa_insn_adjust_length. From-SVN: r4601
-rw-r--r--gcc/config/pa/pa.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 2e286db..bf0bdda 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -1473,11 +1473,13 @@ while (0)
#define ADJUST_COST(INSN,LINK,DEP,COST) \
(COST) = pa_adjust_cost (INSN, LINK, DEP, COST)
-/* Conditional branches with empty delay slots have a length of two. */
+/* Handling the special cases is going to get too complicated for a macro,
+ just call `pa_adjust_insn_length' to do the real work. */
#define ADJUST_INSN_LENGTH(INSN, LENGTH) \
- if (GET_CODE (INSN) == CALL_INSN \
- || (GET_CODE (INSN) == JUMP_INSN && ! simplejump_p (insn))) \
- LENGTH += 1;
+ LENGTH += pa_adjust_insn_length (INSN, LENGTH);
+
+/* Enable a bug fix. (This is for extra caution.) */
+#define SHORTEN_WITH_ADJUST_INSN_LENGTH
/* Millicode insns are actually function calls with some special
constraints on arguments and register usage.