diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 4 |
3 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab034ae..5abaefd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index edc8c0e..cfdc7d2 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -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); diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 5ad5a14..53f9bcb 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -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", \ |