]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/38941 (CX isn't preserved with shift)
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 28 Jan 2009 03:38:41 +0000 (03:38 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 28 Jan 2009 03:38:41 +0000 (19:38 -0800)
2009-01-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/38941
* doc/extend.texi: Improve local variable with asm reg.

From-SVN: r143719

gcc/ChangeLog
gcc/doc/extend.texi

index 8b99dc968bbde5a44f034208f1bf8f99b07b735e..ad51b27b671f7872fa25297feaefdd36e2c705a1 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 79a8c2e96a01dfec2f23201a0d46f4872d9f1888..c2c1381901557e9583c764608e41667710406221 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