blob: 04fd73f272d8b0385b381d8961fb91613cea68da [file] [log] [blame]
Alexey Bataev587e1de2016-03-30 10:43:55 +00001// RUN: %clang_cc1 -verify -fopenmp -ast-print %s | FileCheck %s
2// RUN: %clang_cc1 -fopenmp -emit-pch -o %t %s
3// RUN: %clang_cc1 -fopenmp -include-pch %t -fsyntax-only -verify %s -ast-print | FileCheck %s
4// expected-no-diagnostics
5
6#ifndef HEADER
7#define HEADER
8
Alexey Bataevd93d3762016-04-12 09:35:56 +00009#pragma omp declare simd aligned(b : 64)
Alexey Bataevecba70f2016-04-12 11:02:11 +000010#pragma omp declare simd simdlen(32) aligned(d, b)
11#pragma omp declare simd inbranch, uniform(d) linear(val(s1, s2) : 32)
12#pragma omp declare simd notinbranch simdlen(2), uniform(s1, s2) linear(d: s1)
13void add_1(float *d, int s1, float *s2, double b[]) __attribute__((cold));
Alexey Bataev587e1de2016-03-30 10:43:55 +000014
Alexey Bataevecba70f2016-04-12 11:02:11 +000015// CHECK: #pragma omp declare simd notinbranch simdlen(2) uniform(s1, s2) linear(val(d): s1)
16// CHECK-NEXT: #pragma omp declare simd inbranch uniform(d) linear(val(s1): 32) linear(val(s2): 32)
17// CHECK-NEXT: #pragma omp declare simd simdlen(32) aligned(d) aligned(b)
Alexey Bataevd93d3762016-04-12 09:35:56 +000018// CHECK-NEXT: #pragma omp declare simd aligned(b: 64)
Alexey Bataevecba70f2016-04-12 11:02:11 +000019// CHECK-NEXT: void add_1(float *d, int s1, float *s2, double b[]) __attribute__((cold))
Alexey Bataev587e1de2016-03-30 10:43:55 +000020
21#endif