text: // Types that we should be able to import.
  typedef char __attribute__((ext_vector_type(2))) char2;
  typedef char __attribute__((ext_vector_type(64))) char64;
  typedef unsigned char __attribute__((ext_vector_type(3))) uchar3;
  typedef unsigned char __attribute__((ext_vector_type(32))) uchar32;
  typedef short __attribute__((ext_vector_type(3))) short3;
  typedef short __attribute__((ext_vector_type(8))) short8;
  typedef unsigned short __attribute__((ext_vector_type(1))) ushort1;
  typedef unsigned short __attribute__((ext_vector_type(16))) ushort16;
  typedef int __attribute__((ext_vector_type(3))) int3;
  typedef int __attribute__((ext_vector_type(32))) int32;
  typedef unsigned int __attribute__((ext_vector_type(4))) uint4;
  typedef unsigned int __attribute__((ext_vector_type(2))) uint2;
  typedef long __attribute__((ext_vector_type(2))) long2;
  typedef long __attribute__((ext_vector_type(8))) long8;
  typedef unsigned long __attribute__((ext_vector_type(4))) ulong4;
  typedef unsigned long __attribute__((ext_vector_type(1))) ulong1;
  typedef long long __attribute__((ext_vector_type(3))) ll3;
  typedef long long __attribute__((ext_vector_type(8))) ll8;
  typedef unsigned long long __attribute__((ext_vector_type(4))) ull4;
  typedef unsigned long long __attribute__((ext_vector_type(16))) ull16;
  
  typedef float __attribute__((ext_vector_type(2))) float2;
  typedef float __attribute__((ext_vector_type(3))) float3;
  typedef float __attribute__((ext_vector_type(4))) float4;
  typedef float __attribute__((ext_vector_type(8))) float8;
  typedef float __attribute__((ext_vector_type(16))) float16;
  typedef double __attribute__((ext_vector_type(2))) double2;
  typedef double __attribute__((ext_vector_type(3))) double3;
  typedef double __attribute__((ext_vector_type(4))) double4;
  typedef double __attribute__((ext_vector_type(8))) double8;
  
  // Types that we should not be able to import.
  typedef char __attribute__((ext_vector_type(17))) char17;
  typedef unsigned char __attribute__((ext_vector_type(21))) uchar21;
  typedef short __attribute__((ext_vector_type(5))) short5;
  typedef unsigned short __attribute__((ext_vector_type(6))) ushort6;
  typedef int __attribute__((ext_vector_type(128))) int128;
  typedef unsigned int __attribute__((ext_vector_type(20))) uint20;
  
  char2 makes_char2();
  char64 makes_char64();
  uchar3 makes_uchar3();
  uchar32 makes_uchar32();
  short3 makes_short3();
  short8 makes_short8();
  ushort1 makes_ushort1();
  ushort16 makes_ushort16();
  int3 makes_int3();
  int32 makes_int32();
  uint4 makes_uint4();
  uint2 makes_uint2();
  long2 makes_long2();
  long8 makes_long8();
  ulong4 makes_ulong4();
  ulong1 makes_ulong1();
  ll3 makes_ll3();
  ll8 makes_ll8();
  ull4 makes_ull4();
  ull16 makes_ull16();
  float2 makes_float2();
  float3 makes_float3();
  float4 makes_float4();
  float8 makes_float8();
  float16 makes_float16();
  double2 makes_double2();
  double3 makes_double3();
  double4 makes_double4();
  double8 makes_double8();
  char17 makes_char17();
  uchar21 makes_uchar21();
  short5 makes_short5();
  ushort6 makes_ushort6();
  int128 makes_int128();
  uint20 makes_uint20();
  
  takes_char2(char2);
  takes_char64(char64);
  takes_uchar3(uchar3);
  takes_uchar32(uchar32);
  takes_short3(short3);
  takes_short8(short8);
  takes_ushort1(ushort1);
  takes_ushort16(ushort16);
  takes_int3(int3);
  takes_int32(int32);
  takes_uint4(uint4);
  takes_uint2(uint2);
  takes_long2(long2);
  takes_long8(long8);
  takes_ulong4(ulong4);
  takes_ulong1(ulong1);
  takes_ll3(ll3);
  takes_ll8(ll8);
  takes_ull4(ull4);
  takes_ull16(ull16);
  takes_float2(float2);
  takes_float3(float3);
  takes_float4(float4);
  takes_float8(float8);
  takes_float16(float16);
  takes_double2(double2);
  takes_double3(double3);
  takes_double4(double4);
  takes_double8(double8);
  takes_char17(char17);
  takes_uchar21(uchar21);
  takes_short5(short5);
  takes_ushort6(ushort6);
  takes_int128(int128);
  takes_uint20(uint20);
  