xref: /minix3/external/bsd/llvm/dist/clang/test/Sema/convertvector.c (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
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 Sambuc vector8float 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 Sambuc float 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 Sambuc vector8float foo3(double x) {
15*f4a2713aSLionel Sambuc   return __builtin_convertvector(x, vector8float);  // expected-error {{must be a vector}}
16*f4a2713aSLionel Sambuc }
17*f4a2713aSLionel Sambuc 
18