| // REQUIRES: hexagon-registered-target |
| // RUN: %clang_cc1 -triple hexagon %s -target-feature +hvx-length128b -target-feature +hvxv62 -target-cpu hexagonv62 -fsyntax-only -verify |
| |
| typedef long Vect1024 __attribute__((__vector_size__(128))) |
| __attribute__((aligned(128))); |
| typedef long Vect2048 __attribute__((__vector_size__(256))) |
| __attribute__((aligned(128))); |
| |
| typedef Vect1024 HVX_Vector; |
| typedef Vect2048 HVX_VectorPair; |
| |
| |
| HVX_Vector builtin_needs_v60(HVX_VectorPair a) { |
| return __builtin_HEXAGON_V6_hi_128B(a); |
| } |
| |
| HVX_Vector builtin_needs_v62(char a) { |
| return __builtin_HEXAGON_V6_lvsplatb_128B(a); |
| } |
| |
| HVX_VectorPair builtin_needs_v65() { |
| // expected-error@+1 {{builtin is not supported on this version of HVX}} |
| return __builtin_HEXAGON_V6_vdd0_128B(); |
| } |