*** empty log message ***
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 22 Jun 1992 10:43:55 +0000 (06:43 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 22 Jun 1992 10:43:55 +0000 (06:43 -0400)
From-SVN: r1235

gcc/config/rs6000/rs6000.md
gcc/emit-rtl.c

index abbdf5b17b093f375f5541dd7f73acc005b9949f..b3ffcbc99ef38a2f431cc9d10172d2306fe77bfa 100644 (file)
         (plus:DI (lshift:DI
                   (zero_extend:DI (match_operand:SI 1 "gpc_reg_operand" "r"))
                   (const_int 32))
-                 (zero_extend:DI (match_operand:SI 2 "register_operand" "*q")))
+                 (zero_extend:DI (match_operand:SI 4 "register_operand" "0")))
         (match_operand:SI 3 "gpc_reg_operand" "r")))
-   (set (match_operand:SI 4 "register_operand" "=*q")
+   (set (match_operand:SI 2 "register_operand" "=*q")
        (umod:SI
         (plus:DI (lshift:DI
                   (zero_extend:DI (match_dup 1)) (const_int 32))
-                 (zero_extend:DI (match_dup 2)))
+                 (zero_extend:DI (match_dup 4)))
         (match_dup 3)))]
   
   ""
 
 (define_insn ""
   [(set (pc)
-       (match_operand:SI 0 "register_operand" "c,r"))
+       (match_operand:SI 0 "register_operand" "c,l"))
    (use (label_ref (match_operand 1 "" "")))]
   ""
   "@
index 95f276fda26e2502a28cd598d651c2425a6fee42..db9e087b455dbbcdebdae09d8dfe117de6616964 100644 (file)
@@ -2670,6 +2670,17 @@ init_emit ()
   regno_reg_rtx[VIRTUAL_STACK_VARS_REGNUM] = virtual_stack_vars_rtx;
   regno_reg_rtx[VIRTUAL_STACK_DYNAMIC_REGNUM] = virtual_stack_dynamic_rtx;
   regno_reg_rtx[VIRTUAL_OUTGOING_ARGS_REGNUM] = virtual_outgoing_args_rtx;
+
+  /* Indicate that the virtual registers and stack locations are
+     all pointers.  */
+  REGNO_POINTER_FLAG (STACK_POINTER_REGNUM) = 1;
+  REGNO_POINTER_FLAG (FRAME_POINTER_REGNUM) = 1;
+  REGNO_POINTER_FLAG (ARG_POINTER_REGNUM) = 1;
+
+  REGNO_POINTER_FLAG (VIRTUAL_INCOMING_ARGS_REGNUM) = 1;
+  REGNO_POINTER_FLAG (VIRTUAL_STACK_VARS_REGNUM) = 1;
+  REGNO_POINTER_FLAG (VIRTUAL_STACK_DYNAMIC_REGNUM) = 1;
+  REGNO_POINTER_FLAG (VIRTUAL_OUTGOING_ARGS_REGNUM) = 1;
 }
 
 /* Create some permanent unique rtl objects shared between all functions.