受支持的 GCC 向量内置函数
以下 GCC 向量内置函数在 IBM® XL C/C++ for AIX® 16.1的基于 Clang 的前端中也受支持。
- vec_vsx_ld
- vec_vsx_st
- vec_xxsldi
- vec_xxpermdi
下表描述了如何映射 GCC 和 IBM XL C/C++ for AIX 16.1 中的向量内置函数。
支持的 GCC 向量内置函数: vec_vsx_ld |
等效的 IBM XL C/C++ for AIX 函数: vec_xl |
|---|---|
| vector double vec_vsx_ld (int, const vector double *) | vector double vec_xl (signed long, const vector double *) |
| vector double vec_vsx_ld (int, const double *) | vector double vec_xl (signed long, const double *) |
| vector float vec_vsx_ld (int, const vector float *) | vector float vec_xl (signed long, const vector float *) |
| vector float vec_vsx_ld (int, const float *) | vector float vec_xl (signed long, const float *) |
| vector bool int vec_vsx_ld (int, const vector bool int *) | |
| vector signed int vec_vsx_ld (int, const vector signed int *) | vector signed int vec_xl (signed long, const vector signed int *) |
| vector signed int vec_vsx_ld (int, const int *) | vector signed int vec_xl (signed long, const signed int *) |
| vector signed int vec_vsx_ld (int, const long *) | |
| vector unsigned int vec_vsx_ld (int, const vector unsigned int *) | vector unsigned int vec_xl (signed long, const vector unsigned int *) |
| vector unsigned int vec_vsx_ld (int, const unsigned int *) | vector unsigned int vec_xl (signed long, const unsigned int *) |
| vector unsigned int vec_vsx_ld (int, const unsigned long *) | |
| vector bool short vec_vsx_ld (int, const vector bool short *) | |
| vector pixel vec_vsx_ld (int, const vector pixel *) | |
| vector signed short vec_vsx_ld (int, const vector signed short *) | vector signed short vec_xl (signed long, const vector signed short *) |
| vector signed short vec_vsx_ld (int, const short *) | vector signed short vec_xl (signed long, const signed short *) |
| vector unsigned short vec_vsx_ld (int, const vector unsigned short *) | vector unsigned short vec_xl (signed long, const vector unsigned short *) |
| vector unsigned short vec_vsx_ld (int, const unsigned short *) | vector unsigned short vec_xl (signed long, const unsigned short *) |
| vector bool char vec_vsx_ld (int, const vector bool char *) | |
| vector signed char vec_vsx_ld (int, const vector signed char *) | vector signed char vec_xl (signed long, const vector signed char *) |
| vector signed char vec_vsx_ld (int, const signed char *) | vector signed char vec_xl (signed long, const signed char *) |
| vector unsigned char vec_vsx_ld (int, const vector unsigned char *) | vector unsigned char vec_xl (signed long, const vector unsigned char *) |
| vector unsigned char vec_vsx_ld (int, const unsigned char *) | vector unsigned char vec_xl (signed long, const unsigned char *) |
支持的 GCC 向量内置函数: vec_vsx_st |
等效的 IBM XL C/C++ for AIX 函数: vec_xst |
|---|---|
| void vec_vsx_st (vector double, int, vector double *) | void vec_xst (vector double, signed long, const vector double *) |
| void vec_vsx_st (vector double, int, double *) | void vec_xst (vector double, signed long, double *) |
| void vec_vsx_st (vector float, int, vector float *) | void vec_xst (vector float, signed long, const vector float *) |
| void vec_vsx_st (vector float, int, float *) | void vec_xst (vector float, signed long, float *) |
| void vec_vsx_st (vector signed int, int, vector signed int *) | void vec_xst (vector signed int, signed long, const vector signed int *) |
| void vec_vsx_st (vector signed int, int, int *) | void vec_xst (vector signed int, signed long, signed int *) |
| void vec_vsx_st (vector unsigned int, int, vector unsigned int *) | void vec_xst (vector unsigned short, signed long, const vector unsigned short *) |
| void vec_vsx_st (vector unsigned int, int, unsigned int *) | void vec_xst (vector unsigned int, signed long, unsigned int*) |
| void vec_vsx_st (vector bool int, int, vector bool int *) | |
| void vec_vsx_st (vector bool int, int, unsigned int *) | |
| void vec_vsx_st (vector bool int, int, int *) | |
| void vec_vsx_st (vector signed short, int, vector signed short *) | void vec_xst (vector signed short, signed long, const vector signed short *) |
| void vec_vsx_st (vector signed short, int, short *) | void vec_xst (vector signed short, signed long, signed short *) |
| void vec_vsx_st (vector unsigned short, int, vector unsigned short *) | void vec_xst (vector unsigned short, signed long, const vector unsigned short *) |
| void vec_vsx_st (vector unsigned short, int, unsigned short *) | void vec_xst (vector unsigned short, signed long, unsigned short *) |
| void vec_vsx_st (vector bool short, int, vector bool short *) | |
| void vec_vsx_st (vector bool short, int, unsigned short *) | |
| void vec_vsx_st (vector pixel, int, vector pixel *) | |
| void vec_vsx_st (vector pixel, int, unsigned short *) | |
| void vec_vsx_st (vector pixel, int, short *) | |
| void vec_vsx_st (vector bool short, int, short *) | |
| void vec_vsx_st (vector signed char, int, vector signed char *) | void vec_xst (vector signed char, signed long, const vector signed char *) |
| void vec_vsx_st (vector signed char, int, signed char *) | void vec_xst (vector signed char, signed long, signed char *) |
| void vec_vsx_st (vector unsigned char, int, vector unsigned char *) | void vec_xst (vector unsigned char, signed long, const vector unsigned char *) |
| void vec_vsx_st (vector unsigned char, int, unsigned char *) | void vec_xst (vector unsigned char, signed long, unsigned char *) |
| void vec_vsx_st (vector bool char, int, vector bool char *) | |
| void vec_vsx_st (vector bool char, int, unsigned char *) | |
| void vec_vsx_st (vector bool char, int, signed char *) |
支持的 GCC 向量内置函数: vec_xxsldi |
等效的 IBM XL C/C++ for AIX 函数: vec_sldw |
|---|---|
| vector double vec_xxsldi (vector double, vector double, int) | vector double vec_sldw (vector double, vector double, signed int) |
| vector float vec_xxsldi (vector float, vector float, int) | |
| vector long long vec_xxsldi (vector long long, vector long long, int) | vector signed long long vec_sldw (vector signed long long, vector signed long long, signed int) |
| vector unsigned long long vec_xxsldi (vector unsigned long long, vector unsigned long long, int) | vector unsigned long long vec_sldw (vector unsigned long long, vector unsigned long long, signed int) |
| vector int vec_xxsldi (vector int, vector int, int) | vector signed int vec_sldw (vector signed int, vector signed int, signed int) |
| vector unsigned int vec_xxsldi (vector unsigned int, vector unsigned int, int) | vector unsigned int vec_sldw (vector unsigned int, vector unsigned int, signed int) |
| vector short vec_xxsldi (vector short, vector short, int) | vector signed short vec_sldw (vector signed short, vector signed short, signed int) |
| vector unsigned short vec_xxsldi (vector unsigned short, vector unsigned short, int) | vector unsigned short vec_sldw (vector unsigned short, vector unsigned short, signed int) |
| vector signed char vec_xxsldi (vector signed char, vector signed char, int) | vector signed char vec_sldw (vector signed char, vector signed char, signed int) |
| vector unsigned char vec_xxsldi (vector unsigned char, vector unsigned char, int) | vector unsigned char vec_sldw (vector unsigned char, vector unsigned char, signed int) |
下表中的 vec_permi 内置函数映射到 vec_xxpermdi 函数。
支持的 GCC 向量内置函数: vec_xxpermdi |
等效的 IBM XL C/C++ for AIX 函数: vec_permi |
|---|---|
| vector double vec_xxpermdi (vector double, vector double, int) | vector double vec_permi(vector double, vector double, signed int) |
| vector long long vec_xxpermdi (vector long long, vector long long, int) | vector signed long long vec_permi(vector signed long long, vector signed long long, signed int) |
| vector unsigned long long vec_xxpermdi (vector unsigned long long, vector unsigned long long, int) | vector unsigned long long vec_permi(vector unsigned long long, vector unsigned long long, signed int) |
| int vec_xxpermdi (vector int, vector int, int) | vector signed long long vec_permi(vector signed long long, vector signed long long, signed int) |
| unsigned int vec_xxpermdi (vector unsigned int, vector unsigned int, int) | vector unsigned long long vec_permi(vector unsigned long long, vector unsigned long long, signed int) |
| vector short vec_xxpermdi (vector short, vector short, int) | vector signed long long vec_permi(vector signed long long, vector signed long long, signed int) |
| vector unsigned short vec_xxpermdi (vector unsigned short, vector unsigned short, int) | vector unsigned long long vec_permi(vector unsigned long long, vector unsigned long long, signed int) |
| vector signed char vec_xxpermdi (vector signed char, vector signed char, int) | vector signed long long vec_permi(vector signed long long, vector signed long long, signed int) |
| vector unsigned char vec_xxpermdi (vector unsigned char, vector unsigned char, int) | vector unsigned long long vec_permi(vector unsigned long long, vector unsigned long long, signed int) |