1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -fsyntax-only -verify %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc typedef double vector4double __attribute__((__vector_size__(32))); 4*f4a2713aSLionel Sambuc typedef float vector8float __attribute__((__vector_size__(32))); 5*f4a2713aSLionel Sambuc foo1(vector4double x)6*f4a2713aSLionel Sambucvector8float foo1(vector4double x) { 7*f4a2713aSLionel Sambuc return __builtin_convertvector(x, vector8float); // expected-error {{same number of elements}} 8*f4a2713aSLionel Sambuc } 9*f4a2713aSLionel Sambuc foo2(vector4double x)10*f4a2713aSLionel Sambucfloat foo2(vector4double x) { 11*f4a2713aSLionel Sambuc return __builtin_convertvector(x, float); // expected-error {{must be a vector type}} 12*f4a2713aSLionel Sambuc } 13*f4a2713aSLionel Sambuc foo3(double x)14*f4a2713aSLionel Sambucvector8float foo3(double x) { 15*f4a2713aSLionel Sambuc return __builtin_convertvector(x, vector8float); // expected-error {{must be a vector}} 16*f4a2713aSLionel Sambuc } 17*f4a2713aSLionel Sambuc 18