[cts.https.html?q=webgpu:shader,execution,expression,access,vector,index:abstract_scalar:*]
  [:elementType="abstract-float";indexType="i32";width=2]

  [:elementType="abstract-float";indexType="i32";width=3]

  [:elementType="abstract-float";indexType="i32";width=4]

  [:elementType="abstract-float";indexType="u32";width=2]

  [:elementType="abstract-float";indexType="u32";width=3]

  [:elementType="abstract-float";indexType="u32";width=4]

  [:elementType="abstract-int";indexType="i32";width=2]

  [:elementType="abstract-int";indexType="i32";width=3]

  [:elementType="abstract-int";indexType="i32";width=4]

  [:elementType="abstract-int";indexType="u32";width=2]

  [:elementType="abstract-int";indexType="u32";width=3]

  [:elementType="abstract-int";indexType="u32";width=4]


[cts.https.html?q=webgpu:shader,execution,expression,access,vector,index:concrete_scalar:*]
  implementation-status:
    if os == "mac": backlog
  [:inputSource="const";elementType="bool";indexType="i32";width=2]

  [:inputSource="const";elementType="bool";indexType="i32";width=3]

  [:inputSource="const";elementType="bool";indexType="i32";width=4]

  [:inputSource="const";elementType="bool";indexType="u32";width=2]

  [:inputSource="const";elementType="bool";indexType="u32";width=3]

  [:inputSource="const";elementType="bool";indexType="u32";width=4]

  [:inputSource="const";elementType="f16";indexType="i32";width=2]

  [:inputSource="const";elementType="f16";indexType="i32";width=3]

  [:inputSource="const";elementType="f16";indexType="i32";width=4]

  [:inputSource="const";elementType="f16";indexType="u32";width=2]

  [:inputSource="const";elementType="f16";indexType="u32";width=3]

  [:inputSource="const";elementType="f16";indexType="u32";width=4]

  [:inputSource="const";elementType="f32";indexType="i32";width=2]

  [:inputSource="const";elementType="f32";indexType="i32";width=3]

  [:inputSource="const";elementType="f32";indexType="i32";width=4]

  [:inputSource="const";elementType="f32";indexType="u32";width=2]

  [:inputSource="const";elementType="f32";indexType="u32";width=3]

  [:inputSource="const";elementType="f32";indexType="u32";width=4]

  [:inputSource="const";elementType="i32";indexType="i32";width=2]

  [:inputSource="const";elementType="i32";indexType="i32";width=3]

  [:inputSource="const";elementType="i32";indexType="i32";width=4]

  [:inputSource="const";elementType="i32";indexType="u32";width=2]

  [:inputSource="const";elementType="i32";indexType="u32";width=3]

  [:inputSource="const";elementType="i32";indexType="u32";width=4]

  [:inputSource="const";elementType="u32";indexType="i32";width=2]

  [:inputSource="const";elementType="u32";indexType="i32";width=3]

  [:inputSource="const";elementType="u32";indexType="i32";width=4]

  [:inputSource="const";elementType="u32";indexType="u32";width=2]

  [:inputSource="const";elementType="u32";indexType="u32";width=3]

  [:inputSource="const";elementType="u32";indexType="u32";width=4]

  [:inputSource="storage_r";elementType="bool";indexType="i32";width=2]

  [:inputSource="storage_r";elementType="bool";indexType="i32";width=3]

  [:inputSource="storage_r";elementType="bool";indexType="i32";width=4]

  [:inputSource="storage_r";elementType="bool";indexType="u32";width=2]

  [:inputSource="storage_r";elementType="bool";indexType="u32";width=3]

  [:inputSource="storage_r";elementType="bool";indexType="u32";width=4]

  [:inputSource="storage_r";elementType="f16";indexType="i32";width=2]

  [:inputSource="storage_r";elementType="f16";indexType="i32";width=3]

  [:inputSource="storage_r";elementType="f16";indexType="i32";width=4]

  [:inputSource="storage_r";elementType="f16";indexType="u32";width=2]

  [:inputSource="storage_r";elementType="f16";indexType="u32";width=3]

  [:inputSource="storage_r";elementType="f16";indexType="u32";width=4]

  [:inputSource="storage_r";elementType="f32";indexType="i32";width=2]

  [:inputSource="storage_r";elementType="f32";indexType="i32";width=3]

  [:inputSource="storage_r";elementType="f32";indexType="i32";width=4]

  [:inputSource="storage_r";elementType="f32";indexType="u32";width=2]

  [:inputSource="storage_r";elementType="f32";indexType="u32";width=3]

  [:inputSource="storage_r";elementType="f32";indexType="u32";width=4]

  [:inputSource="storage_r";elementType="i32";indexType="i32";width=2]

  [:inputSource="storage_r";elementType="i32";indexType="i32";width=3]

  [:inputSource="storage_r";elementType="i32";indexType="i32";width=4]

  [:inputSource="storage_r";elementType="i32";indexType="u32";width=2]

  [:inputSource="storage_r";elementType="i32";indexType="u32";width=3]

  [:inputSource="storage_r";elementType="i32";indexType="u32";width=4]

  [:inputSource="storage_r";elementType="u32";indexType="i32";width=2]

  [:inputSource="storage_r";elementType="u32";indexType="i32";width=3]

  [:inputSource="storage_r";elementType="u32";indexType="i32";width=4]

  [:inputSource="storage_r";elementType="u32";indexType="u32";width=2]

  [:inputSource="storage_r";elementType="u32";indexType="u32";width=3]

  [:inputSource="storage_r";elementType="u32";indexType="u32";width=4]

  [:inputSource="storage_rw";elementType="bool";indexType="i32";width=2]

  [:inputSource="storage_rw";elementType="bool";indexType="i32";width=3]

  [:inputSource="storage_rw";elementType="bool";indexType="i32";width=4]

  [:inputSource="storage_rw";elementType="bool";indexType="u32";width=2]

  [:inputSource="storage_rw";elementType="bool";indexType="u32";width=3]

  [:inputSource="storage_rw";elementType="bool";indexType="u32";width=4]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";width=2]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";width=3]

  [:inputSource="storage_rw";elementType="f16";indexType="i32";width=4]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";width=2]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";width=3]

  [:inputSource="storage_rw";elementType="f16";indexType="u32";width=4]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";width=2]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";width=3]

  [:inputSource="storage_rw";elementType="f32";indexType="i32";width=4]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";width=2]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";width=3]

  [:inputSource="storage_rw";elementType="f32";indexType="u32";width=4]

  [:inputSource="storage_rw";elementType="i32";indexType="i32";width=2]

  [:inputSource="storage_rw";elementType="i32";indexType="i32";width=3]

  [:inputSource="storage_rw";elementType="i32";indexType="i32";width=4]

  [:inputSource="storage_rw";elementType="i32";indexType="u32";width=2]

  [:inputSource="storage_rw";elementType="i32";indexType="u32";width=3]

  [:inputSource="storage_rw";elementType="i32";indexType="u32";width=4]

  [:inputSource="storage_rw";elementType="u32";indexType="i32";width=2]

  [:inputSource="storage_rw";elementType="u32";indexType="i32";width=3]

  [:inputSource="storage_rw";elementType="u32";indexType="i32";width=4]

  [:inputSource="storage_rw";elementType="u32";indexType="u32";width=2]

  [:inputSource="storage_rw";elementType="u32";indexType="u32";width=3]

  [:inputSource="storage_rw";elementType="u32";indexType="u32";width=4]

  [:inputSource="uniform";elementType="bool";indexType="i32";width=2]

  [:inputSource="uniform";elementType="bool";indexType="i32";width=3]

  [:inputSource="uniform";elementType="bool";indexType="i32";width=4]

  [:inputSource="uniform";elementType="bool";indexType="u32";width=2]

  [:inputSource="uniform";elementType="bool";indexType="u32";width=3]

  [:inputSource="uniform";elementType="bool";indexType="u32";width=4]

  [:inputSource="uniform";elementType="f16";indexType="i32";width=2]
    expected:
      if os == "mac": FAIL

  [:inputSource="uniform";elementType="f16";indexType="i32";width=3]

  [:inputSource="uniform";elementType="f16";indexType="i32";width=4]

  [:inputSource="uniform";elementType="f16";indexType="u32";width=2]
    expected:
      if os == "mac": FAIL

  [:inputSource="uniform";elementType="f16";indexType="u32";width=3]

  [:inputSource="uniform";elementType="f16";indexType="u32";width=4]

  [:inputSource="uniform";elementType="f32";indexType="i32";width=2]

  [:inputSource="uniform";elementType="f32";indexType="i32";width=3]

  [:inputSource="uniform";elementType="f32";indexType="i32";width=4]

  [:inputSource="uniform";elementType="f32";indexType="u32";width=2]

  [:inputSource="uniform";elementType="f32";indexType="u32";width=3]

  [:inputSource="uniform";elementType="f32";indexType="u32";width=4]

  [:inputSource="uniform";elementType="i32";indexType="i32";width=2]

  [:inputSource="uniform";elementType="i32";indexType="i32";width=3]

  [:inputSource="uniform";elementType="i32";indexType="i32";width=4]

  [:inputSource="uniform";elementType="i32";indexType="u32";width=2]

  [:inputSource="uniform";elementType="i32";indexType="u32";width=3]

  [:inputSource="uniform";elementType="i32";indexType="u32";width=4]

  [:inputSource="uniform";elementType="u32";indexType="i32";width=2]

  [:inputSource="uniform";elementType="u32";indexType="i32";width=3]

  [:inputSource="uniform";elementType="u32";indexType="i32";width=4]

  [:inputSource="uniform";elementType="u32";indexType="u32";width=2]

  [:inputSource="uniform";elementType="u32";indexType="u32";width=3]

  [:inputSource="uniform";elementType="u32";indexType="u32";width=4]
