1 | // REQUIRES: hexagon-registered-target |
2 | // RUN: %clang_cc1 -triple hexagon %s -fsyntax-only -verify |
3 | |
4 | typedef long Vect1024 __attribute__((__vector_size__(128))) |
5 | __attribute__((aligned(128))); |
6 | typedef long Vect2048 __attribute__((__vector_size__(256))) |
7 | __attribute__((aligned(128))); |
8 | |
9 | typedef Vect1024 HVX_Vector; |
10 | typedef Vect2048 HVX_VectorPair; |
11 | |
12 | |
13 | HVX_Vector builtin_needs_v60(HVX_VectorPair a) { |
14 | // expected-error@+1 {{builtin requires HVX}} |
15 | return __builtin_HEXAGON_V6_hi_128B(a); |
16 | } |
17 | |
18 | HVX_Vector builtin_needs_v62(char a) { |
19 | // expected-error@+1 {{builtin requires HVX}} |
20 | return __builtin_HEXAGON_V6_lvsplatb_128B(a); |
21 | } |
22 | |
23 | HVX_VectorPair builtin_needs_v65() { |
24 | // expected-error@+1 {{builtin requires HVX}} |
25 | return __builtin_HEXAGON_V6_vdd0_128B(); |
26 | } |
27 | |