| struct S { | 
 |   int arr[4]; | 
 | }; | 
 |  | 
 |  | 
 | RWByteAddressBuffer s : register(u0); | 
 | int foo() { | 
 |   int v[4] = (int[4])0; | 
 |   int tint_symbol[4] = (int[4])0; | 
 |   S dst_struct = (S)0; | 
 |   int dst_array[2][4] = (int[2][4])0; | 
 |   int dst_ptr[4] = tint_symbol; | 
 |   S dst_struct_ptr = dst_struct; | 
 |   int dst_array_ptr[2][4] = dst_array; | 
 |   int src[4] = v; | 
 |   dst_struct.arr = src; | 
 |   int v_1[4] = v; | 
 |   dst_array[1] = v_1; | 
 |   int v_2[4] = v; | 
 |   dst_ptr = v_2; | 
 |   int v_3[4] = v; | 
 |   dst_struct_ptr.arr = v_3; | 
 |   int v_4[4] = v; | 
 |   dst_array_ptr[0] = v_4; | 
 |   return ((dst_ptr[0] + dst_struct_ptr.arr[0]) + dst_array_ptr[0][0]); | 
 | } | 
 |  | 
 | [numthreads(1, 1, 1)] | 
 | void main() { | 
 |   s.Store(0u, asuint(foo())); | 
 | } | 
 |  |