aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-01-08 12:51:42 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2003-01-08 11:51:42 +0000
commit4298c66b588698054310f031cb6daae4a9f1ffa1 (patch)
tree95a4aa088c7fd1e1af0af241552f410328f36743 /gcc
parent7b52eedeedb2247bee0018a2d1a81f00ceb350c0 (diff)
downloadgcc-4298c66b588698054310f031cb6daae4a9f1ffa1.zip
gcc-4298c66b588698054310f031cb6daae4a9f1ffa1.tar.gz
gcc-4298c66b588698054310f031cb6daae4a9f1ffa1.tar.bz2
i386-cadd.c: New test.
* gcc.dg/i386-cadd.c: New test. * gcc.dg/i386-cmov4.c: Likewise. From-SVN: r61039
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/i386-cadd.c22
-rw-r--r--gcc/testsuite/gcc.dg/i386-cmov4.c19
3 files changed, 46 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2ae7060..ba32c50 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jan 8 11:41:47 CET 2003 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/i386-cadd.c: New test.
+ * gcc.dg/i386-cmov4.c: Likewise.
+
2003-01-06 Mark Mitchell <mark@codesourcery.com>
PR c++/9165
diff --git a/gcc/testsuite/gcc.dg/i386-cadd.c b/gcc/testsuite/gcc.dg/i386-cadd.c
new file mode 100644
index 0000000..46bfd22
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-cadd.c
@@ -0,0 +1,22 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O2 -march=athlon" } */
+/* { dg-final { scan-assembler "sbb" } } */
+
+/* Conditional increment is best done using sbb $-1, val. */
+int t[]={0,0,0,0,1,1,1,1,1,1};
+q()
+{
+ int sum=0;
+ int i;
+ for (i=0;i<10;i++)
+ if (t[i])
+ sum++;
+ if (sum != 6)
+ abort ();
+}
+main()
+{
+ int i;
+ for (i=0;i<10000000;i++)
+ q();
+}
diff --git a/gcc/testsuite/gcc.dg/i386-cmov4.c b/gcc/testsuite/gcc.dg/i386-cmov4.c
new file mode 100644
index 0000000..1601f22
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/i386-cmov4.c
@@ -0,0 +1,19 @@
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O2 -march=athlon" } */
+/* { dg-final { scan-assembler "cmov" } } */
+
+/* Verify that if conversion happends for memory references. */
+int ARCHnodes;
+int *nodekind;
+float *nodekindf;
+t()
+{
+int i;
+/* Redefine nodekind to be 1 for all surface nodes */
+
+ for (i = 0; i < ARCHnodes; i++) {
+ nodekind[i] = (int) nodekindf[i];
+ if (nodekind[i] == 3)
+ nodekind[i] = 1;
+ }
+}