final.c (shorten_branches): Fix minor logic error in ADDR_DIFF_VEC shortening support.
authorJeffrey A Law <law@cygnus.com>
Sun, 8 Mar 1998 12:04:17 +0000 (12:04 +0000)
committerJeff Law <law@gcc.gnu.org>
Sun, 8 Mar 1998 12:04:17 +0000 (05:04 -0700)
        * final.c (shorten_branches): Fix minor logic error in
        ADDR_DIFF_VEC shortening support.

From-SVN: r18443

gcc/ChangeLog
gcc/final.c

index 6b957252025c861bd1b5aba6d1c7792f31dd397c..87b27d87307eee83029174577af6aa407e18a7c6 100644 (file)
@@ -1,3 +1,8 @@
+Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * final.c (shorten_branches): Fix minor logic error in
+       ADDR_DIFF_VEC shortening support.
+
 Sun Mar 8 02:17:42 PST 1998 Jeff Law  (law@cygnus.com)
 
        * version.c: Bump for snapshot.
index 99d20d14e55908b5f8054aabcfe24dc06947cc58..d00a05e0b098d312e4ae610a319fe407df9e6f5d 100644 (file)
@@ -1296,10 +1296,10 @@ shorten_branches (first)
          insn_last_address = insn_addresses[uid];
          insn_addresses[uid] = insn_current_address;
 
+#ifdef CASE_VECTOR_SHORTEN_MODE
          if (optimize && GET_CODE (insn) == JUMP_INSN
              && GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
            {
-#ifdef CASE_VECTOR_SHORTEN_MODE
              rtx body = PATTERN (insn);
              int old_length = insn_lengths[uid];
              rtx rel_lab = XEXP (XEXP (body, 0), 0);
@@ -1397,9 +1397,10 @@ shorten_branches (first)
                something_changed = 1;
 #endif
              continue;
-#endif /* CASE_VECTOR_SHORTEN_MODE */
            }
-         else if (! (varying_length[uid]))
+#endif /* CASE_VECTOR_SHORTEN_MODE */
+
+         if (! (varying_length[uid]))
            {
              insn_current_address += insn_lengths[uid];
              continue;