#include #include using namespace metal; struct SomeBuffer; struct SomeBuffer { float4 v; ulong a; uint2 b; }; struct Registers { ulong address; uint2 address2; }; kernel void main0(constant Registers& registers [[buffer(0)]]) { device SomeBuffer* _44 = reinterpret_cast(registers.address); device SomeBuffer* _45 = reinterpret_cast(registers.address); device SomeBuffer* _46 = reinterpret_cast(as_type(registers.address2)); _44->v = float4(1.0, 2.0, 3.0, 4.0); _45->v = float4(1.0, 2.0, 3.0, 4.0); _46->v = float4(1.0, 2.0, 3.0, 4.0); _44->a = reinterpret_cast(_44); _45->a = reinterpret_cast(_45); _46->b = as_type(reinterpret_cast(_46)); }