xref: /llvm-project/clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-vec-error.c (revision a9ddb7d54e34533ff4af32d720d69177ef0c605d)
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