pdp11.c (pdp11_assemble_integer): Mask byte values to 8 bits.

* config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
to 8 bits.

From-SVN: r166466
This commit is contained in:
Paul Koning 2010-11-08 20:07:14 -05:00 committed by Paul Koning
parent a193ead3a3
commit e285a2c6b4
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2010-11-08 Paul Koning <ni1d@arrl.net>
* config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
to 8 bits.
2010-11-08 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/46378

View File

@ -1002,7 +1002,10 @@ pdp11_assemble_integer (rtx x, unsigned int size, int aligned_p)
{
case 1:
fprintf (asm_out_file, "\t.byte\t");
output_addr_const_pdp11 (asm_out_file, x);
output_addr_const_pdp11 (asm_out_file,
GEN_INT (trunc_int_for_mode (INTVAL (x),
QImode) & 0xff));
;
fprintf (asm_out_file, " /* char */\n");
return true;
@ -1739,9 +1742,7 @@ output_addr_const_pdp11 (FILE *file, rtx x)
break;
case CONST_INT:
/* Should we check for constants which are too big? Maybe cutting
them off to 16 bits is OK? */
fprintf (file, "%#ho", (unsigned short) INTVAL (x));
fprintf (file, "%#o", (int) trunc_int_for_mode (INTVAL (x), HImode) & 0xffff);
break;
case CONST: