//RUN: %clang_cc1 -no-opaque-pointers %s -triple spir -emit-llvm -O0 -o - | FileCheck %s

typedef int int2 __attribute__((ext_vector_type(2)));
typedef int int4 __attribute__((ext_vector_type(4)));
typedef long long2 __attribute__((ext_vector_type(2)));

//CHECK-LABEL: define{{.*}} spir_func void @_Z3barPU3AS1Dv2_i
void bar(global int2 *in) {
  //CHECK: bitcast <2 x i32> %{{[0-9]+}} to i64
  auto l = reinterpret_cast<long>(in[0]);
  //CHECK: bitcast i64 %{{[0-9]+}} to <2 x i32>
  auto i2 = reinterpret_cast<int2>(l);

  __private short s1;
  // CHECK: %{{[0-9]+}} = load i16, i16* %s1, align 2
  // CHECK-NEXT: store i16 %{{[0-9]+}}, i16* %s2, align 2
  auto s2 = reinterpret_cast<__private short>(s1);
  // CHECK: %{{[0-9]+}} = load i16, i16* %s1, align 2
  // CHECK-NEXT: store i16 %{{[0-9]+}}, i16* %s3, align 2
  auto s3 = reinterpret_cast<decltype(s1)>(s1);
  // CHECK: %{{[0-9]+}} = load i16, i16* %s1, align 2
  // CHECK-NEXT: store i16 %{{[0-9]+}}, i16* %s4, align 2
  auto s4 = reinterpret_cast<__global short>(s1);

  int4 i4;
  //CHECK: bitcast <4 x i32> %{{[0-9]+}} to <2 x i64>
  auto l2 = reinterpret_cast<long2>(i4);
}
