[cts.https.html?q=webgpu:shader,validation,expression,binary,and_or_xor:invalid_types:*]
  implementation-status: backlog
  [:op="and";type="array";control=false]

  [:op="and";type="array";control=true]

  [:op="and";type="atomic";control=false]
    expected: FAIL

  [:op="and";type="atomic";control=true]

  [:op="and";type="mat2x2f";control=false]

  [:op="and";type="mat2x2f";control=true]

  [:op="and";type="ptr";control=false]

  [:op="and";type="ptr";control=true]

  [:op="and";type="sampler";control=false]

  [:op="and";type="sampler";control=true]
    expected: FAIL

  [:op="and";type="struct";control=false]

  [:op="and";type="struct";control=true]

  [:op="and";type="texture";control=false]

  [:op="and";type="texture";control=true]

  [:op="or";type="array";control=false]

  [:op="or";type="array";control=true]

  [:op="or";type="atomic";control=false]
    expected: FAIL

  [:op="or";type="atomic";control=true]

  [:op="or";type="mat2x2f";control=false]

  [:op="or";type="mat2x2f";control=true]

  [:op="or";type="ptr";control=false]

  [:op="or";type="ptr";control=true]

  [:op="or";type="sampler";control=false]

  [:op="or";type="sampler";control=true]
    expected: FAIL

  [:op="or";type="struct";control=false]

  [:op="or";type="struct";control=true]

  [:op="or";type="texture";control=false]

  [:op="or";type="texture";control=true]

  [:op="xor";type="array";control=false]

  [:op="xor";type="array";control=true]

  [:op="xor";type="atomic";control=false]
    expected: FAIL

  [:op="xor";type="atomic";control=true]

  [:op="xor";type="mat2x2f";control=false]

  [:op="xor";type="mat2x2f";control=true]

  [:op="xor";type="ptr";control=false]

  [:op="xor";type="ptr";control=true]

  [:op="xor";type="sampler";control=false]

  [:op="xor";type="sampler";control=true]
    expected: FAIL

  [:op="xor";type="struct";control=false]

  [:op="xor";type="struct";control=true]

  [:op="xor";type="texture";control=false]

  [:op="xor";type="texture";control=true]


[cts.https.html?q=webgpu:shader,validation,expression,binary,and_or_xor:scalar_vector:*]
  implementation-status: backlog
  [:lhs="abstract-float";rhs="abstract-float";compound_assignment=false]

  [:lhs="abstract-float";rhs="abstract-float";compound_assignment=true]

  [:lhs="abstract-float";rhs="abstract-int";compound_assignment=false]

  [:lhs="abstract-float";rhs="abstract-int";compound_assignment=true]

  [:lhs="abstract-float";rhs="bool";compound_assignment=false]

  [:lhs="abstract-float";rhs="bool";compound_assignment=true]

  [:lhs="abstract-float";rhs="f16";compound_assignment=false]

  [:lhs="abstract-float";rhs="f16";compound_assignment=true]

  [:lhs="abstract-float";rhs="f32";compound_assignment=false]

  [:lhs="abstract-float";rhs="f32";compound_assignment=true]

  [:lhs="abstract-float";rhs="i32";compound_assignment=false]

  [:lhs="abstract-float";rhs="i32";compound_assignment=true]

  [:lhs="abstract-float";rhs="u32";compound_assignment=false]

  [:lhs="abstract-float";rhs="u32";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="abstract-float";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="abstract-float";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="abstract-float";compound_assignment=false]

  [:lhs="abstract-int";rhs="abstract-float";compound_assignment=true]

  [:lhs="abstract-int";rhs="abstract-int";compound_assignment=false]

  [:lhs="abstract-int";rhs="abstract-int";compound_assignment=true]

  [:lhs="abstract-int";rhs="bool";compound_assignment=false]

  [:lhs="abstract-int";rhs="bool";compound_assignment=true]

  [:lhs="abstract-int";rhs="f16";compound_assignment=false]

  [:lhs="abstract-int";rhs="f16";compound_assignment=true]

  [:lhs="abstract-int";rhs="f32";compound_assignment=false]

  [:lhs="abstract-int";rhs="f32";compound_assignment=true]

  [:lhs="abstract-int";rhs="i32";compound_assignment=false]

  [:lhs="abstract-int";rhs="i32";compound_assignment=true]

  [:lhs="abstract-int";rhs="u32";compound_assignment=false]

  [:lhs="abstract-int";rhs="u32";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="abstract-int";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="abstract-int";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Ci32%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="abstract-int";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="abstract-int";rhs="vec2%3Cu32%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="abstract-int";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="bool";rhs="abstract-float";compound_assignment=false]

  [:lhs="bool";rhs="abstract-float";compound_assignment=true]

  [:lhs="bool";rhs="abstract-int";compound_assignment=false]

  [:lhs="bool";rhs="abstract-int";compound_assignment=true]

  [:lhs="bool";rhs="bool";compound_assignment=false]
    expected: FAIL

  [:lhs="bool";rhs="bool";compound_assignment=true]

  [:lhs="bool";rhs="f16";compound_assignment=false]

  [:lhs="bool";rhs="f16";compound_assignment=true]

  [:lhs="bool";rhs="f32";compound_assignment=false]

  [:lhs="bool";rhs="f32";compound_assignment=true]

  [:lhs="bool";rhs="i32";compound_assignment=false]

  [:lhs="bool";rhs="i32";compound_assignment=true]

  [:lhs="bool";rhs="u32";compound_assignment=false]

  [:lhs="bool";rhs="u32";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="bool";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="bool";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="f16";rhs="abstract-float";compound_assignment=false]

  [:lhs="f16";rhs="abstract-float";compound_assignment=true]

  [:lhs="f16";rhs="abstract-int";compound_assignment=false]

  [:lhs="f16";rhs="abstract-int";compound_assignment=true]

  [:lhs="f16";rhs="bool";compound_assignment=false]

  [:lhs="f16";rhs="bool";compound_assignment=true]

  [:lhs="f16";rhs="f16";compound_assignment=false]

  [:lhs="f16";rhs="f16";compound_assignment=true]

  [:lhs="f16";rhs="f32";compound_assignment=false]

  [:lhs="f16";rhs="f32";compound_assignment=true]

  [:lhs="f16";rhs="i32";compound_assignment=false]

  [:lhs="f16";rhs="i32";compound_assignment=true]

  [:lhs="f16";rhs="u32";compound_assignment=false]

  [:lhs="f16";rhs="u32";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="f16";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="f16";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="f32";rhs="abstract-float";compound_assignment=false]

  [:lhs="f32";rhs="abstract-float";compound_assignment=true]

  [:lhs="f32";rhs="abstract-int";compound_assignment=false]

  [:lhs="f32";rhs="abstract-int";compound_assignment=true]

  [:lhs="f32";rhs="bool";compound_assignment=false]

  [:lhs="f32";rhs="bool";compound_assignment=true]

  [:lhs="f32";rhs="f16";compound_assignment=false]

  [:lhs="f32";rhs="f16";compound_assignment=true]

  [:lhs="f32";rhs="f32";compound_assignment=false]

  [:lhs="f32";rhs="f32";compound_assignment=true]

  [:lhs="f32";rhs="i32";compound_assignment=false]

  [:lhs="f32";rhs="i32";compound_assignment=true]

  [:lhs="f32";rhs="u32";compound_assignment=false]

  [:lhs="f32";rhs="u32";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="f32";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="f32";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="i32";rhs="abstract-float";compound_assignment=false]

  [:lhs="i32";rhs="abstract-float";compound_assignment=true]

  [:lhs="i32";rhs="abstract-int";compound_assignment=false]

  [:lhs="i32";rhs="abstract-int";compound_assignment=true]

  [:lhs="i32";rhs="bool";compound_assignment=false]

  [:lhs="i32";rhs="bool";compound_assignment=true]

  [:lhs="i32";rhs="f16";compound_assignment=false]

  [:lhs="i32";rhs="f16";compound_assignment=true]

  [:lhs="i32";rhs="f32";compound_assignment=false]

  [:lhs="i32";rhs="f32";compound_assignment=true]

  [:lhs="i32";rhs="i32";compound_assignment=false]

  [:lhs="i32";rhs="i32";compound_assignment=true]

  [:lhs="i32";rhs="u32";compound_assignment=false]

  [:lhs="i32";rhs="u32";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="i32";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Ci32%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="i32";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="i32";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="i32";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="u32";rhs="abstract-float";compound_assignment=false]

  [:lhs="u32";rhs="abstract-float";compound_assignment=true]

  [:lhs="u32";rhs="abstract-int";compound_assignment=false]

  [:lhs="u32";rhs="abstract-int";compound_assignment=true]

  [:lhs="u32";rhs="bool";compound_assignment=false]

  [:lhs="u32";rhs="bool";compound_assignment=true]

  [:lhs="u32";rhs="f16";compound_assignment=false]

  [:lhs="u32";rhs="f16";compound_assignment=true]

  [:lhs="u32";rhs="f32";compound_assignment=false]

  [:lhs="u32";rhs="f32";compound_assignment=true]

  [:lhs="u32";rhs="i32";compound_assignment=false]

  [:lhs="u32";rhs="i32";compound_assignment=true]

  [:lhs="u32";rhs="u32";compound_assignment=false]

  [:lhs="u32";rhs="u32";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="u32";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="u32";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="u32";rhs="vec2%3Cu32%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="u32";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="i32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Cabstract-int%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="u32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Cabstract-int%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Ci32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="i32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Ci32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Cu32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="u32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec2%3Cu32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec2%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="i32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Cabstract-int%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="u32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Cabstract-int%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Ci32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="i32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Ci32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Cu32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="u32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec3%3Cu32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec3%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-float%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Cabstract-int%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="i32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Cabstract-int%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="u32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Cabstract-int%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cabstract-int%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cbool%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf16%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-int";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cf32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Ci32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="i32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Ci32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="u32";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Ci32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-float";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-float";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="abstract-int";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Cu32%3E";rhs="abstract-int";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="bool";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="bool";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="f16";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="f16";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="f32";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="f32";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="i32";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="i32";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="u32";compound_assignment=false]
    expected: FAIL

  [:lhs="vec4%3Cu32%3E";rhs="u32";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-float%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cabstract-int%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cbool%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf16%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cf32%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Ci32%3E";compound_assignment=true]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=false]

  [:lhs="vec4%3Cu32%3E";rhs="vec2%3Cu32%3E";compound_assignment=true]
