aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mxp/demo/max.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/mxp/demo/max.c')
-rw-r--r--gcc/config/mxp/demo/max.c25
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;
+}