1 | // REQUIRES: hexagon-registered-target |
2 | // RUN: %clang_cc1 -triple hexagon %s -target-feature +hvx-length128b -target-feature +hvxv62 -target-cpu hexagonv62 -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 | return __builtin_HEXAGON_V6_hi_128B(a); |
15 | } |
16 | |
17 | HVX_Vector builtin_needs_v62(char a) { |
18 | return __builtin_HEXAGON_V6_lvsplatb_128B(a); |
19 | } |
20 | |
21 | HVX_VectorPair builtin_needs_v65() { |
22 | // expected-error@+1 {{builtin is not supported on this version of HVX}} |
23 | return __builtin_HEXAGON_V6_vdd0_128B(); |
24 | } |
25 | |