From 4f237f2ef0ef221a902b73a336b45154a5d8bc2f Mon Sep 17 00:00:00 2001 From: David Wohlferd Date: Mon, 16 Nov 2015 21:57:12 +0000 Subject: [PATCH] inline asm and multi-alternative constraints * doc/md.texi ('#' and '*' constraint modifiers): Do not include these in the user documentation. (define_peephole2, define_split): Similarly. From-SVN: r230439 --- gcc/ChangeLog | 6 ++++++ gcc/doc/md.texi | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d6213f4462..b403718c833 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-11-16 David Wohlferd + + * doc/md.texi ('#' and '*' constraint modifiers): Do not include these + in the user documentation. + (define_peephole2, define_split): Similarly. + 2015-11-16 Andris Pavenis * lto-streamer-out.c (write_global_references): Adjust integer type. diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 80a1f64a61f..8b2deaa470e 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -1646,7 +1646,9 @@ instruction is defined: GCC can only handle one commutative pair in an asm; if you use more, the compiler may fail. Note that you need not use the modifier if the two alternatives are strictly identical; this would only waste -time in the reload pass. The modifier is not operational after +time in the reload pass. +@ifset INTERNALS +The modifier is not operational after register allocation, so the result of @code{define_peephole2} and @code{define_split}s performed after reload cannot rely on @samp{%} to make the intended insn match. @@ -1665,7 +1667,6 @@ constraint as a constraint, and no effect on reloading. For LRA @samp{*} additionally disparages slightly the alternative if the following character matches the operand. -@ifset INTERNALS Here is an example: the 68000 has an instruction to sign-extend a halfword in a data register, and can also sign-extend a value by copying it into an address register. While either kind of register is -- 2.30.2