150
|
1 // REQUIRES: hexagon-registered-target
|
|
2 // RUN: %clang_cc1 -triple hexagon %s -target-feature +hvx-length128b -target-feature +hvxv65 -target-cpu hexagonv65 -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 // expected-no-diagnostics
|
|
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 return __builtin_HEXAGON_V6_vdd0_128B();
|
|
23 }
|