aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/extend.texi2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8b99dc9..ad51b27 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/38941
+ * doc/extend.texi: Improve local variable with asm reg.
+
2009-01-27 Adam Nemet <anemet@caviumnetworks.com>
* c.opt (Wpacked-bitfield-compat): Change init value to -1.
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 79a8c2e..c2c1381 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -4852,6 +4852,8 @@ asm ("sysint" : "=r" (result) : "0" (p1), "r" (p2));
In the above example, beware that a register that is call-clobbered by
the target ABI will be overwritten by any function call in the
assignment, including library calls for arithmetic operators.
+Also a register may be clobbered when generating some operations,
+like variable shift, memory copy or memory move on x86.
Assuming it is a call-clobbered register, this may happen to @code{r0}
above by the assignment to @code{p2}. If you have to use such a
register, use temporary variables for expressions between the register