1 // REQUIRES: powerpc-registered-target
2 // RUN: %clang_cc1 -flax-vector-conversions=none -triple powerpc64-unknown-linux-gnu -fsyntax-only \
3 // RUN: -target-cpu pwr8 -Wall -Werror -verify %s
4 // RUN: %clang_cc1 -flax-vector-conversions=none -triple powerpc64le-unknown-linux-gnu -fsyntax-only \
5 // RUN: -target-cpu pwr8 -Wall -Werror -verify %s
6 // RUN: %clang_cc1 -flax-vector-conversions=none -triple powerpc64-unknown-aix -fsyntax-only \
7 // RUN: -target-cpu pwr8 -Wall -Werror -verify %s
8 // RUN: %clang_cc1 -flax-vector-conversions=none -triple powerpc-unknown-aix -fsyntax-only \
9 // RUN: -target-cpu pwr8 -Wall -Werror -verify %s
10
11 #include <altivec.h>
test_ldrmb(char * ptr)12 vector unsigned char test_ldrmb(char *ptr) {
13 return __vec_ldrmb(ptr, 17); // expected-error {{argument value 17 is outside the valid range [1, 16]}}
14 }
15
test_strmb(char * ptr,vector unsigned char data)16 void test_strmb(char *ptr, vector unsigned char data) {
17 __vec_strmb(ptr, 17, data); // expected-error {{argument value 17 is outside the valid range [1, 16]}}
18 }
19
test_ldrmbb(char * ptr)20 vector unsigned char test_ldrmbb(char *ptr) {
21 return __builtin_vsx_ldrmb(ptr, 17); // expected-error {{argument value 17 is outside the valid range [1, 16]}}
22 }
23
test_strmbb(char * ptr,vector unsigned char data)24 void test_strmbb(char *ptr, vector unsigned char data) {
25 __builtin_vsx_strmb(ptr, 17, data); // expected-error {{argument value 17 is outside the valid range [1, 16]}}
26 }
27