result code = 0 standard error = { ir_global_var @_SV01s : Ptr<@ThreadGroup vector[64]>; ir_global_var @_SV05input : Ptr>>; let %1 : int = integer_constant(1) let %2 : int = integer_constant(64) ir_func @_S031GroupMemoryBarrierWithGroupSyncp0pV : () -> void; ir_global_var @_SV06output : Ptr>>; let %3 : int = integer_constant(0) ir_func @_S04mainp3puuuV : (uint, uint, uint) -> void { block %4( param %5 : uint, param %6 : uint, param %7 : uint): let %8 : Ptr> = getElementPtr(@_SV01s, %6) let %9 : StructuredBuffer> = load(@_SV05input) let %10 : vector = bufferLoad(%9, %5) store(%8, %10) let %11 : @ConstExpr uint = construct(1) loop(%12, %13, %14, %11) block %12( param %15 : uint): let %16 : @ConstExpr uint = construct(64) let %17 : bool = cmpLT(%15, %16) ifElse(%17, %18, %13, %18) block %18: call @_S031GroupMemoryBarrierWithGroupSyncp0pV() let %19 : Ptr> = getElementPtr(@_SV01s, %6) let %20 : vector = load(%19) let %21 : uint = sub(%6, %15) let %22 : Ptr> = getElementPtr(@_SV01s, %21) let %23 : vector = load(%22) let %24 : vector = add(%20, %23) store(%19, %24) unconditionalBranch(%14) block %14: let %25 : @ConstExpr uint = construct(1) let %26 : uint = shl(%15, %25) unconditionalBranch(%12, %26) block %13: call @_S031GroupMemoryBarrierWithGroupSyncp0pV() let %27 : RWStructuredBuffer> = load(@_SV06output) let %28 : Ptr> = bufferElementRef(%27, %5) let %29 : Ptr> = getElementPtr(@_SV01s, 0) let %30 : vector = load(%29) store(%28, %30) return_void() } } standard output = { }