summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/local.h
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-11-05 18:39:27 +0000
committerPaul Mackerras <paulus@samba.org>2008-11-19 16:04:28 +1100
commitefc3624c9419cad3cca93dfabb7b12664773d2b1 (patch)
tree706b7ec9f2b240c23869887200db8c7088a76842 /arch/powerpc/include/asm/local.h
parentd5e54913433fff89609adfc4b96fefcf807a9030 (diff)
downloadop-kernel-dev-efc3624c9419cad3cca93dfabb7b12664773d2b1.zip
op-kernel-dev-efc3624c9419cad3cca93dfabb7b12664773d2b1.tar.gz
powerpc: Tell gcc when we clobber the carry in inline asm
We have several instances of inline assembly code that use the addic or addic. instructions, but don't include XER in the list of clobbers. The addic and addic. instructions affect the carry bit, which is in the XER register. This adds "xer" to the list of clobbers for those inline asm statements that use addic or addic. and didn't already have it. Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/include/asm/local.h')
-rw-r--r--arch/powerpc/include/asm/local.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/local.h b/arch/powerpc/include/asm/local.h
index 612d832..84b457a 100644
--- a/arch/powerpc/include/asm/local.h
+++ b/arch/powerpc/include/asm/local.h
@@ -67,7 +67,7 @@ static __inline__ long local_inc_return(local_t *l)
bne- 1b"
: "=&r" (t)
: "r" (&(l->a.counter))
- : "cc", "memory");
+ : "cc", "xer", "memory");
return t;
}
@@ -94,7 +94,7 @@ static __inline__ long local_dec_return(local_t *l)
bne- 1b"
: "=&r" (t)
: "r" (&(l->a.counter))
- : "cc", "memory");
+ : "cc", "xer", "memory");
return t;
}
OpenPOWER on IntegriCloud