]> gcc.gnu.org Git - gcc.git/commitdiff
h8300.c (print_operand): Delete %L support.
authorKen Raeburn <raeburn@cygnus.com>
Wed, 1 Jul 1998 20:16:54 +0000 (20:16 +0000)
committerKen Raeburn <raeburn@gcc.gnu.org>
Wed, 1 Jul 1998 20:16:54 +0000 (20:16 +0000)
* h8300.c (print_operand): Delete %L support.
* h8300.md (branch_true, branch_false): Use %= with a prefix instead of %L for
local branch labels.
Prevents emitting of "tl###" labels that are not assembler-temporary and thus
confuse gdb.

From-SVN: r20881

gcc/ChangeLog
gcc/config/h8300/h8300.c
gcc/config/h8300/h8300.h
gcc/config/h8300/h8300.md

index 1d81fd1c9a5cb64ca9520d031fffb439c88d1b60..3724b4886707e8880e9cbf1f289ba1f844173076 100644 (file)
@@ -1,3 +1,9 @@
+Wed Jul  1 23:12:58 1998  Ken Raeburn  <raeburn@cygnus.com>
+
+       * h8300.c (print_operand): Delete %L support.
+       * h8300.md (branch_true, branch_false): Use %= with a prefix
+       instead of %L for local branch labels.
+
 Wed Jul  1 21:27:13 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * reload1.c (emit_reload_insns): Use proper register classes for
index 560a20bb5992875e423530417f10e6c7e1b254c3..e0dff83c9d3626880aa47b379cfd08012961d51d 100644 (file)
@@ -1024,7 +1024,6 @@ const_costs (r, c)
    'E' like s but negative.
    'F' like t but negative.
    'G' constant just the negative
-   'L' fake label, changed after used twice.
    'M' turn a 'M' constant into its negative mod 2.
    'P' if operand is incing/decing sp, print .w, otherwise .b.
    'R' print operand as a byte:8 address if appropriate, else fall back to
@@ -1098,9 +1097,6 @@ print_operand (file, x, code)
      rtx x;
      int code;
 {
-  /* This is used to general unique labels for the 'L' code.  */
-  static int lab = 1000;
-
   /* This is used for communication between the 'P' and 'U' codes.  */
   static char *last_p;
 
@@ -1149,12 +1145,6 @@ print_operand (file, x, code)
        abort ();
       fprintf (file, "#%d", 0xff & (-INTVAL (x)));
       break;
-    case 'L':
-      /* 'L' must always be used twice in a single pattern.  It generates
-        the same label twice, and then will generate a unique label the
-        next time it is used.  */
-      asm_fprintf (file, "tl%d", (lab++) / 2);
-      break;
     case 'M':
       /* For 3/-3 and 4/-4, the other 2 is handled separately.  */
       switch (INTVAL (x))
index 8a492d769851d0b2f3d2d85055c8a763c9fd3cb3..4da7c9ea96f2802794edc6890437b3a1eef1de3c 100644 (file)
@@ -1202,7 +1202,10 @@ readonly_data()                                          \
 #define USER_LABEL_PREFIX "_"
 
 /* This is how to output an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.  */
+   PREFIX is the class of label and NUM is the number within the class.
+
+   N.B.: The h8300.md branch_true and branch_false patterns also know
+   how to generate internal labels.  */
 
 #define ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM)   \
   fprintf (FILE, ".%s%d:\n", PREFIX, NUM)
index 79da8bfb9235703138f3aa69d05160fb61d117b5..a94a5ad55b296df6ee8f22dd9bc1bd09b7ab0b43 100644 (file)
@@ -1,5 +1,5 @@
 ;; GCC machine description for Hitachi H8/300
-;; Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
 
 ;;   Contributed by Steve Chamberlain (sac@cygnus.com),
 ;;   Jim Wilson (wilson@cygnus.com), and Doug Evans (dje@cygnus.com).
   else if (get_attr_length (insn) == 4) 
     return \"b%j1      %l0:16\";
   else
-    return \"b%k1      %L0\;jmp        @%l0\;%L0:\";
+    return \"b%k1      .Lh8BR%=\;jmp   @%l0\\n.Lh8BR%=:\";
 }" 
  [(set_attr "type" "branch")
    (set_attr "cc" "none")])
   else if (get_attr_length (insn) == 4) 
     return \"b%k1      %l0:16\";
   else
-    return \"b%j1      %L0\;jmp        @%l0\;%L0:\";
+    return \"b%j1      .Lh8BR%=\;jmp   @%l0\\n.Lh8BR%=:\";
 }"
   [(set_attr "type" "branch")
    (set_attr "cc" "none")])
   ""
   "
 {
-  extern int optimize;
-
   if (TARGET_H8300
       && GET_CODE (operands[1]) != CONST_INT
       && !optimize)
   ""
   "
 {
-  extern int optimize;
   if (TARGET_H8300
       && GET_CODE (operands[1]) != CONST_INT
       && !optimize)
This page took 0.092201 seconds and 5 git commands to generate.