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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupShuffle:param2_early_eval:*]
  [:op="subgroupShuffle";value=-1]

  [:op="subgroupShuffle";value=0]

  [:op="subgroupShuffle";value=127]

  [:op="subgroupShuffle";value=128]

  [:op="subgroupShuffleDown";value=0]

  [:op="subgroupShuffleDown";value=127]

  [:op="subgroupShuffleDown";value=128]

  [:op="subgroupShuffleUp";value=0]

  [:op="subgroupShuffleUp";value=127]

  [:op="subgroupShuffleUp";value=128]

  [:op="subgroupShuffleXor";value=0]

  [:op="subgroupShuffleXor";value=127]

  [:op="subgroupShuffleXor";value=128]


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  [:retType="i32";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

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

  [:retType="i32";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="i32";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

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

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

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

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

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

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

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

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

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

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

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

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

  [:retType="i32";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

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

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

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

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

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

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

  [:retType="i32";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

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

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

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

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

  [:retType="i32";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  [:retType="u32";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

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

  [:retType="u32";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

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

  [:retType="u32";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

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

  [:retType="u32";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

  [:retType="u32";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="u32";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec2%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec2%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec3%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec3%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cbool%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf16%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="abstract-float"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="abstract-int"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="bool"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="f16"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="f32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="i32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="u32"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]

  [:retType="vec4%3Cf32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac" and debug: [TIMEOUT, NOTRUN]
      if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Ci32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffle";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleDown";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleUp";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="abstract-float"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="abstract-int"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="bool"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="f16"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="f32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="i32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="u32"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec2%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec3%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-float%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cabstract-int%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cbool%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf16%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cf32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Ci32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]

  [:retType="vec4%3Cu32%3E";op="subgroupShuffleXor";paramType="vec4%3Cu32%3E"]
    expected:
      if os == "mac": [TIMEOUT, NOTRUN]


[cts.https.html?q=webgpu:shader,validation,expression,call,builtin,subgroupShuffle:stage:*]
  [:stage="compute";op="subgroupShuffle"]

  [:stage="compute";op="subgroupShuffleDown"]

  [:stage="compute";op="subgroupShuffleUp"]

  [:stage="compute";op="subgroupShuffleXor"]

  [:stage="fragment";op="subgroupShuffle"]

  [:stage="fragment";op="subgroupShuffleDown"]

  [:stage="fragment";op="subgroupShuffleUp"]

  [:stage="fragment";op="subgroupShuffleXor"]

  [:stage="vertex";op="subgroupShuffle"]

  [:stage="vertex";op="subgroupShuffleDown"]

  [:stage="vertex";op="subgroupShuffleUp"]

  [:stage="vertex";op="subgroupShuffleXor"]
