aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c7
-rw-r--r--gcc/config/i386/i386.h4
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", \