diff options
Diffstat (limited to 'gcc/config/mxp/demo/max.c')
-rw-r--r-- | gcc/config/mxp/demo/max.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/config/mxp/demo/max.c b/gcc/config/mxp/demo/max.c new file mode 100644 index 00000000000..b86db6f5f0a --- /dev/null +++ b/gcc/config/mxp/demo/max.c @@ -0,0 +1,25 @@ +/* /cc1 -O3 t1.c -quiet -fdump-tree-all -ftree-vectorize -fdump-tree-vect-details -mint16 */ + +#include "demo.h" + +unsigned long +f () +{ + int i, j0, k0, j, k; + unsigned long maxsum = 0; + + for (j0 = 0; j0 < LEN; j0 += 8) + for (k0 = 0; k0 < LEN; k0 += 8) + { + ELEMTYPE max = -0x7fff-1; + + for (j = j0, k = k0, i = 0; i < LEN; i++, j++, k++) + { + ELEMTYPE sum = (s.a[i] ^ s.b[j]) + (s.a[i] ^ s.c[k]); + + max = sum > max ? sum : max; + } + maxsum += max; + } + return maxsum; +} |