diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2001-10-30 13:45:11 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2001-10-30 13:45:11 +0100 |
commit | 9bf85ba535a4d52bde553c068f4df19a803f723c (patch) | |
tree | 001e099a521c37c75edfe6a27e73c24cd1536579 /gcc/testsuite | |
parent | 3d238248433054745e54777fc4c59d1bce67ee41 (diff) | |
download | gcc-9bf85ba535a4d52bde553c068f4df19a803f723c.tar.gz |
New test.
From-SVN: r46637
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/gcc.dg/20011029-2.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/20011029-2.c b/gcc/testsuite/gcc.dg/20011029-2.c new file mode 100644 index 00000000000..77a5b0776cd --- /dev/null +++ b/gcc/testsuite/gcc.dg/20011029-2.c @@ -0,0 +1,23 @@ +/* { dg-do compile { target i?86-*-* } } */ +/* { dg-options "-O2" } */ + +int foo (int s) +{ + for (;;) + { + int a[32]; + int y, z; + __asm__ __volatile__ ("" : "=c" (y), "=D" (z) + : "a" (0), "0" (32), "1" (a) : "memory"); + if (({ register char r; + __asm__ __volatile__ ("" : "=q" (r) + : "r" (s % 32), "m" (a[s / 32]) + : "cc"); r; })) + continue; + else if (({ register char r; + __asm__ __volatile__ ("" : "=q" (r) + : "r" (0), "m" (a) + : "cc"); r; })) + continue; + } +} |