SKIP: FAILED

<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: buf0 = struct @align(8) {
  resolution:vec2<f32> @offset(0)
}

main_out = struct @align(16) {
  x_GLF_color_1:vec4<f32> @offset(0), @location(0)
}

%b1 = block {  # root
  %gl_FragCoord:ptr<private, vec4<f32>, read_write> = var
  %x_6:ptr<uniform, buf0, read> = var @binding_point(0, 0)
  %x_GLF_color:ptr<private, vec4<f32>, read_write> = var
}

%main_1 = func():void -> %b2 {
  %b2 = block {
    %x_196:ptr<function, array<i32, 256>, read_write> = var
    %x_197:ptr<function, array<i32, 256>, read_write> = var
    %x_198:ptr<function, array<i32, 256>, read_write> = var
    %x_210:ptr<function, vec2<i32>, read_write> = var
    %x_251:ptr<function, vec4<f32>, read_write> = var
    %x_253:ptr<function, vec4<f32>, read_write> = var
    %x_214_phi:ptr<function, vec2<i32>, read_write> = var
    %x_253_phi:ptr<function, vec4<f32>, read_write> = var
    %x_254_phi:ptr<function, bool, read_write> = var
    %x_256_phi:ptr<function, vec4<f32>, read_write> = var
    %x_199:vec4<f32> = load %gl_FragCoord
    %16:ptr<uniform, vec2<f32>, read> = access %x_6, 0u
    %x_202:vec2<f32> = load %16
    %18:f32 = access %x_199, 0u
    %19:f32 = access %x_199, 1u
    %20:vec2<f32> = construct %18, %19
    %x_203:vec2<f32> = div %20, %x_202
    %22:f32 = access %x_203, 0u
    %23:f32 = mul %22, 256.0f
    %24:i32 = convert %23
    %25:f32 = access %x_203, 1u
    %26:f32 = mul %25, 256.0f
    %27:i32 = convert %26
    %28:vec2<i32> = construct %24, %27
    store %x_210, %28
    switch 0u [c: (default, %b3)] {  # switch_1
      %b3 = block {  # case
        %29:vec2<i32> = load %x_210
        store %x_214_phi, %29
        loop [b: %b4, c: %b5] {  # loop_1
          %b4 = block {  # body
            %x_233:ptr<function, i32, read_write> = var
            %x_234:ptr<function, i32, read_write> = var
            %x_235_phi:ptr<function, i32, read_write> = var
            %x_241_phi:ptr<function, bool, read_write> = var
            %x_214:vec2<i32> = load %x_214_phi
            %x_217:i32 = access %x_214, 1u
            store %x_253_phi, vec4<f32>(0.0f)
            store %x_254_phi, false
            %36:bool = neq %x_217, 256i
            if %36 [t: %b6, f: %b7] {  # if_1
              %b6 = block {  # true
                exit_if  # if_1
              }
              %b7 = block {  # false
                exit_loop  # loop_1
              }
            }
            %x_221:i32 = access %x_214, 0u
            store %x_196, array<i32, 256>(115i, 133i, 150i, 164i, 176i, 184i, 190i, 192i, 191i, 187i, 181i, 172i, 163i, 153i, 143i, 134i, 126i, 120i, 116i, 114i, 114i, 117i, 121i, 127i, 134i, 141i, 148i, 154i, 159i, 162i, 163i, 161i, 157i, 151i, 143i, 134i, 124i, 113i, 103i, 94i, 87i, 82i, 79i, 80i, 84i, 91i, 101i, 114i, 130i, 146i, 164i, 182i, 199i, 215i, 229i, 240i, 249i, 254i, 256i, 254i, 250i, 243i, 233i, 223i, 212i, 200i, 190i, 180i, 172i, 166i, 163i, 161i, 162i, 164i, 169i, 174i, 179i, 185i, 190i, 193i, 195i, 195i, 192i, 188i, 180i, 171i, 161i, 149i, 137i, 125i, 114i, 105i, 97i, 93i, 91i, 93i, 98i, 106i, 117i, 130i, 145i, 161i, 177i, 193i, 208i, 221i, 231i, 239i, 243i, 244i, 242i, 236i, 228i, 218i, 207i, 194i, 181i, 169i, 158i, 148i, 141i, 135i, 132i, 131i, 132i, 135i, 138i, 143i, 147i, 151i, 154i, 155i, 155i, 152i, 146i, 139i, 129i, 118i, 106i, 93i, 80i, 68i, 58i, 49i, 43i, 40i, 41i, 44i, 51i, 61i, 73i, 87i, 103i, 119i, 134i, 149i, 162i, 173i, 181i, 186i, 188i, 186i, 181i, 174i, 164i, 153i, 141i, 128i, 116i, 104i, 94i, 86i, 81i, 77i, 76i, 77i, 80i, 84i, 89i, 94i, 98i, 102i, 104i, 104i, 102i, 98i, 92i, 83i, 73i, 62i, 50i, 38i, 26i, 16i, 8i, 2i, 0i, 0i, 4i, 11i, 21i, 33i, 48i, 64i, 81i, 98i, 114i, 129i, 141i, 151i, 158i, 161i, 161i, 158i, 152i, 144i, 134i, 123i, 112i, 100i, 90i, 81i, 73i, 68i, 65i, 65i, 67i, 70i, 75i, 81i, 87i, 92i, 97i, 101i, 103i, 102i, 100i, 95i, 88i, 79i, 69i, 58i, 47i, 36i, 26i, 18i, 13i, 11i, 11i, 15i, 22i, 32i, 45i, 60i, 77i, 94i)
            %38:ptr<function, i32, read_write> = access %x_196, %x_217
            %x_223:i32 = load %38
            %40:i32 = add %x_223, 15i
            %x_225:bool = lt %x_221, %40
            if %x_225 [t: %b8] {  # if_2
              %b8 = block {  # true
                store %x_197, array<i32, 256>(115i, 133i, 150i, 164i, 176i, 184i, 190i, 192i, 191i, 187i, 181i, 172i, 163i, 153i, 143i, 134i, 126i, 120i, 116i, 114i, 114i, 117i, 121i, 127i, 134i, 141i, 148i, 154i, 159i, 162i, 163i, 161i, 157i, 151i, 143i, 134i, 124i, 113i, 103i, 94i, 87i, 82i, 79i, 80i, 84i, 91i, 101i, 114i, 130i, 146i, 164i, 182i, 199i, 215i, 229i, 240i, 249i, 254i, 256i, 254i, 250i, 243i, 233i, 223i, 212i, 200i, 190i, 180i, 172i, 166i, 163i, 161i, 162i, 164i, 169i, 174i, 179i, 185i, 190i, 193i, 195i, 195i, 192i, 188i, 180i, 171i, 161i, 149i, 137i, 125i, 114i, 105i, 97i, 93i, 91i, 93i, 98i, 106i, 117i, 130i, 145i, 161i, 177i, 193i, 208i, 221i, 231i, 239i, 243i, 244i, 242i, 236i, 228i, 218i, 207i, 194i, 181i, 169i, 158i, 148i, 141i, 135i, 132i, 131i, 132i, 135i, 138i, 143i, 147i, 151i, 154i, 155i, 155i, 152i, 146i, 139i, 129i, 118i, 106i, 93i, 80i, 68i, 58i, 49i, 43i, 40i, 41i, 44i, 51i, 61i, 73i, 87i, 103i, 119i, 134i, 149i, 162i, 173i, 181i, 186i, 188i, 186i, 181i, 174i, 164i, 153i, 141i, 128i, 116i, 104i, 94i, 86i, 81i, 77i, 76i, 77i, 80i, 84i, 89i, 94i, 98i, 102i, 104i, 104i, 102i, 98i, 92i, 83i, 73i, 62i, 50i, 38i, 26i, 16i, 8i, 2i, 0i, 0i, 4i, 11i, 21i, 33i, 48i, 64i, 81i, 98i, 114i, 129i, 141i, 151i, 158i, 161i, 161i, 158i, 152i, 144i, 134i, 123i, 112i, 100i, 90i, 81i, 73i, 68i, 65i, 65i, 67i, 70i, 75i, 81i, 87i, 92i, 97i, 101i, 103i, 102i, 100i, 95i, 88i, 79i, 69i, 58i, 47i, 36i, 26i, 18i, 13i, 11i, 11i, 15i, 22i, 32i, 45i, 60i, 77i, 94i)
                exit_if  # if_2
              }
            }
            if %x_225 [t: %b9, f: %b10] {  # if_3
              %b9 = block {  # true
                %42:ptr<function, i32, read_write> = access %x_197, %x_217
                %43:i32 = load %42
                store %x_233, %43
                %44:i32 = load %x_233
                store %x_235_phi, %44
                exit_if  # if_3
              }
              %b10 = block {  # false
                store %x_234, 0i
                %45:i32 = load %x_234
                store %x_235_phi, %45
                exit_if  # if_3
              }
            }
            %x_235:i32 = load %x_235_phi
            %47:i32 = sub %x_235, 15i
            %x_237:bool = gt %x_221, %47
            if %x_225 [t: %b11, f: %b12] {  # if_4
              %b11 = block {  # true
                store %x_241_phi, %x_237
                exit_if  # if_4
              }
              %b12 = block {  # false
                store %x_241_phi, %x_225
                exit_if  # if_4
              }
            }
            %x_241:bool = load %x_241_phi
            if %x_241 [t: %b13] {  # if_5
              %b13 = block {  # true
                store %x_198, array<i32, 256>(115i, 133i, 150i, 164i, 176i, 184i, 190i, 192i, 191i, 187i, 181i, 172i, 163i, 153i, 143i, 134i, 126i, 120i, 116i, 114i, 114i, 117i, 121i, 127i, 134i, 141i, 148i, 154i, 159i, 162i, 163i, 161i, 157i, 151i, 143i, 134i, 124i, 113i, 103i, 94i, 87i, 82i, 79i, 80i, 84i, 91i, 101i, 114i, 130i, 146i, 164i, 182i, 199i, 215i, 229i, 240i, 249i, 254i, 256i, 254i, 250i, 243i, 233i, 223i, 212i, 200i, 190i, 180i, 172i, 166i, 163i, 161i, 162i, 164i, 169i, 174i, 179i, 185i, 190i, 193i, 195i, 195i, 192i, 188i, 180i, 171i, 161i, 149i, 137i, 125i, 114i, 105i, 97i, 93i, 91i, 93i, 98i, 106i, 117i, 130i, 145i, 161i, 177i, 193i, 208i, 221i, 231i, 239i, 243i, 244i, 242i, 236i, 228i, 218i, 207i, 194i, 181i, 169i, 158i, 148i, 141i, 135i, 132i, 131i, 132i, 135i, 138i, 143i, 147i, 151i, 154i, 155i, 155i, 152i, 146i, 139i, 129i, 118i, 106i, 93i, 80i, 68i, 58i, 49i, 43i, 40i, 41i, 44i, 51i, 61i, 73i, 87i, 103i, 119i, 134i, 149i, 162i, 173i, 181i, 186i, 188i, 186i, 181i, 174i, 164i, 153i, 141i, 128i, 116i, 104i, 94i, 86i, 81i, 77i, 76i, 77i, 80i, 84i, 89i, 94i, 98i, 102i, 104i, 104i, 102i, 98i, 92i, 83i, 73i, 62i, 50i, 38i, 26i, 16i, 8i, 2i, 0i, 0i, 4i, 11i, 21i, 33i, 48i, 64i, 81i, 98i, 114i, 129i, 141i, 151i, 158i, 161i, 161i, 158i, 152i, 144i, 134i, 123i, 112i, 100i, 90i, 81i, 73i, 68i, 65i, 65i, 67i, 70i, 75i, 81i, 87i, 92i, 97i, 101i, 103i, 102i, 100i, 95i, 88i, 79i, 69i, 58i, 47i, 36i, 26i, 18i, 13i, 11i, 11i, 15i, 22i, 32i, 45i, 60i, 77i, 94i)
                %50:ptr<function, i32, read_write> = access %x_198, %x_217
                %x_245:i32 = load %50
                %52:i32 = sub %x_221, %x_245
                %53:f32 = convert %52
                %54:f32 = abs %53
                %55:f32 = sub 15.0f, %54
                %x_250:f32 = mul %55, 0.06666667014360427856f
                %57:vec4<f32> = construct %x_250, %x_250, %x_250, 1.0f
                store %x_251, %57
                %58:vec4<f32> = load %x_251
                store %x_253_phi, %58
                store %x_254_phi, true
                exit_loop  # loop_1
              }
            }
            %x_215_1:ptr<function, vec2<i32>, read_write> = var, %x_214
            %60:i32 = add %x_217, 1i
            store_vector_element %x_215_1, 1u, %60
            %x_215:vec2<i32> = load %x_215_1
            continue %b5
          }
          %b5 = block {  # continuing
            store %x_214_phi, %x_215
            next_iteration %b4
          }
        }
        %62:vec4<f32> = load %x_253_phi
        store %x_253, %62
        %x_254:bool = load %x_254_phi
        %64:vec4<f32> = load %x_253
        store %x_256_phi, %64
        if %x_254 [t: %b14] {  # if_6
          %b14 = block {  # true
            exit_switch  # switch_1
          }
        }
        store %x_256_phi, vec4<f32>(0.0f, 0.0f, 0.0f, 1.0f)
        exit_switch  # switch_1
      }
    }
    %x_256:vec4<f32> = load %x_256_phi
    store %x_GLF_color, %x_256
    ret
  }
}
%tint_symbol = @fragment func(%gl_FragCoord_param:vec4<f32> [@position]):main_out -> %b15 {
  %b15 = block {
    store %gl_FragCoord, %gl_FragCoord_param
    %68:void = call %main_1
    %69:vec4<f32> = load %x_GLF_color
    %70:main_out = construct %69
    ret %70
  }
}

unhandled variable address space
********************************************************************
*  The tint shader compiler has encountered an unexpected error.   *
*                                                                  *
*  Please help us fix this issue by submitting a bug report at     *
*  crbug.com/tint with the source program that triggered the bug.  *
********************************************************************
