summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/autopar/pr46969.c
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gcc.dg/autopar/pr46969.c
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/gcc.dg/autopar/pr46969.c')
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr46969.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/autopar/pr46969.c b/gcc/testsuite/gcc.dg/autopar/pr46969.c
new file mode 100644
index 000000000..807ce4f92
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr46969.c
@@ -0,0 +1,31 @@
+/* PR tree-optimization/46969 */
+/* { dg-do compile } */
+/* { dg-options "-O3 -ftree-parallelize-loops=2 -fcompare-debug" } */
+
+extern void abort (void);
+#define F(name) \
+int \
+name (unsigned char *x) \
+{ \
+ int i; \
+ unsigned int c, d, e; \
+ if (x != 0) \
+ { \
+ for (i = 0, d = 0, e = 0xFFFFFFFF; \
+ i < 64; \
+ i += (int) sizeof(unsigned int)) \
+ { \
+ c = *((unsigned int *)(&x[i])); \
+ d = d | c; \
+ e = e & c; \
+ } \
+ if (!((d == e) && ((d >> 8) == (e & 0x00FFFFFF)))) \
+ abort (); \
+ } \
+ return 0; \
+}
+F (foo0) F (foo1)
+F (foo2) F (foo3)
+F (foo4) F (foo5)
+F (foo6) F (foo7)
+F (foo8) F (foo9)