SKIP: FAILED

../../src/tint/lang/msl/writer/printer/printer.cc:500 internal compiler error: Inner = struct @align(4) {
  scalar_i32:i32 @offset(0)
  scalar_f32:f32 @offset(4)
  scalar_f16:f16 @offset(8)
}

S = struct @align(16) {
  scalar_f32:f32 @offset(0)
  scalar_i32:i32 @offset(4)
  scalar_u32:u32 @offset(8)
  scalar_f16:f16 @offset(12)
  vec2_f32:vec2<f32> @offset(16)
  vec2_i32:vec2<i32> @offset(24)
  vec2_u32:vec2<u32> @offset(32)
  vec2_f16:vec2<f16> @offset(40)
  vec3_f32:vec3<f32> @offset(48)
  vec3_i32:vec3<i32> @offset(64)
  vec3_u32:vec3<u32> @offset(80)
  vec3_f16:vec3<f16> @offset(96)
  vec4_f32:vec4<f32> @offset(112)
  vec4_i32:vec4<i32> @offset(128)
  vec4_u32:vec4<u32> @offset(144)
  vec4_f16:vec4<f16> @offset(160)
  mat2x2_f32:mat2x2<f32> @offset(168)
  mat2x3_f32:mat2x3<f32> @offset(192)
  mat2x4_f32:mat2x4<f32> @offset(224)
  mat3x2_f32:mat3x2<f32> @offset(256)
  mat3x3_f32:mat3x3<f32> @offset(288)
  mat3x4_f32:mat3x4<f32> @offset(336)
  mat4x2_f32:mat4x2<f32> @offset(384)
  mat4x3_f32:mat4x3<f32> @offset(416)
  mat4x4_f32:mat4x4<f32> @offset(480)
  mat2x2_f16:mat2x2<f16> @offset(544)
  mat2x3_f16:mat2x3<f16> @offset(552)
  mat2x4_f16:mat2x4<f16> @offset(568)
  mat3x2_f16:mat3x2<f16> @offset(584)
  mat3x3_f16:mat3x3<f16> @offset(600)
  mat3x4_f16:mat3x4<f16> @offset(624)
  mat4x2_f16:mat4x2<f16> @offset(648)
  mat4x3_f16:mat4x3<f16> @offset(664)
  mat4x4_f16:mat4x4<f16> @offset(696)
  arr2_vec3_f32:array<vec3<f32>, 2> @offset(736)
  arr2_mat4x2_f16:array<mat4x2<f16>, 2> @offset(768)
  struct_inner:Inner @offset(800)
  array_struct_inner:array<Inner, 4> @offset(816)
}

$B1: {  # root
  %ub:ptr<uniform, S, read> = var @binding_point(0, 0)
  %s:ptr<storage, i32, read_write> = var @binding_point(0, 1)
}

%tint_symbol = @compute @workgroup_size(1, 1, 1) func():void {
  $B2: {
    %4:ptr<uniform, f32, read> = access %ub, 0u
    %5:f32 = load %4
    %scalar_f32:f32 = let %5
    %7:ptr<uniform, i32, read> = access %ub, 1u
    %8:i32 = load %7
    %scalar_i32:i32 = let %8
    %10:ptr<uniform, u32, read> = access %ub, 2u
    %11:u32 = load %10
    %scalar_u32:u32 = let %11
    %13:ptr<uniform, f16, read> = access %ub, 3u
    %14:f16 = load %13
    %scalar_f16:f16 = let %14
    %16:ptr<uniform, vec2<f32>, read> = access %ub, 4u
    %17:vec2<f32> = load %16
    %vec2_f32:vec2<f32> = let %17
    %19:ptr<uniform, vec2<i32>, read> = access %ub, 5u
    %20:vec2<i32> = load %19
    %vec2_i32:vec2<i32> = let %20
    %22:ptr<uniform, vec2<u32>, read> = access %ub, 6u
    %23:vec2<u32> = load %22
    %vec2_u32:vec2<u32> = let %23
    %25:ptr<uniform, vec2<f16>, read> = access %ub, 7u
    %26:vec2<f16> = load %25
    %vec2_f16:vec2<f16> = let %26
    %28:ptr<uniform, vec3<f32>, read> = access %ub, 8u
    %29:vec3<f32> = load %28
    %vec3_f32:vec3<f32> = let %29
    %31:ptr<uniform, vec3<i32>, read> = access %ub, 9u
    %32:vec3<i32> = load %31
    %vec3_i32:vec3<i32> = let %32
    %34:ptr<uniform, vec3<u32>, read> = access %ub, 10u
    %35:vec3<u32> = load %34
    %vec3_u32:vec3<u32> = let %35
    %37:ptr<uniform, vec3<f16>, read> = access %ub, 11u
    %38:vec3<f16> = load %37
    %vec3_f16:vec3<f16> = let %38
    %40:ptr<uniform, vec4<f32>, read> = access %ub, 12u
    %41:vec4<f32> = load %40
    %vec4_f32:vec4<f32> = let %41
    %43:ptr<uniform, vec4<i32>, read> = access %ub, 13u
    %44:vec4<i32> = load %43
    %vec4_i32:vec4<i32> = let %44
    %46:ptr<uniform, vec4<u32>, read> = access %ub, 14u
    %47:vec4<u32> = load %46
    %vec4_u32:vec4<u32> = let %47
    %49:ptr<uniform, vec4<f16>, read> = access %ub, 15u
    %50:vec4<f16> = load %49
    %vec4_f16:vec4<f16> = let %50
    %52:ptr<uniform, mat2x2<f32>, read> = access %ub, 16u
    %53:mat2x2<f32> = load %52
    %mat2x2_f32:mat2x2<f32> = let %53
    %55:ptr<uniform, mat2x3<f32>, read> = access %ub, 17u
    %56:mat2x3<f32> = load %55
    %mat2x3_f32:mat2x3<f32> = let %56
    %58:ptr<uniform, mat2x4<f32>, read> = access %ub, 18u
    %59:mat2x4<f32> = load %58
    %mat2x4_f32:mat2x4<f32> = let %59
    %61:ptr<uniform, mat3x2<f32>, read> = access %ub, 19u
    %62:mat3x2<f32> = load %61
    %mat3x2_f32:mat3x2<f32> = let %62
    %64:ptr<uniform, mat3x3<f32>, read> = access %ub, 20u
    %65:mat3x3<f32> = load %64
    %mat3x3_f32:mat3x3<f32> = let %65
    %67:ptr<uniform, mat3x4<f32>, read> = access %ub, 21u
    %68:mat3x4<f32> = load %67
    %mat3x4_f32:mat3x4<f32> = let %68
    %70:ptr<uniform, mat4x2<f32>, read> = access %ub, 22u
    %71:mat4x2<f32> = load %70
    %mat4x2_f32:mat4x2<f32> = let %71
    %73:ptr<uniform, mat4x3<f32>, read> = access %ub, 23u
    %74:mat4x3<f32> = load %73
    %mat4x3_f32:mat4x3<f32> = let %74
    %76:ptr<uniform, mat4x4<f32>, read> = access %ub, 24u
    %77:mat4x4<f32> = load %76
    %mat4x4_f32:mat4x4<f32> = let %77
    %79:ptr<uniform, mat2x2<f16>, read> = access %ub, 25u
    %80:mat2x2<f16> = load %79
    %mat2x2_f16:mat2x2<f16> = let %80
    %82:ptr<uniform, mat2x3<f16>, read> = access %ub, 26u
    %83:mat2x3<f16> = load %82
    %mat2x3_f16:mat2x3<f16> = let %83
    %85:ptr<uniform, mat2x4<f16>, read> = access %ub, 27u
    %86:mat2x4<f16> = load %85
    %mat2x4_f16:mat2x4<f16> = let %86
    %88:ptr<uniform, mat3x2<f16>, read> = access %ub, 28u
    %89:mat3x2<f16> = load %88
    %mat3x2_f16:mat3x2<f16> = let %89
    %91:ptr<uniform, mat3x3<f16>, read> = access %ub, 29u
    %92:mat3x3<f16> = load %91
    %mat3x3_f16:mat3x3<f16> = let %92
    %94:ptr<uniform, mat3x4<f16>, read> = access %ub, 30u
    %95:mat3x4<f16> = load %94
    %mat3x4_f16:mat3x4<f16> = let %95
    %97:ptr<uniform, mat4x2<f16>, read> = access %ub, 31u
    %98:mat4x2<f16> = load %97
    %mat4x2_f16:mat4x2<f16> = let %98
    %100:ptr<uniform, mat4x3<f16>, read> = access %ub, 32u
    %101:mat4x3<f16> = load %100
    %mat4x3_f16:mat4x3<f16> = let %101
    %103:ptr<uniform, mat4x4<f16>, read> = access %ub, 33u
    %104:mat4x4<f16> = load %103
    %mat4x4_f16:mat4x4<f16> = let %104
    %106:ptr<uniform, array<vec3<f32>, 2>, read> = access %ub, 34u
    %107:array<vec3<f32>, 2> = load %106
    %arr2_vec3_f32:array<vec3<f32>, 2> = let %107
    %109:ptr<uniform, array<mat4x2<f16>, 2>, read> = access %ub, 35u
    %110:array<mat4x2<f16>, 2> = load %109
    %arr2_mat4x2_f16:array<mat4x2<f16>, 2> = let %110
    %112:ptr<uniform, Inner, read> = access %ub, 36u
    %113:Inner = load %112
    %struct_inner:Inner = let %113
    %115:ptr<uniform, array<Inner, 4>, read> = access %ub, 37u
    %116:array<Inner, 4> = load %115
    %array_struct_inner:array<Inner, 4> = let %116
    %118:i32 = call %tint_f32_to_i32, %scalar_f32
    %120:i32 = add %118, %scalar_i32
    %121:i32 = let %120
    %122:i32 = convert %scalar_u32
    %123:i32 = add %121, %122
    %124:i32 = let %123
    %125:i32 = call %tint_f16_to_i32, %scalar_f16
    %127:i32 = add %124, %125
    %128:i32 = let %127
    %129:f32 = access %vec2_f32, 0u
    %130:i32 = call %tint_f32_to_i32, %129
    %131:i32 = add %128, %130
    %132:i32 = access %vec2_i32, 0u
    %133:i32 = add %131, %132
    %134:i32 = let %133
    %135:u32 = access %vec2_u32, 0u
    %136:i32 = convert %135
    %137:i32 = add %134, %136
    %138:i32 = let %137
    %139:f16 = access %vec2_f16, 0u
    %140:i32 = call %tint_f16_to_i32, %139
    %141:i32 = add %138, %140
    %142:i32 = let %141
    %143:f32 = access %vec3_f32, 1u
    %144:i32 = call %tint_f32_to_i32, %143
    %145:i32 = add %142, %144
    %146:i32 = access %vec3_i32, 1u
    %147:i32 = add %145, %146
    %148:i32 = let %147
    %149:u32 = access %vec3_u32, 1u
    %150:i32 = convert %149
    %151:i32 = add %148, %150
    %152:i32 = let %151
    %153:f16 = access %vec3_f16, 1u
    %154:i32 = call %tint_f16_to_i32, %153
    %155:i32 = add %152, %154
    %156:i32 = let %155
    %157:f32 = access %vec4_f32, 2u
    %158:i32 = call %tint_f32_to_i32, %157
    %159:i32 = add %156, %158
    %160:i32 = access %vec4_i32, 2u
    %161:i32 = add %159, %160
    %162:i32 = let %161
    %163:u32 = access %vec4_u32, 2u
    %164:i32 = convert %163
    %165:i32 = add %162, %164
    %166:i32 = let %165
    %167:f16 = access %vec4_f16, 2u
    %168:i32 = call %tint_f16_to_i32, %167
    %169:i32 = add %166, %168
    %170:i32 = let %169
    %171:f32 = access %mat2x2_f32, 0i, 0u
    %172:i32 = call %tint_f32_to_i32, %171
    %173:i32 = add %170, %172
    %174:i32 = let %173
    %175:f32 = access %mat2x3_f32, 0i, 0u
    %176:i32 = call %tint_f32_to_i32, %175
    %177:i32 = add %174, %176
    %178:i32 = let %177
    %179:f32 = access %mat2x4_f32, 0i, 0u
    %180:i32 = call %tint_f32_to_i32, %179
    %181:i32 = add %178, %180
    %182:i32 = let %181
    %183:f32 = access %mat3x2_f32, 0i, 0u
    %184:i32 = call %tint_f32_to_i32, %183
    %185:i32 = add %182, %184
    %186:i32 = let %185
    %187:f32 = access %mat3x3_f32, 0i, 0u
    %188:i32 = call %tint_f32_to_i32, %187
    %189:i32 = add %186, %188
    %190:i32 = let %189
    %191:f32 = access %mat3x4_f32, 0i, 0u
    %192:i32 = call %tint_f32_to_i32, %191
    %193:i32 = add %190, %192
    %194:i32 = let %193
    %195:f32 = access %mat4x2_f32, 0i, 0u
    %196:i32 = call %tint_f32_to_i32, %195
    %197:i32 = add %194, %196
    %198:i32 = let %197
    %199:f32 = access %mat4x3_f32, 0i, 0u
    %200:i32 = call %tint_f32_to_i32, %199
    %201:i32 = add %198, %200
    %202:i32 = let %201
    %203:f32 = access %mat4x4_f32, 0i, 0u
    %204:i32 = call %tint_f32_to_i32, %203
    %205:i32 = add %202, %204
    %206:i32 = let %205
    %207:f16 = access %mat2x2_f16, 0i, 0u
    %208:i32 = call %tint_f16_to_i32, %207
    %209:i32 = add %206, %208
    %210:i32 = let %209
    %211:f16 = access %mat2x3_f16, 0i, 0u
    %212:i32 = call %tint_f16_to_i32, %211
    %213:i32 = add %210, %212
    %214:i32 = let %213
    %215:f16 = access %mat2x4_f16, 0i, 0u
    %216:i32 = call %tint_f16_to_i32, %215
    %217:i32 = add %214, %216
    %218:i32 = let %217
    %219:f16 = access %mat3x2_f16, 0i, 0u
    %220:i32 = call %tint_f16_to_i32, %219
    %221:i32 = add %218, %220
    %222:i32 = let %221
    %223:f16 = access %mat3x3_f16, 0i, 0u
    %224:i32 = call %tint_f16_to_i32, %223
    %225:i32 = add %222, %224
    %226:i32 = let %225
    %227:f16 = access %mat3x4_f16, 0i, 0u
    %228:i32 = call %tint_f16_to_i32, %227
    %229:i32 = add %226, %228
    %230:i32 = let %229
    %231:f16 = access %mat4x2_f16, 0i, 0u
    %232:i32 = call %tint_f16_to_i32, %231
    %233:i32 = add %230, %232
    %234:i32 = let %233
    %235:f16 = access %mat4x3_f16, 0i, 0u
    %236:i32 = call %tint_f16_to_i32, %235
    %237:i32 = add %234, %236
    %238:i32 = let %237
    %239:f16 = access %mat4x4_f16, 0i, 0u
    %240:i32 = call %tint_f16_to_i32, %239
    %241:i32 = add %238, %240
    %242:i32 = let %241
    %243:f32 = access %arr2_vec3_f32, 0i, 0u
    %244:i32 = call %tint_f32_to_i32, %243
    %245:i32 = add %242, %244
    %246:i32 = let %245
    %247:f16 = access %arr2_mat4x2_f16, 0i, 0i, 0u
    %248:i32 = call %tint_f16_to_i32, %247
    %249:i32 = add %246, %248
    %250:i32 = access %struct_inner, 0u
    %251:i32 = add %249, %250
    %252:i32 = access %array_struct_inner, 0i, 0u
    %253:i32 = add %251, %252
    store %s, %253
    ret
  }
}
%tint_f32_to_i32 = func(%value:f32):i32 {
  $B3: {
    %255:i32 = convert %value
    %256:bool = gte %value, -2147483648.0f
    %257:i32 = select -2147483648i, %255, %256
    %258:bool = lte %value, 2147483520.0f
    %259:i32 = select 2147483647i, %257, %258
    ret %259
  }
}
%tint_f16_to_i32 = func(%value_1:f16):i32 {  # %value_1: 'value'
  $B4: {
    %261:i32 = convert %value_1
    %262:bool = gte %value_1, -65504.0h
    %263:i32 = select -2147483648i, %261, %262
    %264:bool = lte %value_1, 65504.0h
    %265:i32 = select 2147483647i, %263, %264
    ret %265
  }
}

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.  *
********************************************************************
