OSDN Git Service

2009-01-27 H.J. Lu <hongjiu.lu@intel.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jan 2009 03:38:41 +0000 (03:38 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jan 2009 03:38:41 +0000 (03:38 +0000)
PR target/38941
* doc/extend.texi: Improve local variable with asm reg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143719 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/doc/extend.texi

index 8b99dc9..ad51b27 100644 (file)
@@ -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.
index 79a8c2e..c2c1381 100644 (file)
@@ -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