Commit 8023c7a4 by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

re PR target/85666 (gcc-8.0.1 fails to build mmix target:…

re PR target/85666 (gcc-8.0.1 fails to build mmix target: gcc/libgcc/libgcc2.h:203:20: internal compiler error: in leaf_function_p, at final.c:4488)

	PR target/85666
	* config/mmix/mmix.c (mmix_assemble_integer): Handle byte-size
	non-CONST_INT rtx:es using assemble_integer_with_op ".byte".

From-SVN: r264183
parent a236f9d6
2018-09-09 Hans-Peter Nilsson <hp@bitrange.com> 2018-09-09 Hans-Peter Nilsson <hp@bitrange.com>
PR target/85666 PR target/85666
* config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): Don't * config/mmix/mmix.c (mmix_assemble_integer): Handle byte-size
call leaf_function_p, instead use has_hard_reg_initial_val. 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> 2018-09-09 Nathan Sidwell <nathan@acm.org>
......
...@@ -1370,8 +1370,14 @@ mmix_assemble_integer (rtx x, unsigned int size, int aligned_p) ...@@ -1370,8 +1370,14 @@ mmix_assemble_integer (rtx x, unsigned int size, int aligned_p)
case 1: case 1:
if (GET_CODE (x) != CONST_INT) if (GET_CODE (x) != CONST_INT)
{ {
aligned_p = 0; /* There is no "unaligned byte" op or generic function to
break; 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); fputs ("\tBYTE\t", asm_out_file);
mmix_print_operand (asm_out_file, x, 'B'); mmix_print_operand (asm_out_file, x, 'B');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment