brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1000 B · 4daf1d4 Raw
44 lines · c
1// Basic offloading test for function compiled with flang2// REQUIRES: flang, amdgcn-amd-amdhsa3 4// RUN: %flang -c -fopenmp -fopenmp-targets=amdgcn-amd-amdhsa \5// RUN:   %S/../../Inputs/basic_array.f90 -o basic_array.o6// RUN: %libomptarget-compile-generic basic_array.o7// RUN: %t | %fcheck-generic8 9#include <stdio.h>10#define TEST_ARR_LEN 1011 12#pragma omp declare target13void increment_at(int i, int *array);14#pragma omp end declare target15 16void increment_array(int *b, int n) {17#pragma omp target map(tofrom : b [0:n])18  for (int i = 0; i < n; i++) {19    increment_at(i, b);20  }21}22 23int main() {24  int arr[TEST_ARR_LEN] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};25 26  increment_array(arr, TEST_ARR_LEN);27  for (int i = 0; i < TEST_ARR_LEN; i++) {28    printf("%d = %d\n", i, arr[i]);29  }30 31  return 0;32}33 34// CHECK: 0 = 135// CHECK-NEXT: 1 = 236// CHECK-NEXT: 2 = 337// CHECK-NEXT: 3 = 438// CHECK-NEXT: 4 = 539// CHECK-NEXT: 5 = 640// CHECK-NEXT: 6 = 741// CHECK-NEXT: 7 = 842// CHECK-NEXT: 8 = 943// CHECK-NEXT: 9 = 1044