blob: 7aaa6df984ffba468c7aa4e8401be9baab05c30e [file] [edit]
// RUN: clspv %s -o %t.spv
// RUN: spirv-dis -o %t2.spvasm %t.spv
// RUN: FileCheck %s < %t2.spvasm
// RUN: spirv-val --target-env vulkan1.0 %t.spv
typedef struct {
int4 x;
} inner;
typedef struct {
inner i[2];
} outer;
__kernel void foo(__global outer* out, global outer* in) {
out->i[0] = in->i[0];
}
// CHECK: [[zero:%[0-9a-zA-Z_]+]] = OpConstant {{.*}} 0
// CHECK: [[dst:%[0-9a-zA-Z_]+]] = OpVariable {{.*}} StorageBuffer
// CHECK: [[src:%[0-9a-zA-Z_]+]] = OpVariable {{.*}} StorageBuffer
// CHECK: [[src_gep:%[0-9a-zA-Z_]+]] = OpAccessChain {{.*}} [[src]] [[zero]] [[zero]] [[zero]] [[zero]]
// CHECK: [[dst_gep:%[0-9a-zA-Z_]+]] = OpAccessChain {{.*}} [[dst]] [[zero]] [[zero]] [[zero]] [[zero]]
// CHECK: OpCopyMemory [[dst_gep]] [[src_gep]] Aligned 16