2018-09-09 Hans-Peter Nilsson <hp@bitrange.com>
PR target/85666
- * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): Don't
- call leaf_function_p, instead use has_hard_reg_initial_val.
+ * config/mmix/mmix.c (mmix_assemble_integer): Handle byte-size
+ non-CONST_INT rtx:es using assemble_integer_with_op ".byte".
+ (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): Don't call
+ leaf_function_p, instead use has_hard_reg_initial_val.
2018-09-09 Nathan Sidwell <nathan@acm.org>
case 1:
if (GET_CODE (x) != CONST_INT)
{
- aligned_p = 0;
- break;
+ /* There is no "unaligned byte" op or generic function to
+ which we can punt, so we have to handle this here. As
+ the expression isn't a plain literal, the generated
+ assembly-code can't be mmixal-equivalent (i.e. "BYTE"
+ won't work) and thus it's ok to emit the default op
+ ".byte". */
+ assemble_integer_with_op ("\t.byte\t", x);
+ return true;
}
fputs ("\tBYTE\t", asm_out_file);
mmix_print_operand (asm_out_file, x, 'B');