https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84571
Bug ID: 84571 Summary: [og7, openacc, nvptx] 32-bit value passed in 64 bits to offloading function Product: gcc Version: unknown Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vries at gcc dot gnu.org Target Milestone: --- Consider the following openacc program: ... static void foo(int n, int p[N][N]) { #pragma acc parallel copy(p[0:N][0:N]) for (int k = 0; k < n; k++) { #pragma acc loop gang for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) p[i][j] = ...; } } ... The offloaded function parameters are pointer p, and int n. For some reason, n is passed as a 64-bit value: ... .entry foo$_omp_fn$0 (.param .u64 %in_ar0, .param .u64 %in_ar1) ...