OSDN Git Service

*** empty log message ***
authorwood <wood@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Mar 1992 13:48:03 +0000 (13:48 +0000)
committerwood <wood@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Mar 1992 13:48:03 +0000 (13:48 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@377 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/m88k/m88k.c
gcc/config/m88k/m88k.h
gcc/config/m88k/m88k.md
gcc/config/vax/vax.c

index e3cc205..8ba569c 100644 (file)
@@ -47,7 +47,7 @@ extern char *ctime ();
 extern int flag_traditional;
 extern FILE *asm_out_file;
 
-static char out_sccs_id[] = "@(#)m88k.c        1.96.5.2 06 Feb 1992 10:02:20";
+static char out_sccs_id[] = "@(#)m88k.c        2.0.2.1 28 Feb 1992 12:36:54";
 static char tm_sccs_id [] = TM_SCCS_ID;
 
 char *m88k_pound_sign = "";    /* Either # for SVR4 or empty for SVR3 */
@@ -63,6 +63,8 @@ int m88k_case_index;
 rtx m88k_compare_reg;          /* cmp output pseudo register */
 rtx m88k_compare_op0;          /* cmpsi operand 0 */
 rtx m88k_compare_op1;          /* cmpsi operand 1 */
+
+enum attr_cpu m88k_cpu;                /* target cpu */
 \f
 /* Determine what instructions are needed to manufacture the integer VALUE
    in the given MODE.  */
@@ -2129,10 +2131,11 @@ m88k_debugger_offset (reg, offset)
     offset -= m88k_stack_size;
   else if (reg != arg_pointer_rtx)
     {
+#if (MONITOR_GCC & 0x10) /* Watch for suspicious symbolic locations.  */
       if (! (GET_CODE (reg) == REG
             && REGNO (reg) >= FIRST_PSEUDO_REGISTER))
-       /* @@ For now, I'd like to know if this happens.  */
        warning ("Internal gcc error: Can't express symbolic location");
+#endif
       return 0;
     }
 
index 1a4d29f..f0eca72 100644 (file)
@@ -95,6 +95,8 @@ extern struct rtx_def *m88k_compare_reg;
 extern struct rtx_def *m88k_compare_op0;
 extern struct rtx_def *m88k_compare_op1;
 
+extern enum attr_cpu m88k_cpu;
+
 extern int null_epilogue ();
 extern int integer_ok_for_set ();
 extern int m88k_debugger_offset ();
@@ -202,9 +204,9 @@ extern char * reg_names[];
 /* Print subsidiary information on the compiler version in use.
    Redefined in m88kv4.h, and m88kluna.h.  */
 #define VERSION_INFO1  "88open OCS/BCS, "
-#define VERSION_INFO2  "12 Feb 1992"
+#define VERSION_INFO2  "28 Feb 1992"
 #define VERSION_STRING version_string
-#define        TM_SCCS_ID      "@(#)m88k.h     1.96.5.5 12 Feb 1992 12:59:25"
+#define        TM_SCCS_ID      "@(#)m88k.h     2.0.2.1 28 Feb 1992 12:37:41"
 
 /* Run-time compilation parameters selecting different hardware subsets.  */
 
@@ -302,6 +304,9 @@ extern char * reg_names[];
     if ((target_flags & MASK_88000) == 0)                                   \
       target_flags |= CPU_DEFAULT;                                          \
                                                                             \
+    m88k_cpu = (TARGET_88000 ? CPU_M88000                                   \
+               : (TARGET_88100 ? CPU_M88100 : CPU_M88110));                 \
+                                                                            \
     if (TARGET_BIG_PIC)                                                             \
       flag_pic = 2;                                                         \
                                                                             \
index 373894c..3e3036f 100644 (file)
 (define_expand "m88k_sccs_id"
   [(match_operand:SI 0 "" "")]
   ""
-  "{ static char sccs_id[] = \"@(#)m88k.md     1.96.4.3 1/14/92 09:46:15\";
+  "{ static char sccs_id[] = \"@(#)m88k.md     2.0.2.1 28 Feb 1992 12:38:31\";
      FAIL; }")
 \f
 ;; Attribute specifications
 
+; Target CPU.
+(define_attr "cpu" "m88000,m88100,m88110"
+  (symbol_ref "m88k_cpu"))
+
 ; Type of each instruction.  Default is arithmetic.
 ; I'd like to write the list as this, but genattrtab won't accept it.
 ;
 ;; The actual compare instructions.
 
 (define_insn ""
-  [(set (match_operand:CC 0 "register_operand" "=r,r")
-       (compare:CC (match_operand:SI 1 "register_operand" "rO,I")
-                   (match_operand:SI 2 "arith_operand" "rI,r")))]
+  [(set (match_operand:CC 0 "register_operand" "=r")
+       (compare:CC (match_operand:SI 1 "register_operand" "rO")
+                   (match_operand:SI 2 "arith_operand" "rI")))]
   ""
-  "@
-   cmp %0,%r1,%2
-   cmp %0,%2,%1\;xor.c %0,%#r0,%0"
-  [(set_attr "type" "arith,marith")])
+  "cmp %0,%r1,%2")
 
 (define_insn ""
   [(set (match_operand:CC 0 "register_operand" "=r,r")
index 68743cd..b059a3a 100644 (file)
@@ -152,6 +152,11 @@ print_operand_address (file, addr)
          reg1 = XEXP (addr, 1);
          addr = XEXP (addr, 0);
        }
+      else if (GET_CODE (XEXP (addr, 0)) == REG)
+       {
+         reg1 = XEXP (addr, 0);
+         addr = XEXP (addr, 1);
+       }
       else
        abort ();