omp-low.c (simd_clone_create): Set in_other_partition for created clones.
gcc/ * omp-low.c (simd_clone_create): Set in_other_partition for created clones. gcc/testsuite/ * gcc.dg/lto/simd-function_0.c: New test. From-SVN: r229127
This commit is contained in:
parent
cbb5c732c2
commit
6f9045f4e1
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
|
@ -16318,6 +16318,8 @@ simd_clone_create (struct cgraph_node *old_node)
|
|||
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)
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/* { 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];
|
||||
}
|
||||
|
Loading…
Reference in New Issue