diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/doc/extend.texi | 2 |
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 |
