This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: rs6000: avoid using CTR for tablejumps


This replaces my earlier patch changing HARD_REGNO_RENAME_OK.
Currently bootstrapping on Darwin.

2001-12-05  Dale Johannesen   <dalej@apple.com>

         * config/rs6000/rs6000.md:  change tablejump patterns to
           strongly discourage using LR rather than CTR.


Index: rs6000.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.141
diff -u -d -b -w -c -3 -p -r1.141 rs6000.md
*** rs6000.md   2001/12/01 01:59:00     1.141
--- rs6000.md   2001/12/07 18:51:39
***************
*** 12845,12862 ****

   (define_insn ""
     [(set (pc)
!       (match_operand:SI 0 "register_operand" "cl"))
      (use (label_ref (match_operand 1 "" "")))]
     "TARGET_32BIT"
!   "b%T0"
     [(set_attr "type" "jmpreg")])

   (define_insn ""
     [(set (pc)
!       (match_operand:DI 0 "register_operand" "cl"))
      (use (label_ref (match_operand 1 "" "")))]
     "TARGET_64BIT"
!   "b%T0"
     [(set_attr "type" "jmpreg")])

   (define_insn "nop"
--- 12930,12951 ----

   (define_insn ""
     [(set (pc)
!       (match_operand:SI 0 "register_operand" "c,*l"))
      (use (label_ref (match_operand 1 "" "")))]
     "TARGET_32BIT"
!   "@
!    bctr
!    {br|blr}"
     [(set_attr "type" "jmpreg")])

   (define_insn ""
     [(set (pc)
!       (match_operand:DI 0 "register_operand" "c,*l"))
      (use (label_ref (match_operand 1 "" "")))]
     "TARGET_64BIT"
!   "@
!    bctr
!    blr"
     [(set_attr "type" "jmpreg")])

   (define_insn "nop"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]