/*! [config] name: long type clc_version_min: 10 [test] name: Arg0 = a + b kernel_name: add0 arg_in: 1 long 1 arg_in: 2 long 2 arg_out: 0 buffer long[1] 3 [test] name: Arg1 = a + b kernel_name: add1 arg_in: 0 long 1 arg_in: 2 long 2 arg_out: 1 buffer long[1] 3 [test] name: set arg0 to arg1 kernel_name: set0 arg_in: 1 long 4 arg_out: 0 buffer long[1] 4 [test] name: set arg1 to arg0 kernel_name: set1 arg_in: 0 long 4 arg_out: 1 buffer long[1] 4 [test] name: Arg2 = a + b kernel_name: add2 arg_in: 0 long 1 arg_in: 1 long 2 arg_out: 2 buffer long[1] 3 [test] name: set arg0 to arg1 (indirected) kernel_name: setp0 arg_in: 1 buffer long[1] 4 arg_out: 0 buffer long[1] 4 [test] name: set arg1 to arg0 (indirected) kernel_name: setp1 arg_in: 0 buffer long[1] 4 arg_out: 1 buffer long[1] 4 [test] name: set arg0 to arg2 (with dummy pointer) kernel_name: set0_2 arg_in: 1 buffer long[1] 0xcccccccccccccccc arg_in: 2 long 4 arg_out: 0 buffer long[1] 4 [test] name: set arg2 to arg0 (with dummy pointer) kernel_name: set2_0 arg_in: 1 buffer long[1] 0xcccccccccccccccc arg_in: 0 long 4 arg_out: 2 buffer long[1] 4 !*/ kernel void add0(global long *out, long a, long b) { out[0] = a + b; } kernel void add1(long a, global long *out, long b) { out[0] = a + b; } kernel void add2(long a, long b, global long *out) { out[0] = a + b; } kernel void set0(global long *out, long a) { out[0] = a; } kernel void set1(long a, global long *out) { out[0] = a; } kernel void setp0(global long *out, global long *a) { out[0] = a[0]; } kernel void setp1(global long *a, global long *out) { out[0] = a[0]; } kernel void set0_2(global long *out, global long *dummy, long a) { out[0] = a; } kernel void set2_0(long a, global long *dummy, global long *out) { out[0] = a; }