/*===---- riscv_vector.h - RISC-V V-extension RVVIntrinsics -------------------===
*
*
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
* See https://llvm.org/LICENSE.txt for license information.
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
*
*===-----------------------------------------------------------------------===
*/
#ifndef __RISCV_VECTOR_H
#define __RISCV_VECTOR_H
#include <stdint.h>
#include <stddef.h>
#ifndef __riscv_vector
#error "Vector intrinsics require the vector extension."
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define vsetvl_e8mf8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 5)
#define vsetvl_e8mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 6)
#define vsetvl_e8mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 7)
#define vsetvl_e8m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 0)
#define vsetvl_e8m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 1)
#define vsetvl_e8m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 2)
#define vsetvl_e8m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 0, 3)
#define vsetvl_e16mf4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 6)
#define vsetvl_e16mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 7)
#define vsetvl_e16m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 0)
#define vsetvl_e16m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 1)
#define vsetvl_e16m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 2)
#define vsetvl_e16m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 1, 3)
#define vsetvl_e32mf2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 7)
#define vsetvl_e32m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 0)
#define vsetvl_e32m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 1)
#define vsetvl_e32m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 2)
#define vsetvl_e32m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 2, 3)
#define vsetvl_e64m1(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 0)
#define vsetvl_e64m2(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 1)
#define vsetvl_e64m4(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 2)
#define vsetvl_e64m8(avl) __builtin_rvv_vsetvli((size_t)(avl), 3, 3)
#define vsetvlmax_e8mf8() __builtin_rvv_vsetvlimax(0, 5)
#define vsetvlmax_e8mf4() __builtin_rvv_vsetvlimax(0, 6)
#define vsetvlmax_e8mf2() __builtin_rvv_vsetvlimax(0, 7)
#define vsetvlmax_e8m1() __builtin_rvv_vsetvlimax(0, 0)
#define vsetvlmax_e8m2() __builtin_rvv_vsetvlimax(0, 1)
#define vsetvlmax_e8m4() __builtin_rvv_vsetvlimax(0, 2)
#define vsetvlmax_e8m8() __builtin_rvv_vsetvlimax(0, 3)
#define vsetvlmax_e16mf4() __builtin_rvv_vsetvlimax(1, 6)
#define vsetvlmax_e16mf2() __builtin_rvv_vsetvlimax(1, 7)
#define vsetvlmax_e16m1() __builtin_rvv_vsetvlimax(1, 0)
#define vsetvlmax_e16m2() __builtin_rvv_vsetvlimax(1, 1)
#define vsetvlmax_e16m4() __builtin_rvv_vsetvlimax(1, 2)
#define vsetvlmax_e16m8() __builtin_rvv_vsetvlimax(1, 3)
#define vsetvlmax_e32mf2() __builtin_rvv_vsetvlimax(2, 7)
#define vsetvlmax_e32m1() __builtin_rvv_vsetvlimax(2, 0)
#define vsetvlmax_e32m2() __builtin_rvv_vsetvlimax(2, 1)
#define vsetvlmax_e32m4() __builtin_rvv_vsetvlimax(2, 2)
#define vsetvlmax_e32m8() __builtin_rvv_vsetvlimax(2, 3)
#define vsetvlmax_e64m1() __builtin_rvv_vsetvlimax(3, 0)
#define vsetvlmax_e64m2() __builtin_rvv_vsetvlimax(3, 1)
#define vsetvlmax_e64m4() __builtin_rvv_vsetvlimax(3, 2)
#define vsetvlmax_e64m8() __builtin_rvv_vsetvlimax(3, 3)
typedef __rvv_bool64_t vbool64_t;
typedef __rvv_bool32_t vbool32_t;
typedef __rvv_bool16_t vbool16_t;
typedef __rvv_bool8_t vbool8_t;
typedef __rvv_bool4_t vbool4_t;
typedef __rvv_bool2_t vbool2_t;
typedef __rvv_bool1_t vbool1_t;
typedef __rvv_int8mf8_t vint8mf8_t;
typedef __rvv_uint8mf8_t vuint8mf8_t;
typedef __rvv_int8mf4_t vint8mf4_t;
typedef __rvv_uint8mf4_t vuint8mf4_t;
typedef __rvv_int8mf2_t vint8mf2_t;
typedef __rvv_uint8mf2_t vuint8mf2_t;
typedef __rvv_int8m1_t vint8m1_t;
typedef __rvv_uint8m1_t vuint8m1_t;
typedef __rvv_int8m2_t vint8m2_t;
typedef __rvv_uint8m2_t vuint8m2_t;
typedef __rvv_int8m4_t vint8m4_t;
typedef __rvv_uint8m4_t vuint8m4_t;
typedef __rvv_int8m8_t vint8m8_t;
typedef __rvv_uint8m8_t vuint8m8_t;
typedef __rvv_int16mf4_t vint16mf4_t;
typedef __rvv_uint16mf4_t vuint16mf4_t;
typedef __rvv_int16mf2_t vint16mf2_t;
typedef __rvv_uint16mf2_t vuint16mf2_t;
typedef __rvv_int16m1_t vint16m1_t;
typedef __rvv_uint16m1_t vuint16m1_t;
typedef __rvv_int16m2_t vint16m2_t;
typedef __rvv_uint16m2_t vuint16m2_t;
typedef __rvv_int16m4_t vint16m4_t;
typedef __rvv_uint16m4_t vuint16m4_t;
typedef __rvv_int16m8_t vint16m8_t;
typedef __rvv_uint16m8_t vuint16m8_t;
typedef __rvv_int32mf2_t vint32mf2_t;
typedef __rvv_uint32mf2_t vuint32mf2_t;
typedef __rvv_int32m1_t vint32m1_t;
typedef __rvv_uint32m1_t vuint32m1_t;
typedef __rvv_int32m2_t vint32m2_t;
typedef __rvv_uint32m2_t vuint32m2_t;
typedef __rvv_int32m4_t vint32m4_t;
typedef __rvv_uint32m4_t vuint32m4_t;
typedef __rvv_int32m8_t vint32m8_t;
typedef __rvv_uint32m8_t vuint32m8_t;
typedef __rvv_int64m1_t vint64m1_t;
typedef __rvv_uint64m1_t vuint64m1_t;
typedef __rvv_int64m2_t vint64m2_t;
typedef __rvv_uint64m2_t vuint64m2_t;
typedef __rvv_int64m4_t vint64m4_t;
typedef __rvv_uint64m4_t vuint64m4_t;
typedef __rvv_int64m8_t vint64m8_t;
typedef __rvv_uint64m8_t vuint64m8_t;
#if defined(__riscv_zfh)
typedef __rvv_float16mf4_t vfloat16mf4_t;
typedef __rvv_float16mf2_t vfloat16mf2_t;
typedef __rvv_float16m1_t vfloat16m1_t;
typedef __rvv_float16m2_t vfloat16m2_t;
typedef __rvv_float16m4_t vfloat16m4_t;
typedef __rvv_float16m8_t vfloat16m8_t;
#endif
#if defined(__riscv_f)
typedef __rvv_float32mf2_t vfloat32mf2_t;
typedef __rvv_float32m1_t vfloat32m1_t;
typedef __rvv_float32m2_t vfloat32m2_t;
typedef __rvv_float32m4_t vfloat32m4_t;
typedef __rvv_float32m8_t vfloat32m8_t;
#endif
#if defined(__riscv_d)
typedef __rvv_float64m1_t vfloat64m1_t;
typedef __rvv_float64m2_t vfloat64m2_t;
typedef __rvv_float64m4_t vfloat64m4_t;
typedef __rvv_float64m8_t vfloat64m8_t;
#endif
#define vadd_vv_i8m1(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8m1((vint8m1_t)(op0), (vint8m1_t)(op1), (size_t)(op2))
#define vadd_vv_i8m1_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8m1_m((vbool8_t)(op0), (vint8m1_t)(op1), (vint8m1_t)(op2), (vint8m1_t)(op3), (size_t)(op4))
#define vadd_vv_i8m2(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8m2((vint8m2_t)(op0), (vint8m2_t)(op1), (size_t)(op2))
#define vadd_vv_i8m2_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8m2_m((vbool4_t)(op0), (vint8m2_t)(op1), (vint8m2_t)(op2), (vint8m2_t)(op3), (size_t)(op4))
#define vadd_vv_i8m4(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8m4((vint8m4_t)(op0), (vint8m4_t)(op1), (size_t)(op2))
#define vadd_vv_i8m4_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8m4_m((vbool2_t)(op0), (vint8m4_t)(op1), (vint8m4_t)(op2), (vint8m4_t)(op3), (size_t)(op4))
#define vadd_vv_i8m8(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8m8((vint8m8_t)(op0), (vint8m8_t)(op1), (size_t)(op2))
#define vadd_vv_i8m8_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8m8_m((vbool1_t)(op0), (vint8m8_t)(op1), (vint8m8_t)(op2), (vint8m8_t)(op3), (size_t)(op4))
#define vadd_vv_i8mf2(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8mf2((vint8mf2_t)(op0), (vint8mf2_t)(op1), (size_t)(op2))
#define vadd_vv_i8mf2_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8mf2_m((vbool16_t)(op0), (vint8mf2_t)(op1), (vint8mf2_t)(op2), (vint8mf2_t)(op3), (size_t)(op4))
#define vadd_vv_i8mf4(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8mf4((vint8mf4_t)(op0), (vint8mf4_t)(op1), (size_t)(op2))
#define vadd_vv_i8mf4_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8mf4_m((vbool32_t)(op0), (vint8mf4_t)(op1), (vint8mf4_t)(op2), (vint8mf4_t)(op3), (size_t)(op4))
#define vadd_vv_i8mf8(op0, op1, op2) \
__builtin_rvv_vadd_vv_i8mf8((vint8mf8_t)(op0), (vint8mf8_t)(op1), (size_t)(op2))
#define vadd_vv_i8mf8_m(op0, op1, op2, op3, op4) \
__builtin_rvv_vadd_vv_i8mf8_m((vbool64_t)(op0), (vint8mf8_t)(op1), (vint8mf8_t)(op2), (vint8mf8_t)(op3), (size_t)(op4))
#define vadd_vv_i16m1(op0, op1, op2) \
__builtin_rvv_vadd_vv_i16m1((vint1
没有合适的资源?快使用搜索试试~ 我知道了~
Hikari Xcode工具链
共2879个文件
h:2274个
a:201个
def:103个
需积分: 50 10 下载量 101 浏览量
2022-10-02
20:48:53
上传
评论
收藏 641.61MB ZIP 举报
温馨提示
Hikari Xcode工具链
资源详情
资源评论
资源推荐
收起资源包目录
Hikari Xcode工具链 (2879个子文件)
scan-build.1 10KB
libclangSema.a 14.59MB
libclangAST.a 9.62MB
libLLVMCodeGen.a 9.33MB
libclangBasic.a 9.31MB
libLLVMAMDGPUCodeGen.a 8.81MB
libclangCodeGen.a 8.01MB
libLLVMAnalysis.a 6.16MB
libLLVMHexagonCodeGen.a 6.13MB
libclangStaticAnalyzerCheckers.a 5.97MB
libLLVMX86CodeGen.a 5.55MB
libLLVMAArch64CodeGen.a 5.3MB
libLLVMScalarOpts.a 5.12MB
libLLVMCore.a 4.77MB
libLLVMARMCodeGen.a 4.36MB
libclangDriver.a 4.07MB
libLLVMipo.a 4.02MB
libLLVMSelectionDAG.a 3.89MB
libLLVMRISCVCodeGen.a 3.64MB
libLLVMAMDGPUDesc.a 3.6MB
libLLVMTransformUtils.a 3.18MB
libclangARCMigrate.a 3.11MB
libclangDynamicASTMatchers.a 2.93MB
libclangSerialization.a 2.85MB
libLLVMSupport.a 2.78MB
libclangFrontend.a 2.61MB
libLLVMPowerPCCodeGen.a 2.56MB
libLLVMMipsCodeGen.a 2.51MB
libLLVMPasses.a 2.5MB
libclangStaticAnalyzerCore.a 2.46MB
libLLVMObjectYAML.a 2.25MB
libLLVMX86Desc.a 2.23MB
libLLVMAMDGPUAsmParser.a 2.19MB
libLLVMInstCombine.a 1.79MB
libLLVMAArch64Desc.a 1.79MB
libLLVMInstrumentation.a 1.77MB
libLLVMOrcJIT.a 1.75MB
libLLVMObject.a 1.64MB
libclangParse.a 1.64MB
libLLVMX86Disassembler.a 1.59MB
libLLVMVectorize.a 1.56MB
libclangAnalysis.a 1.54MB
libLLVMDebugInfoPDB.a 1.53MB
libLLVMRISCVDesc.a 1.49MB
libLLVMGlobalISel.a 1.37MB
libLLVMWebAssemblyCodeGen.a 1.36MB
libLLVMMC.a 1.29MB
libLLVMARMDesc.a 1.29MB
libLLVMAsmPrinter.a 1.25MB
libLLVMNVPTXCodeGen.a 1.13MB
libLLVMSystemZCodeGen.a 1.12MB
libclangLex.a 1.1MB
libLLVMDebugInfoCodeView.a 1.08MB
libLLVMDebugInfoDWARF.a 1.01MB
libLLVMHexagonDesc.a 972KB
libLLVMNVPTXDesc.a 955KB
libLLVMAArch64AsmParser.a 933KB
libclangToolingRefactoring.a 917KB
libclangFormat.a 892KB
libLLVMMipsDesc.a 730KB
libLLVMMCParser.a 712KB
libclangRewriteFrontend.a 712KB
libLLVMBPFCodeGen.a 711KB
libLLVMPowerPCDesc.a 676KB
libclangASTMatchers.a 672KB
libLLVMX86AsmParser.a 655KB
libLLVMLTO.a 644KB
libLLVMProfileData.a 640KB
libLLVMRuntimeDyld.a 626KB
libLLVMARMAsmParser.a 612KB
libLLVMAMDGPUUtils.a 607KB
libLLVMJITLink.a 583KB
libclangStaticAnalyzerFrontend.a 580KB
libLLVMXCoreCodeGen.a 566KB
libLLVMAsmParser.a 557KB
libLLVMLanaiCodeGen.a 545KB
libLLVMTableGen.a 527KB
libLLVMSystemZDesc.a 517KB
libLLVMBitReader.a 495KB
libLLVMAVRCodeGen.a 486KB
libLLVMAMDGPUDisassembler.a 486KB
libLLVMSparcCodeGen.a 482KB
libLLVMARMDisassembler.a 481KB
libclangTooling.a 466KB
libLLVMExegesis.a 458KB
libclangToolingSyntax.a 452KB
libclangIndex.a 396KB
libLLVMObfuscation.a 387KB
libLLVMDemangle.a 370KB
libLLVMMSP430CodeGen.a 367KB
libLLVMBitWriter.a 362KB
libLLVMCoroutines.a 349KB
libclangTransformer.a 333KB
libLLVMMIRParser.a 298KB
libclangDependencyScanning.a 294KB
libLLVMWebAssemblyDesc.a 279KB
libLLVMHexagonAsmParser.a 277KB
libLLVMFrontendOpenMP.a 273KB
libLLVMCoverage.a 260KB
libLLVMFuzzMutate.a 257KB
共 2879 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29
小黑猫成仙
- 粉丝: 65
- 资源: 103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0