Commit cab78b15 by Andreas Krebbel Committed by Andreas Krebbel

s390.c (s390_asm_trampoline_template): Comment instruction sizes.

2011-05-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_asm_trampoline_template): Comment
	instruction sizes.
	(s390_trampoline_init): Replace UNITS_PER_WORD with
	UNITS_PER_LONG.

From-SVN: r173483
parent ee6824ae
2011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_asm_trampoline_template): Comment
instruction sizes.
(s390_trampoline_init): Replace UNITS_PER_WORD with
UNITS_PER_LONG.
2011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> 2011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/47930 PR target/47930
......
...@@ -9287,16 +9287,16 @@ s390_asm_trampoline_template (FILE *file) ...@@ -9287,16 +9287,16 @@ s390_asm_trampoline_template (FILE *file)
if (TARGET_64BIT) if (TARGET_64BIT)
{ {
output_asm_insn ("basr\t%1,0", op); output_asm_insn ("basr\t%1,0", op); /* 2 byte */
output_asm_insn ("lmg\t%0,%1,14(%1)", op); output_asm_insn ("lmg\t%0,%1,14(%1)", op); /* 6 byte */
output_asm_insn ("br\t%1", op); output_asm_insn ("br\t%1", op); /* 2 byte */
ASM_OUTPUT_SKIP (file, (HOST_WIDE_INT)(TRAMPOLINE_SIZE - 10)); ASM_OUTPUT_SKIP (file, (HOST_WIDE_INT)(TRAMPOLINE_SIZE - 10));
} }
else else
{ {
output_asm_insn ("basr\t%1,0", op); output_asm_insn ("basr\t%1,0", op); /* 2 byte */
output_asm_insn ("lm\t%0,%1,6(%1)", op); output_asm_insn ("lm\t%0,%1,6(%1)", op); /* 4 byte */
output_asm_insn ("br\t%1", op); output_asm_insn ("br\t%1", op); /* 2 byte */
ASM_OUTPUT_SKIP (file, (HOST_WIDE_INT)(TRAMPOLINE_SIZE - 8)); ASM_OUTPUT_SKIP (file, (HOST_WIDE_INT)(TRAMPOLINE_SIZE - 8));
} }
} }
...@@ -9312,11 +9312,11 @@ s390_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt) ...@@ -9312,11 +9312,11 @@ s390_trampoline_init (rtx m_tramp, tree fndecl, rtx cxt)
rtx mem; rtx mem;
emit_block_move (m_tramp, assemble_trampoline_template (), emit_block_move (m_tramp, assemble_trampoline_template (),
GEN_INT (2*UNITS_PER_WORD), BLOCK_OP_NORMAL); GEN_INT (2 * UNITS_PER_LONG), BLOCK_OP_NORMAL);
mem = adjust_address (m_tramp, Pmode, 2*UNITS_PER_WORD); mem = adjust_address (m_tramp, Pmode, 2 * UNITS_PER_LONG);
emit_move_insn (mem, cxt); emit_move_insn (mem, cxt);
mem = adjust_address (m_tramp, Pmode, 3*UNITS_PER_WORD); mem = adjust_address (m_tramp, Pmode, 3 * UNITS_PER_LONG);
emit_move_insn (mem, fnaddr); emit_move_insn (mem, fnaddr);
} }
......
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