[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupBitwise:data_type:*]
  [:type="abstract-float";op="subgroupAnd"]

  [:type="abstract-float";op="subgroupOr"]

  [:type="abstract-float";op="subgroupXor"]

  [:type="abstract-int";op="subgroupAnd"]

  [:type="abstract-int";op="subgroupOr"]

  [:type="abstract-int";op="subgroupXor"]

  [:type="bool";op="subgroupAnd"]

  [:type="bool";op="subgroupOr"]

  [:type="bool";op="subgroupXor"]

  [:type="f16";op="subgroupAnd"]

  [:type="f16";op="subgroupOr"]

  [:type="f16";op="subgroupXor"]

  [:type="f32";op="subgroupAnd"]

  [:type="f32";op="subgroupOr"]

  [:type="f32";op="subgroupXor"]

  [:type="i32";op="subgroupAnd"]

  [:type="i32";op="subgroupOr"]

  [:type="i32";op="subgroupXor"]

  [:type="u32";op="subgroupAnd"]

  [:type="u32";op="subgroupOr"]

  [:type="u32";op="subgroupXor"]

  [:type="vec2%3Cabstract-float%3E";op="subgroupAnd"]

  [:type="vec2%3Cabstract-float%3E";op="subgroupOr"]

  [:type="vec2%3Cabstract-float%3E";op="subgroupXor"]

  [:type="vec2%3Cabstract-int%3E";op="subgroupAnd"]

  [:type="vec2%3Cabstract-int%3E";op="subgroupOr"]

  [:type="vec2%3Cabstract-int%3E";op="subgroupXor"]

  [:type="vec2%3Cbool%3E";op="subgroupAnd"]

  [:type="vec2%3Cbool%3E";op="subgroupOr"]

  [:type="vec2%3Cbool%3E";op="subgroupXor"]

  [:type="vec2%3Cf16%3E";op="subgroupAnd"]

  [:type="vec2%3Cf16%3E";op="subgroupOr"]

  [:type="vec2%3Cf16%3E";op="subgroupXor"]

  [:type="vec2%3Cf32%3E";op="subgroupAnd"]

  [:type="vec2%3Cf32%3E";op="subgroupOr"]

  [:type="vec2%3Cf32%3E";op="subgroupXor"]

  [:type="vec2%3Ci32%3E";op="subgroupAnd"]

  [:type="vec2%3Ci32%3E";op="subgroupOr"]

  [:type="vec2%3Ci32%3E";op="subgroupXor"]

  [:type="vec2%3Cu32%3E";op="subgroupAnd"]

  [:type="vec2%3Cu32%3E";op="subgroupOr"]

  [:type="vec2%3Cu32%3E";op="subgroupXor"]

  [:type="vec3%3Cabstract-float%3E";op="subgroupAnd"]

  [:type="vec3%3Cabstract-float%3E";op="subgroupOr"]

  [:type="vec3%3Cabstract-float%3E";op="subgroupXor"]

  [:type="vec3%3Cabstract-int%3E";op="subgroupAnd"]

  [:type="vec3%3Cabstract-int%3E";op="subgroupOr"]

  [:type="vec3%3Cabstract-int%3E";op="subgroupXor"]

  [:type="vec3%3Cbool%3E";op="subgroupAnd"]

  [:type="vec3%3Cbool%3E";op="subgroupOr"]

  [:type="vec3%3Cbool%3E";op="subgroupXor"]

  [:type="vec3%3Cf16%3E";op="subgroupAnd"]

  [:type="vec3%3Cf16%3E";op="subgroupOr"]

  [:type="vec3%3Cf16%3E";op="subgroupXor"]

  [:type="vec3%3Cf32%3E";op="subgroupAnd"]

  [:type="vec3%3Cf32%3E";op="subgroupOr"]

  [:type="vec3%3Cf32%3E";op="subgroupXor"]

  [:type="vec3%3Ci32%3E";op="subgroupAnd"]

  [:type="vec3%3Ci32%3E";op="subgroupOr"]

  [:type="vec3%3Ci32%3E";op="subgroupXor"]

  [:type="vec3%3Cu32%3E";op="subgroupAnd"]

  [:type="vec3%3Cu32%3E";op="subgroupOr"]

  [:type="vec3%3Cu32%3E";op="subgroupXor"]

  [:type="vec4%3Cabstract-float%3E";op="subgroupAnd"]

  [:type="vec4%3Cabstract-float%3E";op="subgroupOr"]

  [:type="vec4%3Cabstract-float%3E";op="subgroupXor"]

  [:type="vec4%3Cabstract-int%3E";op="subgroupAnd"]

  [:type="vec4%3Cabstract-int%3E";op="subgroupOr"]

  [:type="vec4%3Cabstract-int%3E";op="subgroupXor"]

  [:type="vec4%3Cbool%3E";op="subgroupAnd"]

  [:type="vec4%3Cbool%3E";op="subgroupOr"]

  [:type="vec4%3Cbool%3E";op="subgroupXor"]

  [:type="vec4%3Cf16%3E";op="subgroupAnd"]

  [:type="vec4%3Cf16%3E";op="subgroupOr"]

  [:type="vec4%3Cf16%3E";op="subgroupXor"]

  [:type="vec4%3Cf32%3E";op="subgroupAnd"]

  [:type="vec4%3Cf32%3E";op="subgroupOr"]

  [:type="vec4%3Cf32%3E";op="subgroupXor"]

  [:type="vec4%3Ci32%3E";op="subgroupAnd"]

  [:type="vec4%3Ci32%3E";op="subgroupOr"]

  [:type="vec4%3Ci32%3E";op="subgroupXor"]

  [:type="vec4%3Cu32%3E";op="subgroupAnd"]

  [:type="vec4%3Cu32%3E";op="subgroupOr"]

  [:type="vec4%3Cu32%3E";op="subgroupXor"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupBitwise:early_eval:*]
  [:stage="constant";op="subgroupAnd"]

  [:stage="constant";op="subgroupOr"]

  [:stage="constant";op="subgroupXor"]

  [:stage="override";op="subgroupAnd"]

  [:stage="override";op="subgroupOr"]

  [:stage="override";op="subgroupXor"]

  [:stage="runtime";op="subgroupAnd"]

  [:stage="runtime";op="subgroupOr"]

  [:stage="runtime";op="subgroupXor"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupBitwise:must_use:*]
  [:must_use=false;op="subgroupAnd"]

  [:must_use=false;op="subgroupOr"]

  [:must_use=false;op="subgroupXor"]

  [:must_use=true;op="subgroupAnd"]

  [:must_use=true;op="subgroupOr"]

  [:must_use=true;op="subgroupXor"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupBitwise:requires_subgroups:*]
  [:enable=false;op="subgroupAnd"]

  [:enable=false;op="subgroupOr"]

  [:enable=false;op="subgroupXor"]

  [:enable=true;op="subgroupAnd"]

  [:enable=true;op="subgroupOr"]

  [:enable=true;op="subgroupXor"]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupBitwise:return_type:*]
  implementation-status:
    if os == "mac": backlog
  expected:
    if os == "mac" and debug: [OK, TIMEOUT]
    if os == "mac" and not debug: TIMEOUT
  [:retType="bool";op="subgroupAnd";paramType="abstract-float"]

  [:retType="bool";op="subgroupAnd";paramType="abstract-int"]

  [:retType="bool";op="subgroupAnd";paramType="bool"]

  [:retType="bool";op="subgroupAnd";paramType="f16"]

  [:retType="bool";op="subgroupAnd";paramType="f32"]

  [:retType="bool";op="subgroupAnd";paramType="i32"]

  [:retType="bool";op="subgroupAnd";paramType="u32"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="bool";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="bool";op="subgroupOr";paramType="abstract-float"]

  [:retType="bool";op="subgroupOr";paramType="abstract-int"]

  [:retType="bool";op="subgroupOr";paramType="bool"]

  [:retType="bool";op="subgroupOr";paramType="f16"]

  [:retType="bool";op="subgroupOr";paramType="f32"]

  [:retType="bool";op="subgroupOr";paramType="i32"]

  [:retType="bool";op="subgroupOr";paramType="u32"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="bool";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="bool";op="subgroupXor";paramType="abstract-float"]

  [:retType="bool";op="subgroupXor";paramType="abstract-int"]

  [:retType="bool";op="subgroupXor";paramType="bool"]

  [:retType="bool";op="subgroupXor";paramType="f16"]

  [:retType="bool";op="subgroupXor";paramType="f32"]

  [:retType="bool";op="subgroupXor";paramType="i32"]

  [:retType="bool";op="subgroupXor";paramType="u32"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="bool";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="abstract-float"]

  [:retType="f16";op="subgroupAnd";paramType="abstract-int"]

  [:retType="f16";op="subgroupAnd";paramType="bool"]

  [:retType="f16";op="subgroupAnd";paramType="f16"]

  [:retType="f16";op="subgroupAnd";paramType="f32"]

  [:retType="f16";op="subgroupAnd";paramType="i32"]

  [:retType="f16";op="subgroupAnd";paramType="u32"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="f16";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="f16";op="subgroupOr";paramType="abstract-float"]

  [:retType="f16";op="subgroupOr";paramType="abstract-int"]

  [:retType="f16";op="subgroupOr";paramType="bool"]

  [:retType="f16";op="subgroupOr";paramType="f16"]

  [:retType="f16";op="subgroupOr";paramType="f32"]

  [:retType="f16";op="subgroupOr";paramType="i32"]

  [:retType="f16";op="subgroupOr";paramType="u32"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="f16";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="f16";op="subgroupXor";paramType="abstract-float"]

  [:retType="f16";op="subgroupXor";paramType="abstract-int"]

  [:retType="f16";op="subgroupXor";paramType="bool"]

  [:retType="f16";op="subgroupXor";paramType="f16"]

  [:retType="f16";op="subgroupXor";paramType="f32"]

  [:retType="f16";op="subgroupXor";paramType="i32"]

  [:retType="f16";op="subgroupXor";paramType="u32"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="f16";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="abstract-float"]

  [:retType="f32";op="subgroupAnd";paramType="abstract-int"]

  [:retType="f32";op="subgroupAnd";paramType="bool"]

  [:retType="f32";op="subgroupAnd";paramType="f16"]

  [:retType="f32";op="subgroupAnd";paramType="f32"]

  [:retType="f32";op="subgroupAnd";paramType="i32"]

  [:retType="f32";op="subgroupAnd";paramType="u32"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="f32";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="f32";op="subgroupOr";paramType="abstract-float"]

  [:retType="f32";op="subgroupOr";paramType="abstract-int"]

  [:retType="f32";op="subgroupOr";paramType="bool"]

  [:retType="f32";op="subgroupOr";paramType="f16"]

  [:retType="f32";op="subgroupOr";paramType="f32"]

  [:retType="f32";op="subgroupOr";paramType="i32"]

  [:retType="f32";op="subgroupOr";paramType="u32"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="f32";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="f32";op="subgroupXor";paramType="abstract-float"]

  [:retType="f32";op="subgroupXor";paramType="abstract-int"]

  [:retType="f32";op="subgroupXor";paramType="bool"]

  [:retType="f32";op="subgroupXor";paramType="f16"]

  [:retType="f32";op="subgroupXor";paramType="f32"]

  [:retType="f32";op="subgroupXor";paramType="i32"]

  [:retType="f32";op="subgroupXor";paramType="u32"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="f32";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="abstract-float"]

  [:retType="i32";op="subgroupAnd";paramType="abstract-int"]

  [:retType="i32";op="subgroupAnd";paramType="bool"]

  [:retType="i32";op="subgroupAnd";paramType="f16"]

  [:retType="i32";op="subgroupAnd";paramType="f32"]

  [:retType="i32";op="subgroupAnd";paramType="i32"]

  [:retType="i32";op="subgroupAnd";paramType="u32"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="i32";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="i32";op="subgroupOr";paramType="abstract-float"]

  [:retType="i32";op="subgroupOr";paramType="abstract-int"]

  [:retType="i32";op="subgroupOr";paramType="bool"]

  [:retType="i32";op="subgroupOr";paramType="f16"]

  [:retType="i32";op="subgroupOr";paramType="f32"]

  [:retType="i32";op="subgroupOr";paramType="i32"]

  [:retType="i32";op="subgroupOr";paramType="u32"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="i32";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="i32";op="subgroupXor";paramType="abstract-float"]

  [:retType="i32";op="subgroupXor";paramType="abstract-int"]

  [:retType="i32";op="subgroupXor";paramType="bool"]

  [:retType="i32";op="subgroupXor";paramType="f16"]

  [:retType="i32";op="subgroupXor";paramType="f32"]

  [:retType="i32";op="subgroupXor";paramType="i32"]

  [:retType="i32";op="subgroupXor";paramType="u32"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="i32";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="abstract-float"]

  [:retType="u32";op="subgroupAnd";paramType="abstract-int"]

  [:retType="u32";op="subgroupAnd";paramType="bool"]

  [:retType="u32";op="subgroupAnd";paramType="f16"]

  [:retType="u32";op="subgroupAnd";paramType="f32"]

  [:retType="u32";op="subgroupAnd";paramType="i32"]

  [:retType="u32";op="subgroupAnd";paramType="u32"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="u32";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="u32";op="subgroupOr";paramType="abstract-float"]

  [:retType="u32";op="subgroupOr";paramType="abstract-int"]

  [:retType="u32";op="subgroupOr";paramType="bool"]

  [:retType="u32";op="subgroupOr";paramType="f16"]

  [:retType="u32";op="subgroupOr";paramType="f32"]

  [:retType="u32";op="subgroupOr";paramType="i32"]

  [:retType="u32";op="subgroupOr";paramType="u32"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="u32";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="u32";op="subgroupXor";paramType="abstract-float"]

  [:retType="u32";op="subgroupXor";paramType="abstract-int"]

  [:retType="u32";op="subgroupXor";paramType="bool"]

  [:retType="u32";op="subgroupXor";paramType="f16"]

  [:retType="u32";op="subgroupXor";paramType="f32"]

  [:retType="u32";op="subgroupXor";paramType="i32"]

  [:retType="u32";op="subgroupXor";paramType="u32"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="abstract-float"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="abstract-int"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="bool"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="f16"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="f32"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="i32"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="u32"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="abstract-float"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="abstract-int"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="bool"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="abstract-float"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="abstract-int"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="bool"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="f16"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="f32"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="i32"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="u32"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="abstract-float"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="abstract-int"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="bool"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="f16"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="f32"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="i32"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="u32"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="abstract-float"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="abstract-int"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="bool"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="f16"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="f32"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="i32"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="u32"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupAnd";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupOr";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupBitwise:stage:*]
  [:stage="compute";op="subgroupAnd"]

  [:stage="compute";op="subgroupOr"]

  [:stage="compute";op="subgroupXor"]

  [:stage="fragment";op="subgroupAnd"]

  [:stage="fragment";op="subgroupOr"]

  [:stage="fragment";op="subgroupXor"]

  [:stage="vertex";op="subgroupAnd"]

  [:stage="vertex";op="subgroupOr"]

  [:stage="vertex";op="subgroupXor"]
