OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [config/] [or32/] [or32.md] - Diff between revs 399 and 414

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 399 Rev 414
Line 24... Line 24...
;;
;;
;; You should have received a copy of the GNU General Public License along
;; You should have received a copy of the GNU General Public License along
;; with this program.  If not, see . */
;; with this program.  If not, see . */
 
 
(define_constants [
(define_constants [
 
  (SP_REG 1)
 
  (FP_REG 2) ; hard frame pointer
  (CC_REG 34)
  (CC_REG 34)
 
 
 
  ;; unspec values
 
  (UNSPEC_FRAME 0)
  ;; unspec_volatile values
  ;; unspec_volatile values
  (UNSPECV_SIBCALL_EPILOGUE 0)
  (UNSPECV_SIBCALL_EPILOGUE 0)
])
])
 
 
(include "predicates.md")
(include "predicates.md")
Line 102... Line 106...
{
{
  or32_expand_epilogue (curr_insn);
  or32_expand_epilogue (curr_insn);
  DONE;
  DONE;
})
})
 
 
 
(define_insn "frame_dealloc_fp"
 
  [(set (reg:SI SP_REG) (reg:SI FP_REG))
 
   (clobber (mem:QI (plus:SI (reg:SI FP_REG)
 
                             (unspec:SI [(const_int FP_REG)] UNSPEC_FRAME))))]
 
  ""
 
  "l.ori\tr1,r2,0\t# deallocate frame"
 
  [(set_attr "type" "logic")
 
   (set_attr "length" "1")])
 
 
 
(define_insn "frame_dealloc_sp"
 
  [(set (reg:SI SP_REG)
 
        (plus:SI (reg:SI SP_REG)
 
                 (match_operand:SI 0 "nonmemory_operand" "r,I")))
 
   (clobber (mem:QI (plus:SI (reg:SI SP_REG)
 
                             (unspec:SI [(const_int SP_REG)] UNSPEC_FRAME))))]
 
  ""
 
  "@
 
   l.add\tr1,r1,%0
 
   l.addi\tr1,r1,%0"
 
  [(set_attr "type" "add")
 
   (set_attr "length" "1")])
 
 
(define_insn "return_internal"
(define_insn "return_internal"
  [(return)
  [(return)
   (use (match_operand 0 "pmode_register_operand" ""))]
   (use (match_operand 0 "pmode_register_operand" ""))]
  "TARGET_SCHED_LOGUE"
  "TARGET_SCHED_LOGUE"
  "l.jr    \t%0%("
  "l.jr    \t%0%("

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.