// RUN: %clang_cc1 %s -triple spir-unknown-unknown -O0 -emit-llvm -o - | FileCheck %s class P { public: P(const P &Rhs) = default; long A; long B; }; void foo(__global P *GPtr) { // CHECK: call void @llvm.memcpy{{.*}}, {{.*}}, i32 16 P Val = GPtr[0]; } struct __attribute__((packed)) A { int X; }; int test(__global A *GPtr) { // CHECK: {{.*}} = load i32, {{.*}}, align 1 return static_cast<__generic A &>(*GPtr).X; }