+2017-03-14 Martin Liska <mliska@suse.cz>
+
+ PR lto/66295
+ * multiple_target.c (expand_target_clones): Drop local.local
+ flag for default implementation.
+
2017-03-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/80030
tree attributes = make_attribute ("target", "default",
DECL_ATTRIBUTES (node->decl));
DECL_ATTRIBUTES (node->decl) = attributes;
+ node->local.local = false;
location_t saved_loc = input_location;
input_location = DECL_SOURCE_LOCATION (node->decl);
bool ret
--- /dev/null
+/* { dg-require-ifunc "" } */
+/* { dg-options "-O2" } */
+
+static double bar (double *__restrict, double *__restrict, int)
+__attribute__ ((target_clones("avx,avx2,avx512f,default")));
+
+double
+foo (double *__restrict a, double *__restrict b, int n)
+{
+ return bar (a,b,n);
+}
+
+double
+bar (double *__restrict a, double *__restrict b, int n) /* { dg-error "attribute\[^\n\r]*foo\[^\n\r]* is unknown" } */
+{
+ double s;
+ int i;
+ s = 0.0;
+ for (i=0; i<n; i++)
+ s += a[i] + b[i];
+
+ return s;
+}
+
+#define N 5
+
+int main ()
+{
+ double a[N] = {1.2f, 1.2f, 1.2f, 1.2f, 1.2f };
+ double b[N] = {1.2f, 1.2f, 1.2f, 1.2f, 1.2f };
+
+ __builtin_printf ("value: %.5f\n", foo (a, b, N));
+ return 0;
+}