summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-18 00:23:50 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-18 00:23:50 +0000
commit61bcb403a1ee309ea022232f09441c96c068b9a3 (patch)
treec87034f77402afc1ffe5f2431783be7a58cbbd65
parent4ff7381280329eb3d6559dbe3be4e2f5fb000efa (diff)
downloadppe42-gcc-61bcb403a1ee309ea022232f09441c96c068b9a3.tar.gz
ppe42-gcc-61bcb403a1ee309ea022232f09441c96c068b9a3.zip
* extend.texi (Extended Asm): Mention that a memory clobber
does not count as a side-effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35110 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/extend.texi5
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8597b35b447..142e3874fc8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
+ * extend.texi (Extended Asm): Mention that a memory clobber
+ does not count as a side-effect.
+
* unroll.c (copy_loop_body): Fix one instance of using host
arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
cross-compile.
diff --git a/gcc/extend.texi b/gcc/extend.texi
index 3b8899baa6a..6eefa624936 100644
--- a/gcc/extend.texi
+++ b/gcc/extend.texi
@@ -2558,7 +2558,10 @@ effect. But it is valid no matter what the machine.
If your assembler instruction modifies memory in an unpredictable
fashion, add @samp{memory} to the list of clobbered registers. This
will cause GNU CC to not keep memory values cached in registers across
-the assembler instruction.
+the assembler instruction. You will also want to add the
+@code{volatile} keyword if the memory affected is not listed in the
+inputs or outputs of the @code{asm}, as the @samp{memory} clobber does
+not count as a side-effect of the @code{asm}.
You can put multiple assembler instructions together in a single
@code{asm} template, separated either with newlines (written as
OpenPOWER on IntegriCloud