* omp-low.c (simd_clone_create): Set in_other_partition
for created clones.
gcc/testsuite/
* gcc.dg/lto/simd-function_0.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229127
138bc75d-0d04-0410-961f-
82ee72b054a4
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * omp-low.c (simd_clone_create): Set in_other_partition
+ for created clones.
+
2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
* doc/extend.exp (Local Register Variables): Rewrite.
DECL_STATIC_CONSTRUCTOR (new_decl) = 0;
DECL_STATIC_DESTRUCTOR (new_decl) = 0;
new_node = old_node->create_version_clone (new_decl, vNULL, NULL);
+ if (old_node->in_other_partition)
+ new_node->in_other_partition = 1;
symtab->call_cgraph_insertion_hooks (new_node);
}
if (new_node == NULL)
+2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ * gcc.dg/lto/simd-function_0.c: New test.
+
2015-10-21 Uros Bizjak <ubizjak@gmail.com>
PR target/68018
--- /dev/null
+/* { dg-lto-do link } */
+/* { dg-require-effective-target avx2 } */
+/* { dg-lto-options { { -fopenmp-simd -O3 -ffast-math -mavx2 -flto -flto-partition=max } } } */
+
+#define SIZE 4096
+float x[SIZE];
+
+
+#pragma omp declare simd
+float
+__attribute__ ((noinline))
+my_mul (float x, float y) {
+ return x * y;
+}
+
+__attribute__ ((noinline))
+int foo ()
+{
+ int i = 0;
+#pragma omp simd safelen (16)
+ for (i = 0; i < SIZE; i++)
+ x[i] = my_mul ((float)i, 9932.3323);
+ return (int)x[0];
+}
+
+int main ()
+{
+ int i = 0;
+ for (i = 0; i < SIZE; i++)
+ x[i] = my_mul ((float) i, 9932.3323);
+ foo ();
+ return (int)x[0];
+}
+