module &module:1:0:$full:$large:$default; /* Tests for kernarg addressing modes. */ /* { dg-do compile } */ /* { dg-options "-fdump-tree-original" } */ prog kernel &Kernel(kernarg_u64 %input[4], kernarg_u64 %output_ptr, kernarg_u64 %i) { ld_kernarg_u64 $d0, [%i]; ld_kernarg_u64 $d0, [%input][$d0 + 1]; ld_kernarg_u64 $d1, [%output_ptr]; st_global_u64 $d0, [$d1]; ret; }; /* [%i] */ /* { dg-final { scan-tree-dump " = \\\*\\\(unsigned long \\\*\\\) \\\(__args \\\+ 40\\\);" "original"} } */ /* [%input][$d0 + 1] */ /* { dg-final { scan-tree-dump "\\\*\\\(unsigned long \\\*\\\) \\\(\\\(VIEW_CONVERT_EXPR\\\(\\\(unsigned long\\\) __args\\\) \\\+ \\\(unsigned long\\\) d0\\\) \\\+ 1\\\);" "original"} } */