aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-05-13 18:20:07 -0600
committerJeff Law <law@gcc.gnu.org>1998-05-13 18:20:07 -0600
commitf824910ea1f3cb4ec56581a1f752c0c777720d49 (patch)
tree99c9c679b1c07eac8c0c12eb4472b6ae5212f648 /gcc
parentae78d2768e3228db3964587c9315ade0a15ad71c (diff)
downloadgcc-f824910ea1f3cb4ec56581a1f752c0c777720d49.zip
gcc-f824910ea1f3cb4ec56581a1f752c0c777720d49.tar.gz
gcc-f824910ea1f3cb4ec56581a1f752c0c777720d49.tar.bz2
New testcase.
From-SVN: r19734
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/clobbers.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/clobbers.c b/gcc/testsuite/gcc.dg/clobbers.c
new file mode 100644
index 0000000..0eddc14
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/clobbers.c
@@ -0,0 +1,27 @@
+/* Test asm clobbers on x86. */
+
+/* { dg-do run { target i?86-*-* } } */
+
+int main ()
+{
+ int i;
+ __asm__ ("movl $1,%0\n\txorl %%eax,%%eax" : "=r" (i) : : "eax");
+ if (i != 1)
+ abort ();
+ __asm__ ("movl $1,%0\n\txorl %%ebx,%%ebx" : "=r" (i) : : "ebx");
+ if (i != 1)
+ abort ();
+ __asm__ ("movl $1,%0\n\txorl %%ecx,%%ecx" : "=r" (i) : : "ecx");
+ if (i != 1)
+ abort ();
+ __asm__ ("movl $1,%0\n\txorl %%edx,%%edx" : "=r" (i) : : "edx");
+ if (i != 1)
+ abort ();
+ __asm__ ("movl $1,%0\n\txorl %%esi,%%esi" : "=r" (i) : : "esi");
+ if (i != 1)
+ abort ();
+ __asm__ ("movl $1,%0\n\txorl %%edi,%%edi" : "=r" (i) : : "edi");
+ if (i != 1)
+ abort ();
+ return 0;
+}