mirror of
https://github.com/ziglang/zig.git
synced 2024-11-30 09:02:32 +00:00
update C headers to LLVM 16.0.0
This commit is contained in:
parent
5c4bbd0657
commit
a4d7b7edc1
56
lib/include/arm_sve.h
vendored
56
lib/include/arm_sve.h
vendored
@ -6958,14 +6958,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_s64)))
|
|||||||
svint64_t svrev_s64(svint64_t);
|
svint64_t svrev_s64(svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_s16)))
|
||||||
svint16_t svrev_s16(svint16_t);
|
svint16_t svrev_s16(svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b16)))
|
||||||
svbool_t svrev_b8(svbool_t);
|
svbool_t svrev_b16(svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b32)))
|
||||||
svbool_t svrev_b32(svbool_t);
|
svbool_t svrev_b32(svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b64)))
|
||||||
svbool_t svrev_b64(svbool_t);
|
svbool_t svrev_b64(svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrev_b8)))
|
||||||
svbool_t svrev_b16(svbool_t);
|
svbool_t svrev_b8(svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrevb_u32_m)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrevb_u32_m)))
|
||||||
svuint32_t svrevb_u32_m(svuint32_t, svbool_t, svuint32_t);
|
svuint32_t svrevb_u32_m(svuint32_t, svbool_t, svuint32_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrevb_u64_m)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrevb_u64_m)))
|
||||||
@ -8126,14 +8126,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_s64)))
|
|||||||
svint64_t svtrn1_s64(svint64_t, svint64_t);
|
svint64_t svtrn1_s64(svint64_t, svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_s16)))
|
||||||
svint16_t svtrn1_s16(svint16_t, svint16_t);
|
svint16_t svtrn1_s16(svint16_t, svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b16)))
|
||||||
svbool_t svtrn1_b8(svbool_t, svbool_t);
|
svbool_t svtrn1_b16(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b32)))
|
||||||
svbool_t svtrn1_b32(svbool_t, svbool_t);
|
svbool_t svtrn1_b32(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b64)))
|
||||||
svbool_t svtrn1_b64(svbool_t, svbool_t);
|
svbool_t svtrn1_b64(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1_b8)))
|
||||||
svbool_t svtrn1_b16(svbool_t, svbool_t);
|
svbool_t svtrn1_b8(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_u8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_u8)))
|
||||||
svuint8_t svtrn2_u8(svuint8_t, svuint8_t);
|
svuint8_t svtrn2_u8(svuint8_t, svuint8_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_u32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_u32)))
|
||||||
@ -8156,14 +8156,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_s64)))
|
|||||||
svint64_t svtrn2_s64(svint64_t, svint64_t);
|
svint64_t svtrn2_s64(svint64_t, svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_s16)))
|
||||||
svint16_t svtrn2_s16(svint16_t, svint16_t);
|
svint16_t svtrn2_s16(svint16_t, svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b16)))
|
||||||
svbool_t svtrn2_b8(svbool_t, svbool_t);
|
svbool_t svtrn2_b16(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b32)))
|
||||||
svbool_t svtrn2_b32(svbool_t, svbool_t);
|
svbool_t svtrn2_b32(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b64)))
|
||||||
svbool_t svtrn2_b64(svbool_t, svbool_t);
|
svbool_t svtrn2_b64(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2_b8)))
|
||||||
svbool_t svtrn2_b16(svbool_t, svbool_t);
|
svbool_t svtrn2_b8(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtsmul_f64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtsmul_f64)))
|
||||||
svfloat64_t svtsmul_f64(svfloat64_t, svuint64_t);
|
svfloat64_t svtsmul_f64(svfloat64_t, svuint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtsmul_f32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtsmul_f32)))
|
||||||
@ -8314,14 +8314,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_s64)))
|
|||||||
svint64_t svuzp1_s64(svint64_t, svint64_t);
|
svint64_t svuzp1_s64(svint64_t, svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_s16)))
|
||||||
svint16_t svuzp1_s16(svint16_t, svint16_t);
|
svint16_t svuzp1_s16(svint16_t, svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b16)))
|
||||||
svbool_t svuzp1_b8(svbool_t, svbool_t);
|
svbool_t svuzp1_b16(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b32)))
|
||||||
svbool_t svuzp1_b32(svbool_t, svbool_t);
|
svbool_t svuzp1_b32(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b64)))
|
||||||
svbool_t svuzp1_b64(svbool_t, svbool_t);
|
svbool_t svuzp1_b64(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1_b8)))
|
||||||
svbool_t svuzp1_b16(svbool_t, svbool_t);
|
svbool_t svuzp1_b8(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_u8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_u8)))
|
||||||
svuint8_t svuzp2_u8(svuint8_t, svuint8_t);
|
svuint8_t svuzp2_u8(svuint8_t, svuint8_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_u32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_u32)))
|
||||||
@ -8344,14 +8344,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_s64)))
|
|||||||
svint64_t svuzp2_s64(svint64_t, svint64_t);
|
svint64_t svuzp2_s64(svint64_t, svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_s16)))
|
||||||
svint16_t svuzp2_s16(svint16_t, svint16_t);
|
svint16_t svuzp2_s16(svint16_t, svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b16)))
|
||||||
svbool_t svuzp2_b8(svbool_t, svbool_t);
|
svbool_t svuzp2_b16(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b32)))
|
||||||
svbool_t svuzp2_b32(svbool_t, svbool_t);
|
svbool_t svuzp2_b32(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b64)))
|
||||||
svbool_t svuzp2_b64(svbool_t, svbool_t);
|
svbool_t svuzp2_b64(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2_b8)))
|
||||||
svbool_t svuzp2_b16(svbool_t, svbool_t);
|
svbool_t svuzp2_b8(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_b8_s32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_b8_s32)))
|
||||||
svbool_t svwhilele_b8_s32(int32_t, int32_t);
|
svbool_t svwhilele_b8_s32(int32_t, int32_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_b32_s32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_b32_s32)))
|
||||||
@ -8440,14 +8440,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_s64)))
|
|||||||
svint64_t svzip1_s64(svint64_t, svint64_t);
|
svint64_t svzip1_s64(svint64_t, svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_s16)))
|
||||||
svint16_t svzip1_s16(svint16_t, svint16_t);
|
svint16_t svzip1_s16(svint16_t, svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b16)))
|
||||||
svbool_t svzip1_b8(svbool_t, svbool_t);
|
svbool_t svzip1_b16(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b32)))
|
||||||
svbool_t svzip1_b32(svbool_t, svbool_t);
|
svbool_t svzip1_b32(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b64)))
|
||||||
svbool_t svzip1_b64(svbool_t, svbool_t);
|
svbool_t svzip1_b64(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1_b8)))
|
||||||
svbool_t svzip1_b16(svbool_t, svbool_t);
|
svbool_t svzip1_b8(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_u8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_u8)))
|
||||||
svuint8_t svzip2_u8(svuint8_t, svuint8_t);
|
svuint8_t svzip2_u8(svuint8_t, svuint8_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_u32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_u32)))
|
||||||
@ -8470,14 +8470,14 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_s64)))
|
|||||||
svint64_t svzip2_s64(svint64_t, svint64_t);
|
svint64_t svzip2_s64(svint64_t, svint64_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_s16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_s16)))
|
||||||
svint16_t svzip2_s16(svint16_t, svint16_t);
|
svint16_t svzip2_s16(svint16_t, svint16_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b8)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b16)))
|
||||||
svbool_t svzip2_b8(svbool_t, svbool_t);
|
svbool_t svzip2_b16(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b32)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b32)))
|
||||||
svbool_t svzip2_b32(svbool_t, svbool_t);
|
svbool_t svzip2_b32(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b64)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b64)))
|
||||||
svbool_t svzip2_b64(svbool_t, svbool_t);
|
svbool_t svzip2_b64(svbool_t, svbool_t);
|
||||||
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b16)))
|
__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2_b8)))
|
||||||
svbool_t svzip2_b16(svbool_t, svbool_t);
|
svbool_t svzip2_b8(svbool_t, svbool_t);
|
||||||
__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svabd_n_f64_m)))
|
__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svabd_n_f64_m)))
|
||||||
svfloat64_t svabd_m(svbool_t, svfloat64_t, float64_t);
|
svfloat64_t svabd_m(svbool_t, svfloat64_t, float64_t);
|
||||||
__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svabd_n_f32_m)))
|
__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svabd_n_f32_m)))
|
||||||
|
4
lib/include/immintrin.h
vendored
4
lib/include/immintrin.h
vendored
@ -524,7 +524,7 @@ _storebe_i64(void * __P, long long __D) {
|
|||||||
#include <invpcidintrin.h>
|
#include <invpcidintrin.h>
|
||||||
#endif
|
#endif
|
||||||
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
||||||
defined(__AMXFP16__)
|
defined(__AMX_FP16__)
|
||||||
#include <amxfp16intrin.h>
|
#include <amxfp16intrin.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -534,7 +534,7 @@ _storebe_i64(void * __P, long long __D) {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
||||||
defined(__AMXTILE__) || defined(__AMXINT8__) || defined(__AMXBF16__)
|
defined(__AMX_TILE__) || defined(__AMX_INT8__) || defined(__AMX_BF16__)
|
||||||
#include <amxintrin.h>
|
#include <amxintrin.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
94
lib/include/riscv_vector.h
vendored
94
lib/include/riscv_vector.h
vendored
@ -25,7 +25,7 @@ extern "C" {
|
|||||||
#pragma clang riscv intrinsic vector
|
#pragma clang riscv intrinsic vector
|
||||||
|
|
||||||
|
|
||||||
#define vlenb() __builtin_rvv_vlenb()
|
#define __riscv_vlenb() __builtin_rvv_vlenb()
|
||||||
|
|
||||||
enum RVV_CSR {
|
enum RVV_CSR {
|
||||||
RVV_VSTART = 0,
|
RVV_VSTART = 0,
|
||||||
@ -35,7 +35,7 @@ enum RVV_CSR {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static __inline__ __attribute__((__always_inline__, __nodebug__))
|
static __inline__ __attribute__((__always_inline__, __nodebug__))
|
||||||
unsigned long vread_csr(enum RVV_CSR __csr) {
|
unsigned long __riscv_vread_csr(enum RVV_CSR __csr) {
|
||||||
unsigned long __rv = 0;
|
unsigned long __rv = 0;
|
||||||
switch (__csr) {
|
switch (__csr) {
|
||||||
case RVV_VSTART:
|
case RVV_VSTART:
|
||||||
@ -55,7 +55,7 @@ unsigned long vread_csr(enum RVV_CSR __csr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static __inline__ __attribute__((__always_inline__, __nodebug__))
|
static __inline__ __attribute__((__always_inline__, __nodebug__))
|
||||||
void vwrite_csr(enum RVV_CSR __csr, unsigned long __value) {
|
void __riscv_vwrite_csr(enum RVV_CSR __csr, unsigned long __value) {
|
||||||
switch (__csr) {
|
switch (__csr) {
|
||||||
case RVV_VSTART:
|
case RVV_VSTART:
|
||||||
__asm__ __volatile__ ("csrw\tvstart, %z0" : : "rJ"(__value) : "memory");
|
__asm__ __volatile__ ("csrw\tvstart, %z0" : : "rJ"(__value) : "memory");
|
||||||
@ -72,62 +72,62 @@ void vwrite_csr(enum RVV_CSR __csr, unsigned long __value) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
|
#define __riscv_vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
|
||||||
#define vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
|
#define __riscv_vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
|
||||||
#define vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
|
#define __riscv_vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
|
||||||
#define vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1)
|
#define __riscv_vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1)
|
||||||
#define vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2)
|
#define __riscv_vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2)
|
||||||
#define vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3)
|
#define __riscv_vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3)
|
||||||
|
|
||||||
#define vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7)
|
#define __riscv_vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7)
|
||||||
#define vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0)
|
#define __riscv_vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0)
|
||||||
#define vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1)
|
#define __riscv_vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1)
|
||||||
#define vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2)
|
#define __riscv_vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2)
|
||||||
#define vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3)
|
#define __riscv_vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3)
|
||||||
|
|
||||||
#define vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0)
|
#define __riscv_vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0)
|
||||||
#define vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1)
|
#define __riscv_vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1)
|
||||||
#define vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2)
|
#define __riscv_vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2)
|
||||||
#define vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3)
|
#define __riscv_vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3)
|
||||||
|
|
||||||
#if __riscv_v_elen >= 64
|
#if __riscv_v_elen >= 64
|
||||||
#define vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5)
|
#define __riscv_vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5)
|
||||||
#define vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6)
|
#define __riscv_vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6)
|
||||||
#define vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7)
|
#define __riscv_vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7)
|
||||||
|
|
||||||
#define vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0)
|
#define __riscv_vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0)
|
||||||
#define vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1)
|
#define __riscv_vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1)
|
||||||
#define vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2)
|
#define __riscv_vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2)
|
||||||
#define vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3)
|
#define __riscv_vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6)
|
#define __riscv_vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6)
|
||||||
#define vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7)
|
#define __riscv_vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7)
|
||||||
#define vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0)
|
#define __riscv_vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0)
|
||||||
#define vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1)
|
#define __riscv_vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1)
|
||||||
#define vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2)
|
#define __riscv_vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2)
|
||||||
#define vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3)
|
#define __riscv_vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3)
|
||||||
|
|
||||||
#define vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7)
|
#define __riscv_vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7)
|
||||||
#define vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0)
|
#define __riscv_vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0)
|
||||||
#define vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1)
|
#define __riscv_vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1)
|
||||||
#define vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2)
|
#define __riscv_vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2)
|
||||||
#define vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3)
|
#define __riscv_vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3)
|
||||||
|
|
||||||
#define vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0)
|
#define __riscv_vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0)
|
||||||
#define vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1)
|
#define __riscv_vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1)
|
||||||
#define vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2)
|
#define __riscv_vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2)
|
||||||
#define vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3)
|
#define __riscv_vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3)
|
||||||
|
|
||||||
#if __riscv_v_elen >= 64
|
#if __riscv_v_elen >= 64
|
||||||
#define vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5)
|
#define __riscv_vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5)
|
||||||
#define vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6)
|
#define __riscv_vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6)
|
||||||
#define vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7)
|
#define __riscv_vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7)
|
||||||
|
|
||||||
#define vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0)
|
#define __riscv_vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0)
|
||||||
#define vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1)
|
#define __riscv_vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1)
|
||||||
#define vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2)
|
#define __riscv_vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2)
|
||||||
#define vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3)
|
#define __riscv_vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef __rvv_bool64_t vbool64_t;
|
typedef __rvv_bool64_t vbool64_t;
|
||||||
|
2
lib/include/smmintrin.h
vendored
2
lib/include/smmintrin.h
vendored
@ -1145,7 +1145,7 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testnzc_si128(__m128i __M,
|
|||||||
/// A 128-bit integer vector containing the bits to be tested.
|
/// A 128-bit integer vector containing the bits to be tested.
|
||||||
/// \returns TRUE if the bits specified in the operand are all set to 1; FALSE
|
/// \returns TRUE if the bits specified in the operand are all set to 1; FALSE
|
||||||
/// otherwise.
|
/// otherwise.
|
||||||
#define _mm_test_all_ones(V) _mm_testc_si128((V), _mm_cmpeq_epi32((V), (V)))
|
#define _mm_test_all_ones(V) _mm_testc_si128((V), _mm_set1_epi32(-1))
|
||||||
|
|
||||||
/// Tests whether the specified bits in a 128-bit integer vector are
|
/// Tests whether the specified bits in a 128-bit integer vector are
|
||||||
/// neither all zeros nor all ones.
|
/// neither all zeros nor all ones.
|
||||||
|
Loading…
Reference in New Issue
Block a user