]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
v850.c (compute_register_save_size): Correct register number.
authorNick Clifton <nickc@cygnus.com>
Thu, 18 Sep 1997 23:19:55 +0000 (23:19 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 18 Sep 1997 23:19:55 +0000 (17:19 -0600)
        * v850.c (compute_register_save_size): Correct register
        number.
        * v850.md (save_interrupt, return_interrupt): Correct
        register number.
        * v850/lib1funcs.asm (save_interrupt): Correct register number.
        (return_interrupt): Use stack pointer, not element pointer.

From-SVN: r15550

gcc/ChangeLog
gcc/config/v850/lib1funcs.asm
gcc/config/v850/v850.c
gcc/config/v850/v850.md

index 4ce57ca9cc1dead49fbde76691028dba573aec72..5e235afba758be5dc712410a7d6612364e06dfdd 100644 (file)
@@ -1,3 +1,12 @@
+Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
+       * v850.c (compute_register_save_size): Correct register
+       number.
+       * v850.md (save_interrupt, return_interrupt): Correct
+       register number.
+       * v850/lib1funcs.asm (save_interrupt): Correct register number.
+       (return_interrupt): Use stack pointer, not element pointer.
+
 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
 
        * configure.in, configure: Make sure to create the stage* and include
index 2a2bc0930cb6af630c0db8fe7ce5121d436a560f..82ad0894d6662ac667c850fba126a09a93cbae12 100644 (file)
@@ -1157,7 +1157,7 @@ __save_r6_r9:
        .align  2
        .globl  __save_interrupt
        .type   __save_interrupt,@function
-       /* Save registers r1, r5 on stack and load up with expected values */
+       /* Save registers r1, r4 on stack and load up with expected values */
        /* Note, 12 bytes of stack have already been allocated. */
        /* Called via:  jalr __save_interrupt,r10 */
 __save_interrupt:
@@ -1179,9 +1179,9 @@ __save_interrupt:
 __return_interrupt:
        ld.w    0[sp],ep
        ld.w    4[sp],gp
-       ld.w    8[ep],r1
-       ld.w    12[ep],r10
-       add     12,sp
+       ld.w    8[sp],r1
+       ld.w    12[sp],r10
+       add     16,sp
        reti
        .size   __return_interrupt,.-__return_interrupt
 #endif /* L_save_interrupt */
index c3de80b836ae3d0292af1eb3ae666caebbb0fc26..03dd1d07ffb4ec80d90e919391b481a9f9b3c603 100644 (file)
@@ -1386,7 +1386,7 @@ compute_register_save_size (p_reg_saved)
               These registers are handled specially, so don't list them
               on the list of registers to save in the prologue.  */
          case 1:               /* temp used to hold ep */
-         case 5:               /* gp */
+         case 4:               /* gp */
          case 10:              /* temp used to call interrupt save/restore */
          case EP_REGNUM:       /* ep */
            size += 4;
index 5db807b03c4db222a11b312678f6b6a0bfa761bc..bb5020ddc38930cd8ca29b5810c23833d998f5fc 100644 (file)
   [(set (reg:SI 3) (plus:SI (reg:SI 3) (const_int -16)))
    (set (mem:SI (reg:SI 3)) (reg:SI 30))
    (set (mem:SI (plus:SI (reg:SI 3) (const_int -4))) (reg:SI 10))
-   (set (mem:SI (plus:SI (reg:SI 3) (const_int -8))) (reg:SI 5))
+   (set (mem:SI (plus:SI (reg:SI 3) (const_int -8))) (reg:SI 4))
    (set (mem:SI (plus:SI (reg:SI 3) (const_int -12))) (reg:SI 1))]
   ""
   "add -16,sp\;st.w r10,12[sp]\;jarl __save_interrupt,r10"
  [(set_attr "length" "4")
   (set_attr "cc"     "clobber")])
 
-;; Restore r1, r5, r10, and return from the interrupt
+;; Restore r1, r4, r10, and return from the interrupt
 (define_insn "restore_interrupt"
   [(return)
    (set (reg:SI 3) (plus:SI (reg:SI 3) (const_int 16)))
    (set (reg:SI 30) (mem:SI (plus:SI (reg:SI 3) (const_int 12))))
    (set (reg:SI 10) (mem:SI (plus:SI (reg:SI 3) (const_int 8))))
-   (set (reg:SI 5)  (mem:SI (plus:SI (reg:SI 3) (const_int 4))))
+   (set (reg:SI 4)  (mem:SI (plus:SI (reg:SI 3) (const_int 4))))
    (set (reg:SI 1)  (mem:SI (reg:SI 3)))]
   ""
   "jr __return_interrupt"