]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorMarek Michalkiewicz <marekm@amelek.gda.pl>
Sat, 23 Nov 2002 22:16:53 +0000 (23:16 +0100)
committerMarek Michalkiewicz <marekm@gcc.gnu.org>
Sat, 23 Nov 2002 22:16:53 +0000 (22:16 +0000)
2002-11-23  Marek Michalkiewicz  <marekm@amelek.gda.pl>

2002-09-26  Theodore A. Roth  <troth@verinet.com>
* config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
* config/avr/avr.md: Ditto.

From-SVN: r59418

gcc/ChangeLog
gcc/config/avr/avr.c
gcc/config/avr/avr.md

index 719dcd3455505c1595f7865e8a7d40ed32931166..0389723068bd220e46ae02e7e08ef5a8da017480 100644 (file)
@@ -1,3 +1,9 @@
+2002-11-23  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       2002-09-26  Theodore A. Roth  <troth@verinet.com>
+       * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
+       * config/avr/avr.md: Ditto.
+
 2002-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR c/8588
index acfa6f1b389898902b37c83b00907fd2a3c9e213..a3c48a8b111c27c42d8883ee21ac84ff08474da2 100644 (file)
@@ -1234,60 +1234,60 @@ ret_cond_branch (x, len, reverse)
     {
     case GT:
       if (cc_prev_status.flags & CC_OVERFLOW_UNUSABLE)
-       return (len == 1 ? (AS1 (breq,_PC_+2) CR_TAB
+       return (len == 1 ? (AS1 (breq,.+2) CR_TAB
                            AS1 (brpl,%0)) :
-               len == 2 ? (AS1 (breq,_PC_+4) CR_TAB
-                           AS1 (brmi,_PC_+2) CR_TAB
+               len == 2 ? (AS1 (breq,.+4) CR_TAB
+                           AS1 (brmi,.+2) CR_TAB
                            AS1 (rjmp,%0)) :
-               (AS1 (breq,_PC_+6) CR_TAB
-                AS1 (brmi,_PC_+4) CR_TAB
+               (AS1 (breq,.+6) CR_TAB
+                AS1 (brmi,.+4) CR_TAB
                 AS1 (jmp,%0)));
          
       else
-       return (len == 1 ? (AS1 (breq,_PC_+2) CR_TAB
+       return (len == 1 ? (AS1 (breq,.+2) CR_TAB
                            AS1 (brge,%0)) :
-               len == 2 ? (AS1 (breq,_PC_+4) CR_TAB
-                           AS1 (brlt,_PC_+2) CR_TAB
+               len == 2 ? (AS1 (breq,.+4) CR_TAB
+                           AS1 (brlt,.+2) CR_TAB
                            AS1 (rjmp,%0)) :
-               (AS1 (breq,_PC_+6) CR_TAB
-                AS1 (brlt,_PC_+4) CR_TAB
+               (AS1 (breq,.+6) CR_TAB
+                AS1 (brlt,.+4) CR_TAB
                 AS1 (jmp,%0)));
     case GTU:
-      return (len == 1 ? (AS1 (breq,_PC_+2) CR_TAB
+      return (len == 1 ? (AS1 (breq,.+2) CR_TAB
                           AS1 (brsh,%0)) :
-              len == 2 ? (AS1 (breq,_PC_+4) CR_TAB
-                          AS1 (brlo,_PC_+2) CR_TAB
+              len == 2 ? (AS1 (breq,.+4) CR_TAB
+                          AS1 (brlo,.+2) CR_TAB
                           AS1 (rjmp,%0)) :
-              (AS1 (breq,_PC_+6) CR_TAB
-               AS1 (brlo,_PC_+4) CR_TAB
+              (AS1 (breq,.+6) CR_TAB
+               AS1 (brlo,.+4) CR_TAB
                AS1 (jmp,%0)));
     case LE:
       if (cc_prev_status.flags & CC_OVERFLOW_UNUSABLE)
        return (len == 1 ? (AS1 (breq,%0) CR_TAB
                            AS1 (brmi,%0)) :
-               len == 2 ? (AS1 (breq,_PC_+2) CR_TAB
-                           AS1 (brpl,_PC_+2) CR_TAB
+               len == 2 ? (AS1 (breq,.+2) CR_TAB
+                           AS1 (brpl,.+2) CR_TAB
                            AS1 (rjmp,%0)) :
-               (AS1 (breq,_PC_+2) CR_TAB
-                AS1 (brpl,_PC_+4) CR_TAB
+               (AS1 (breq,.+2) CR_TAB
+                AS1 (brpl,.+4) CR_TAB
                 AS1 (jmp,%0)));
       else
        return (len == 1 ? (AS1 (breq,%0) CR_TAB
                            AS1 (brlt,%0)) :
-               len == 2 ? (AS1 (breq,_PC_+2) CR_TAB
-                           AS1 (brge,_PC_+2) CR_TAB
+               len == 2 ? (AS1 (breq,.+2) CR_TAB
+                           AS1 (brge,.+2) CR_TAB
                            AS1 (rjmp,%0)) :
-               (AS1 (breq,_PC_+2) CR_TAB
-                AS1 (brge,_PC_+4) CR_TAB
+               (AS1 (breq,.+2) CR_TAB
+                AS1 (brge,.+4) CR_TAB
                 AS1 (jmp,%0)));
     case LEU:
       return (len == 1 ? (AS1 (breq,%0) CR_TAB
                           AS1 (brlo,%0)) :
-              len == 2 ? (AS1 (breq,_PC_+2) CR_TAB
-                          AS1 (brsh,_PC_+2) CR_TAB
+              len == 2 ? (AS1 (breq,.+2) CR_TAB
+                          AS1 (brsh,.+2) CR_TAB
                          AS1 (rjmp,%0)) :
-              (AS1 (breq,_PC_+2) CR_TAB
-               AS1 (brsh,_PC_+4) CR_TAB
+              (AS1 (breq,.+2) CR_TAB
+               AS1 (brsh,.+4) CR_TAB
               AS1 (jmp,%0)));
     default:
       if (reverse)
@@ -1297,10 +1297,10 @@ ret_cond_branch (x, len, reverse)
            case 1:
              return AS1 (br%k1,%0);
            case 2:
-             return (AS1 (br%j1,_PC_+2) CR_TAB
+             return (AS1 (br%j1,.+2) CR_TAB
                      AS1 (rjmp,%0));
            default:
-             return (AS1 (br%j1,_PC_+4) CR_TAB
+             return (AS1 (br%j1,.+4) CR_TAB
                      AS1 (jmp,%0));
            }
        }
@@ -1311,10 +1311,10 @@ ret_cond_branch (x, len, reverse)
              case 1:
                return AS1 (br%j1,%0);
              case 2:
-               return (AS1 (br%k1,_PC_+2) CR_TAB
+               return (AS1 (br%k1,.+2) CR_TAB
                        AS1 (rjmp,%0));
              default:
-               return (AS1 (br%k1,_PC_+4) CR_TAB
+               return (AS1 (br%k1,.+4) CR_TAB
                        AS1 (jmp,%0));
              }
          }
@@ -4783,8 +4783,7 @@ asm_file_start (file)
         "__SP_L__ = 0x3d\n", file);
   
   fputs ("__tmp_reg__ = 0\n" 
-        "__zero_reg__ = 1\n"
-        "_PC_ = 2\n", file);
+        "__zero_reg__ = 1\n", file);
   
   commands_in_file = 0;
   commands_in_prologues = 0;
index 249b4aa1957515e08f66a11dd715aceee9399108..6be88e1814899b38283873128673b6f040523b2d 100644 (file)
   "ld __tmp_reg__,%a1+
        st %a0+,__tmp_reg__
        dec %2
-       brne _PC_-8"
+       brne .-8"
   [(set_attr "length" "4")
    (set_attr "cc" "clobber")])
 
        return (AS2 (ld,__tmp_reg__,%a1+) CR_TAB
               AS2 (st,%a0+,__tmp_reg__)  CR_TAB
               AS2 (sbiw,%A2,1) CR_TAB
-              AS1 (brne,_PC_-8));
+              AS1 (brne,.-8));
      else
        return (AS2 (ld,__tmp_reg__,%a1+) CR_TAB
               AS2 (st,%a0+,__tmp_reg__)  CR_TAB
               AS2 (subi,%A2,1) CR_TAB
               AS2 (sbci,%B2,0) CR_TAB
-              AS1 (brne,_PC_-10));
+              AS1 (brne,.-10));
 }"
   [(set_attr "length" "4,5")
    (set_attr "cc" "clobber,clobber")])
   ""
   "st %a0+,__zero_reg__
         dec %1
-       brne _PC_-6"
+       brne .-6"
   [(set_attr "length" "3")
    (set_attr "cc" "clobber")])
 
      if (which_alternative==0)
        return (AS2 (st,%a0+,__zero_reg__) CR_TAB
               AS2 (sbiw,%A1,1) CR_TAB
-              AS1 (brne,_PC_-6));
+              AS1 (brne,.-6));
      else
        return (AS2 (st,%a0+,__zero_reg__) CR_TAB
               AS2 (subi,%A1,1) CR_TAB
               AS2 (sbci,%B1,0) CR_TAB
-              AS1 (brne,_PC_-8));
+              AS1 (brne,.-8));
 }"
   [(set_attr "length" "3,4")
    (set_attr "cc" "clobber,clobber")])
   ""
   "ld __tmp_reg__,%a0+
        tst __tmp_reg__
-       brne _PC_-6"
+       brne .-6"
   [(set_attr "length" "3")
    (set_attr "cc" "clobber")])
 
          output_asm_insn (AS2 (sbrc,%1,%2), operands);
        if (get_attr_length (insn) != 4)
          return AS1 (rjmp,%3);
-       return (AS1 (rjmp,_PC_+4) CR_TAB
+       return (AS1 (rjmp,.+4) CR_TAB
                AS1 (jmp,%3));
      }"
   [(set (attr "length")
 
        if (get_attr_length (insn) != 4)
          return AS1 (rjmp,%3);
-       return (AS1 (rjmp,_PC_+4) CR_TAB
+       return (AS1 (rjmp,.+4) CR_TAB
                AS1 (jmp,%3));
      }"
   [(set (attr "length")
 
        if (get_attr_length (insn) != 4)
          return AS1 (rjmp,%3);
-       return (AS1 (rjmp,_PC_+4) CR_TAB
+       return (AS1 (rjmp,.+4) CR_TAB
                AS1 (jmp,%3));
      }"
   [(set (attr "length")
     case 1:
       return AS1 (brcc,%2);
     case 2:
-      return (AS1 (brcs,_PC_+2) CR_TAB
+      return (AS1 (brcs,.+2) CR_TAB
               AS1 (rjmp,%2));
   }
-  return (AS1 (brcs,_PC_+4) CR_TAB
+  return (AS1 (brcs,.+4) CR_TAB
           AS1 (jmp,%2));
 }")
 
     case 1:
       return AS1 (brcc,%2);
     case 2:
-      return (AS1 (brcs,_PC_+2) CR_TAB
+      return (AS1 (brcs,.+2) CR_TAB
               AS1 (rjmp,%2));
   }
-  return (AS1 (brcs,_PC_+4) CR_TAB
+  return (AS1 (brcs,.+4) CR_TAB
           AS1 (jmp,%2));
 }")
 
     case 1:
       return AS1 (brcc,%1);
     case 2:
-      return (AS1 (brcs,_PC_+2) CR_TAB
+      return (AS1 (brcs,.+2) CR_TAB
               AS1 (rjmp,%1));
   }
-  return (AS1 (brcs,_PC_+4) CR_TAB
+  return (AS1 (brcs,.+4) CR_TAB
           AS1 (jmp,%1));
 }")