CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
117 lines
4.8 KiB
C
117 lines
4.8 KiB
C
// RUN: %clang_cc1 %s -triple=powerpc64le-unknown-linux -target-feature +altivec \
|
|
// RUN: -target-feature +vsx -verify -verify-ignore-unexpected=note -pedantic -fsyntax-only
|
|
// RUN: %clang_cc1 %s -triple=powerpc64le-unknown-linux -target-feature +altivec \
|
|
// RUN: -target-feature +vsx -verify -verify-ignore-unexpected=note -pedantic -fsyntax-only \
|
|
// RUN: -target-cpu pwr8
|
|
|
|
typedef signed char __v16sc __attribute__((__vector_size__(16)));
|
|
typedef unsigned char __v16uc __attribute__((__vector_size__(16)));
|
|
typedef signed short __v8ss __attribute__((__vector_size__(16)));
|
|
typedef unsigned short __v8us __attribute__((__vector_size__(16)));
|
|
typedef signed int __v4si __attribute__((__vector_size__(16)));
|
|
typedef unsigned int __v4ui __attribute__((__vector_size__(16)));
|
|
typedef signed long long __v2sll __attribute__((__vector_size__(16)));
|
|
typedef unsigned long long __v2ull __attribute__((__vector_size__(16)));
|
|
typedef signed __int128 __v1slll __attribute__((__vector_size__(16)));
|
|
typedef unsigned __int128 __v1ulll __attribute__((__vector_size__(16)));
|
|
typedef float __v4f __attribute__((__vector_size__(16)));
|
|
typedef double __v2d __attribute__((__vector_size__(16)));
|
|
|
|
__v16sc *__attribute__((__overloadable__)) convert1(vector signed char);
|
|
__v16uc *__attribute__((__overloadable__)) convert1(vector unsigned char);
|
|
__v8ss *__attribute__((__overloadable__)) convert1(vector signed short);
|
|
__v8us *__attribute__((__overloadable__)) convert1(vector unsigned short);
|
|
__v4si *__attribute__((__overloadable__)) convert1(vector signed int);
|
|
__v4ui *__attribute__((__overloadable__)) convert1(vector unsigned int);
|
|
__v2sll *__attribute__((__overloadable__)) convert1(vector signed long long);
|
|
__v4f *__attribute__((__overloadable__)) convert1(vector float);
|
|
__v2d *__attribute__((__overloadable__)) convert1(vector double);
|
|
void __attribute__((__overloadable__)) convert1(vector bool int);
|
|
void __attribute__((__overloadable__)) convert1(vector pixel short);
|
|
|
|
vector signed char *__attribute__((__overloadable__)) convert2(__v16sc);
|
|
vector unsigned char *__attribute__((__overloadable__)) convert2(__v16uc);
|
|
vector signed short *__attribute__((__overloadable__)) convert2(__v8ss);
|
|
vector unsigned short *__attribute__((__overloadable__)) convert2(__v8us);
|
|
vector signed int *__attribute__((__overloadable__)) convert2(__v4si);
|
|
vector unsigned int *__attribute__((__overloadable__)) convert2(__v4ui);
|
|
vector signed long long *__attribute__((__overloadable__)) convert2(__v2sll);
|
|
vector unsigned long long *__attribute__((__overloadable__)) convert2(__v2ull);
|
|
vector float *__attribute__((__overloadable__)) convert2(__v4f);
|
|
vector double *__attribute__((__overloadable__)) convert2(__v2d);
|
|
|
|
#ifdef __POWER8_VECTOR__
|
|
__v1slll *__attribute__((__overloadable__)) convert1(vector signed __int128);
|
|
__v1ulll *__attribute__((__overloadable__)) convert1(vector unsigned __int128);
|
|
__v2ull *__attribute__((__overloadable__)) convert1(vector unsigned long long);
|
|
vector signed __int128 *__attribute__((__overloadable__)) convert2(__v1slll);
|
|
vector unsigned __int128 *__attribute__((__overloadable__)) convert2(__v1ulll);
|
|
#endif
|
|
|
|
void test(void) {
|
|
__v16sc gv1;
|
|
__v16uc gv2;
|
|
__v8ss gv3;
|
|
__v8us gv4;
|
|
__v4si gv5;
|
|
__v4ui gv6;
|
|
__v2sll gv7;
|
|
__v4f gv11;
|
|
__v2d gv12;
|
|
|
|
#ifdef __POWER8_VECTOR__
|
|
__v2ull gv8;
|
|
__v1slll gv9;
|
|
__v1ulll gv10;
|
|
#endif
|
|
|
|
vector signed char av1;
|
|
vector unsigned char av2;
|
|
vector signed short av3;
|
|
vector unsigned short av4;
|
|
vector signed int av5;
|
|
vector unsigned int av6;
|
|
vector signed long long av7;
|
|
vector unsigned long long av8;
|
|
#ifdef __POWER8_VECTOR__
|
|
vector signed __int128 av9;
|
|
vector unsigned __int128 av10;
|
|
#endif
|
|
vector float av11;
|
|
vector double av12;
|
|
vector bool int av13;
|
|
vector pixel short av14;
|
|
|
|
__v16sc *gv1_p = convert1(gv1);
|
|
__v16uc *gv2_p = convert1(gv2);
|
|
__v8ss *gv3_p = convert1(gv3);
|
|
__v8us *gv4_p = convert1(gv4);
|
|
__v4si *gv5_p = convert1(gv5);
|
|
__v4ui *gv6_p = convert1(gv6);
|
|
__v2sll *gv7_p = convert1(gv7);
|
|
#ifdef __POWER8_VECTOR__
|
|
__v2ull *gv8_p = convert1(gv8);
|
|
__v1slll *gv9_p = convert1(gv9);
|
|
__v1ulll *gv10_p = convert1(gv10);
|
|
#endif
|
|
__v4f *gv11_p = convert1(gv11);
|
|
__v2d *gv12_p = convert1(gv12);
|
|
|
|
vector signed char *av1_p = convert2(av1);
|
|
vector unsigned char *av2_p = convert2(av2);
|
|
vector signed short *av3_p = convert2(av3);
|
|
vector unsigned short *av4_p = convert2(av4);
|
|
vector signed int *av5_p = convert2(av5);
|
|
vector unsigned int *av6_p = convert2(av6);
|
|
vector signed long long *av7_p = convert2(av7);
|
|
vector unsigned long long *av8_p = convert2(av8);
|
|
#ifdef __POWER8_VECTOR__
|
|
vector signed __int128 *av9_p = convert2(av9);
|
|
vector unsigned __int128 *av10_p = convert2(av10);
|
|
#endif
|
|
vector float *av11_p = convert2(av11);
|
|
vector double *av12_p = convert2(av12);
|
|
convert2(av13); // expected-error {{call to 'convert2' is ambiguous}}
|
|
convert2(av14); // expected-error {{call to 'convert2' is ambiguous}}
|
|
}
|