diff options
author | Jan Hubicka <jh@suse.cz> | 2003-01-08 12:51:42 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-01-08 11:51:42 +0000 |
commit | 4298c66b588698054310f031cb6daae4a9f1ffa1 (patch) | |
tree | 95a4aa088c7fd1e1af0af241552f410328f36743 /gcc | |
parent | 7b52eedeedb2247bee0018a2d1a81f00ceb350c0 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/i386-cadd.c | 22 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/i386-cmov4.c | 19 |
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; + } +} |