ppc-get-timebase.c: New file.
authorTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Wed, 19 Sep 2012 19:08:00 +0000 (19:08 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Wed, 19 Sep 2012 19:08:00 +0000 (15:08 -0400)
2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * gcc.target/powerpc/ppc-get-timebase.c: New file.
        * gcc.target/powerpc/ppc-mftb.c: New file.

From-SVN: r191492

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/ppc-get-timebase.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/ppc-mftb.c [new file with mode: 0644]

index 411796655a95b5774f2bf940504a72ea9ba5fe9d..5371a94945eee9958f56beb84f98ea06dbd27228 100644 (file)
@@ -1,3 +1,8 @@
+2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+       * gcc.target/powerpc/ppc-get-timebase.c: New file.
+       * gcc.target/powerpc/ppc-mftb.c: New file.
+
 2012-09-19  Oleg Endo  <olegendo@gcc.gnu.org>
 
        PR target/54089
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-get-timebase.c b/gcc/testsuite/gcc.target/powerpc/ppc-get-timebase.c
new file mode 100644 (file)
index 0000000..9de8929
--- /dev/null
@@ -0,0 +1,20 @@
+/* { dg-do run { target { powerpc*-*-* } } } */
+
+/* Test if __builtin_ppc_get_timebase () is compatible with the current
+   processor and if it's changing between reads.  A read failure might indicate
+   a Power ISA or binutils change.  */
+
+#include <inttypes.h>
+
+int
+main (void)
+{
+  uint64_t t = __builtin_ppc_get_timebase ();
+  int j;
+
+  for (j = 0; j < 1000000; j++)
+    if (t != __builtin_ppc_get_timebase ())
+      return 0;
+
+  return 1;
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-mftb.c b/gcc/testsuite/gcc.target/powerpc/ppc-mftb.c
new file mode 100644 (file)
index 0000000..f64e45d
--- /dev/null
@@ -0,0 +1,18 @@
+/* { dg-do run { target { powerpc*-*-* } } } */
+
+/* Test if __builtin_ppc_mftb () is compatible with the current processor and
+   if it's changing between reads.  A read failure might indicate a Power
+   ISA or binutils change.  */
+
+int
+main (void)
+{
+  unsigned long t = __builtin_ppc_mftb ();
+  int j;
+
+  for (j = 0; j < 1000000; j++)
+    if (t != __builtin_ppc_mftb ())
+      return 0;
+
+  return 1;
+}