* config/i386/i386.c (print_reg): Abort if REGNO (x) is a
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Oct 2003 18:32:51 +0000 (18:32 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Oct 2003 18:32:51 +0000 (18:32 +0000)
virtual register, but only if file == asm_out_file.
* config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
for ARG_POINTER_REGNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72712 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h

index ab034ae..5abaefd 100644 (file)
@@ -1,5 +1,12 @@
 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
 
+       * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
+       virtual register, but only if file == asm_out_file.
+       * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
+       for ARG_POINTER_REGNUM.
+
+2003-10-20  Zack Weinberg  <zack@codesourcery.com>
+
        * c-common.c (registered_builtin_types): New static.
        (c_common_type_for_mode): Consult registered_builtin_types.
        (c_register_builtin_type): Add type to registered_builtin_types.
index edc8c0e..cfdc7d2 100644 (file)
@@ -6884,6 +6884,13 @@ put_condition_code (enum rtx_code code, enum machine_mode mode, int reverse,
 void
 print_reg (rtx x, int code, FILE *file)
 {
+  if ((REGNO (x) == ARG_POINTER_REGNUM
+       || REGNO (x) == FRAME_POINTER_REGNUM
+       || REGNO (x) == FLAGS_REG
+       || REGNO (x) == FPSR_REG)
+      && file == asm_out_file)
+    abort ();
+
   if (ASSEMBLER_DIALECT == ASM_ATT || USER_LABEL_PREFIX[0] == 0)
     putc ('%', file);
 
index 5ad5a14..53f9bcb 100644 (file)
@@ -2747,8 +2747,8 @@ do {                                                      \
 #undef  HI_REGISTER_NAMES
 #define HI_REGISTER_NAMES                                              \
 {"ax","dx","cx","bx","si","di","bp","sp",                              \
- "st","st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)","",      \
- "flags","fpsr", "dirflag", "frame",                                   \
+ "st","st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)",         \
+ "argp", "flags", "fpsr", "dirflag", "frame",                          \
  "xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7",              \
  "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7"        ,               \
  "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",                 \