+2002-10-12 Naohiko Shimizu <pshimizu@fa2.so-net.ne.jp>
+
+ * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
+ (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+ * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
+ (pdp11_output_function_epilogue, output_ascii): Likewise.
+ (output_addr_const_pdp11): Likewise.
+ * pdp11.md (movdi): Use offsetable memory for floating store.
+ (lshrsi3, negsi2): Delete irrelevant comment.
+
2002-10-11 Geoffrey Keating <geoffk@apple.com>
* cse.c (mention_regs): Set SUBREG_TICKED to the register number,
{
fprintf (stream, "\t/*abuse empty parameter slot for locals!*/\n");
if (size > 2)
- fprintf(stream, "\tsub $0%o, sp\n", size - 2);
+ fprintf(stream, "\tsub $%#o, sp\n", size - 2);
}
}
/* make frame */
if (fsize)
- fprintf (stream, "\tsub $0%o, sp\n", fsize);
+ fprintf (stream, "\tsub $%#o, sp\n", fsize);
/* save CPU registers */
for (regno = 0; regno < 8; regno++)
/* change fp -> r5 due to the compile error on libgcc2.c */
for (i =7 ; i >= 0 ; i--)
if (regs_ever_live[i] && ! call_used_regs[i])
- fprintf(stream, "\tmov 0%o(r5), %s\n",(-fsize-2*j--)&0xffff, reg_names[i]);
+ fprintf(stream, "\tmov %#o(r5), %s\n",(-fsize-2*j--)&0xffff, reg_names[i]);
/* get ACs */
via_ac = FIRST_PSEUDO_REGISTER -1;
&& regs_ever_live[i]
&& ! call_used_regs[i])
{
- fprintf(stream, "\tldd 0%o(r5), %s\n", (-fsize-k)&0xffff, reg_names[i]);
+ fprintf(stream, "\tldd %#o(r5), %s\n", (-fsize-k)&0xffff, reg_names[i]);
k -= 8;
}
if (! LOAD_FPU_REG_P(via_ac))
abort();
- fprintf(stream, "\tldd 0%o(r5), %s\n", (-fsize-k)&0xffff, reg_names[via_ac]);
+ fprintf(stream, "\tldd %#o(r5), %s\n", (-fsize-k)&0xffff, reg_names[via_ac]);
fprintf(stream, "\tstd %s, %s\n", reg_names[via_ac], reg_names[i]);
k -= 8;
}
fprintf(stream, "\tmov (sp)+, %s\n", reg_names[i]);
if (fsize)
- fprintf((stream), "\tadd $0%o, sp\n", (fsize)&0xffff);
+ fprintf((stream), "\tadd $%#o, sp\n", (fsize)&0xffff);
}
fprintf (stream, "\trts pc\n");
register int c = p[i];
if (c < 0)
c += 256;
- fprintf (file, "0%o", c);
+ fprintf (file, "%#o", c);
if (i < size - 1)
putc (',', file);
}
case CONST_INT:
/* Should we check for constants which are too big? Maybe cutting
them off to 16 bits is OK? */
- fprintf (file, "0%ho", (unsigned short) INTVAL (x));
+ fprintf (file, "%#ho", (unsigned short) INTVAL (x));
break;
case CONST:
if (CONST_DOUBLE_HIGH (x))
abort (); /* Should we just silently drop the high part? */
else
- fprintf (file, "0%ho", (unsigned short) CONST_DOUBLE_LOW (x));
+ fprintf (file, "%#ho", (unsigned short) CONST_DOUBLE_LOW (x));
}
else
/* We can't handle floating point constants;
}
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
- fprintf (FILE, "\t.=.+ %o\n", (SIZE))
+ fprintf (FILE, "\t.=.+ %#ho\n", (unsigned short)(SIZE))
/* This says how to output an assembler line
to define a global common symbol. */
assemble_name ((FILE), (NAME)), \
fprintf ((FILE), "\n"), \
assemble_name ((FILE), (NAME)), \
- fprintf ((FILE), ": .=.+ %o\n", (ROUNDED)) \
+ fprintf ((FILE), ": .=.+ %#ho\n", (unsigned short)(ROUNDED)) \
)
/* This says how to output an assembler line
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
( assemble_name ((FILE), (NAME)), \
- fprintf ((FILE), ":\t.=.+ %o\n", (ROUNDED)))
+ fprintf ((FILE), ":\t.=.+ %#ho\n", (unsigned short)(ROUNDED)))
/* Store in OUTPUT a string (made with alloca) containing
an assembler-name for a local static variable named NAME.
;; Move instructions
(define_insn "movdi"
- [(set (match_operand:DI 0 "general_operand" "=g,rm,m")
+ [(set (match_operand:DI 0 "general_operand" "=g,rm,o")
(match_operand:DI 1 "general_operand" "m,r,a"))]
""
"* return output_move_quad (operands);"
(lshiftrt:SI (match_operand:SI 1 "general_operand" "0")
(const_int 1)))]
""
-{ /* Here we trust that operands don't overlap */
+{
rtx lateoperands[2];
[(set (match_operand:SI 0 "register_operand" "=r")
(neg:SI (match_operand:SI 1 "general_operand" "0")))]
""
-{ /* Here we trust that operands don't overlap */
+{
rtx lateoperands[2];