[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:aliasing_inside_function:*]
  [:address_space="private"]

  [:address_space="storage"]

  [:address_space="workgroup"]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:member_accessors:*]
  implementation-status: backlog
  [:address_space="private";aliased=false]

  [:address_space="private";aliased=true]
    expected: FAIL

  [:address_space="storage";aliased=false]

  [:address_space="storage";aliased=true]

  [:address_space="workgroup";aliased=false]

  [:address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:one_atomic_pointer_one_module_scope:*]
  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:one_pointer_one_module_scope:*]
  implementation-status: backlog
  [:address_space="private";aliased=false]

  [:address_space="private";aliased=true]
    expected: FAIL

  [:address_space="storage";aliased=false]

  [:address_space="storage";aliased=true]

  [:address_space="workgroup";aliased=false]

  [:address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:same_pointer_read_and_write:*]
  [:address_space="private"]

  [:address_space="storage"]

  [:address_space="workgroup"]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:subcalls:*]
  implementation-status: backlog
  [:address_space="private";aliased=false]

  [:address_space="private";aliased=true]
    expected: FAIL

  [:address_space="storage";aliased=false]

  [:address_space="storage";aliased=true]

  [:address_space="workgroup";aliased=false]

  [:address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:swizzles:*]
  implementation-status: backlog
  [:address_space="private";aliased=false]

  [:address_space="private";aliased=true]
    expected: FAIL

  [:address_space="storage";aliased=false]

  [:address_space="storage";aliased=true]

  [:address_space="workgroup";aliased=false]

  [:address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_atomic_pointers:*]
  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_atomic_pointers_to_array_elements:*]
  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";index=1;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";index=0;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";index=0;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";index=1;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";index=1;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";index=0;aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";index=1;aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_atomic_pointers_to_struct_members:*]
  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicAdd";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicAnd";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicCompareExchangeWeak";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicExchange";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicLoad";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicMax";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicMin";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicOr";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicStore";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicSub";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicLoad";address_space="workgroup";member="b";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";member="a";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";member="a";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";member="b";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="storage";member="b";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";member="a";aliased=true]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=false]

  [:builtin_a="atomicXor";builtin_b="atomicStore";address_space="workgroup";member="b";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_pointers:*]
  implementation-status: backlog
  [:address_space="function";aliased=false]

  [:address_space="function";aliased=true]
    expected: FAIL

  [:address_space="private";aliased=false]

  [:address_space="private";aliased=true]
    expected: FAIL

  [:address_space="storage";aliased=false]

  [:address_space="storage";aliased=true]

  [:address_space="workgroup";aliased=false]

  [:address_space="workgroup";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_pointers_to_array_elements:*]
  [:address_space="function";index=0;aliased=false]

  [:address_space="function";index=0;aliased=true]

  [:address_space="function";index=1;aliased=false]

  [:address_space="function";index=1;aliased=true]

  [:address_space="private";index=0;aliased=false]

  [:address_space="private";index=0;aliased=true]

  [:address_space="private";index=1;aliased=false]

  [:address_space="private";index=1;aliased=true]

  [:address_space="storage";index=0;aliased=false]

  [:address_space="storage";index=0;aliased=true]

  [:address_space="storage";index=1;aliased=false]

  [:address_space="storage";index=1;aliased=true]

  [:address_space="workgroup";index=0;aliased=false]

  [:address_space="workgroup";index=0;aliased=true]

  [:address_space="workgroup";index=1;aliased=false]

  [:address_space="workgroup";index=1;aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_pointers_to_array_elements_indirect:*]
  [:address_space="function";index=0;aliased=false]

  [:address_space="function";index=0;aliased=true]

  [:address_space="function";index=1;aliased=false]

  [:address_space="function";index=1;aliased=true]

  [:address_space="private";index=0;aliased=false]

  [:address_space="private";index=0;aliased=true]

  [:address_space="private";index=1;aliased=false]

  [:address_space="private";index=1;aliased=true]

  [:address_space="storage";index=0;aliased=false]

  [:address_space="storage";index=0;aliased=true]

  [:address_space="storage";index=1;aliased=false]

  [:address_space="storage";index=1;aliased=true]

  [:address_space="workgroup";index=0;aliased=false]

  [:address_space="workgroup";index=0;aliased=true]

  [:address_space="workgroup";index=1;aliased=false]

  [:address_space="workgroup";index=1;aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_pointers_to_struct_members:*]
  [:address_space="function";member="a";aliased=false]

  [:address_space="function";member="a";aliased=true]

  [:address_space="function";member="b";aliased=false]

  [:address_space="function";member="b";aliased=true]

  [:address_space="private";member="a";aliased=false]

  [:address_space="private";member="a";aliased=true]

  [:address_space="private";member="b";aliased=false]

  [:address_space="private";member="b";aliased=true]

  [:address_space="storage";member="a";aliased=false]

  [:address_space="storage";member="a";aliased=true]

  [:address_space="storage";member="b";aliased=false]

  [:address_space="storage";member="b";aliased=true]

  [:address_space="workgroup";member="a";aliased=false]

  [:address_space="workgroup";member="a";aliased=true]

  [:address_space="workgroup";member="b";aliased=false]

  [:address_space="workgroup";member="b";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:two_pointers_to_struct_members_indirect:*]
  [:address_space="function";member="a";aliased=false]

  [:address_space="function";member="a";aliased=true]

  [:address_space="function";member="b";aliased=false]

  [:address_space="function";member="b";aliased=true]

  [:address_space="private";member="a";aliased=false]

  [:address_space="private";member="a";aliased=true]

  [:address_space="private";member="b";aliased=false]

  [:address_space="private";member="b";aliased=true]

  [:address_space="storage";member="a";aliased=false]

  [:address_space="storage";member="a";aliased=true]

  [:address_space="storage";member="b";aliased=false]

  [:address_space="storage";member="b";aliased=true]

  [:address_space="workgroup";member="a";aliased=false]

  [:address_space="workgroup";member="a";aliased=true]

  [:address_space="workgroup";member="b";aliased=false]

  [:address_space="workgroup";member="b";aliased=true]


[cts.https.html?q=webgpu:shader,validation,functions,alias_analysis:workgroup_uniform_load:*]
  [:use="load";aliased=false]

  [:use="load";aliased=true]

  [:use="store";aliased=false]

  [:use="store";aliased=true]

  [:use="workgroupUniformLoad";aliased=false]

  [:use="workgroupUniformLoad";aliased=true]
