aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/tm.texi
diff options
context:
space:
mode:
authorChao-ying Fu <fu@mips.com>2009-04-10 18:20:22 +0000
committerChao-ying Fu <chaoyingfu@gcc.gnu.org>2009-04-10 18:20:22 +0000
commit1afc5373043f7cc388ceed855be6f7d0f5dc24d1 (patch)
tree6e37fe7e1f86ddb16c584d6ceb5493f7b05e1620 /gcc/doc/tm.texi
parentaa070a60c3bdc70201b0fdc44da357cab854a50f (diff)
downloadgcc-1afc5373043f7cc388ceed855be6f7d0f5dc24d1.zip
gcc-1afc5373043f7cc388ceed855be6f7d0f5dc24d1.tar.gz
gcc-1afc5373043f7cc388ceed855be6f7d0f5dc24d1.tar.bz2
tm.texi (Instruction Output): Document TARGET_ASM_FINAL_POSTSCAN_INSN.
2009-04-10 Chao-ying Fu <fu@mips.com> * doc/tm.texi (Instruction Output): Document TARGET_ASM_FINAL_POSTSCAN_INSN. * target.h (final_postscan_insn): New field in asm_out. * target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define. (TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN. * final.c (final_scan_insn): Call targetm.asm_out.final_postscan_insn after outputting an asm macro and a normal instruction. * config/mips/mips.h (FINAL_PRESCAN_INSN): New define. * config/mips/mips-protos.h (mips_final_prescan_insn): Declare. * config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback. (mips_final_prescan_insn, mips_final_postscan_insn): New functions. (TARGET_ASM_FINAL_POSTSCAN_INSN): New define. From-SVN: r145934
Diffstat (limited to 'gcc/doc/tm.texi')
-rw-r--r--gcc/doc/tm.texi13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 665b269..0396a70 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -8193,6 +8193,19 @@ writing conditional output routines in those patterns.
If this macro is not defined, it is equivalent to a null statement.
@end defmac
+@deftypefn {Target Hook} void TARGET_ASM_FINAL_POSTSCAN_INSN (FILE *@var{FILE}, rtx @var{insn}, rtx *@var{opvec}, int @var{noperands})
+If defined, this target hook is a function which is executed just after the
+output of assembler code for @var{insn}, to change the mode of the assembler
+if necessary.
+
+Here the argument @var{opvec} is the vector containing the operands
+extracted from @var{insn}, and @var{noperands} is the number of
+elements of the vector which contain meaningful data for this insn.
+The contents of this vector are what was used to convert the insn
+template into assembler code, so you can change the assembler mode
+by checking the contents of the vector.
+@end deftypefn
+
@defmac PRINT_OPERAND (@var{stream}, @var{x}, @var{code})
A C compound statement to output to stdio stream @var{stream} the
assembler syntax for an instruction operand @var{x}. @var{x} is an