* gcc.dg/i386-rotate-1.c: New test.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Oct 2004 13:07:00 +0000 (13:07 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Oct 2004 13:07:00 +0000 (13:07 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89755 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/i386-rotate-1.c [new file with mode: 0644]

index 79834db..6e8e765 100644 (file)
@@ -1,3 +1,7 @@
+2004-10-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.dg/i386-rotate-1.c: New test.
+
 2004-10-27  Mark Mitchell  <mark@codesourcery.com>
 
        * g++.dg/init/ref12.C: Add "run" marker.
diff --git a/gcc/testsuite/gcc.dg/i386-rotate-1.c b/gcc/testsuite/gcc.dg/i386-rotate-1.c
new file mode 100644 (file)
index 0000000..0b9ae5a
--- /dev/null
@@ -0,0 +1,16 @@
+/* Verify that rolb instruction is emitted on IA-32/x86-64.  */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+void foo (unsigned char *);
+
+int
+main (void)
+{
+  unsigned char c = 0;
+  foo (&c);
+  c = c >> 1 | c << 7;
+  return c;
+}
+
+/* { dg-final { scan-assembler "rolb" { target i?86-*-* x86_64-*-* } } } */