/*===---- arm_neon.h - ARM Neon intrinsics ---------------------------------===
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
*===-----------------------------------------------------------------------===
*/
#ifndef __ARM_NEON_H
#define __ARM_NEON_H
#ifndef __ARM_FP
#error "NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
#else
#if !defined(__ARM_NEON)
#error "NEON support not enabled"
#else
#include <stdint.h>
#ifdef __ARM_FEATURE_BF16
#include <arm_bf16.h>
typedef __bf16 bfloat16_t;
#endif
typedef float float32_t;
typedef __fp16 float16_t;
#ifdef __aarch64__
typedef double float64_t;
#endif
#ifdef __aarch64__
typedef uint8_t poly8_t;
typedef uint16_t poly16_t;
typedef uint64_t poly64_t;
typedef __uint128_t poly128_t;
#else
typedef int8_t poly8_t;
typedef int16_t poly16_t;
typedef int64_t poly64_t;
#endif
typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
#ifdef __aarch64__
typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
#endif
typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t;
typedef __attribute__((neon_polyvector_type(16))) poly8_t poly8x16_t;
typedef __attribute__((neon_polyvector_type(4))) poly16_t poly16x4_t;
typedef __attribute__((neon_polyvector_type(8))) poly16_t poly16x8_t;
typedef __attribute__((neon_polyvector_type(1))) poly64_t poly64x1_t;
typedef __attribute__((neon_polyvector_type(2))) poly64_t poly64x2_t;
typedef struct int8x8x2_t {
int8x8_t val[2];
} int8x8x2_t;
typedef struct int8x16x2_t {
int8x16_t val[2];
} int8x16x2_t;
typedef struct int16x4x2_t {
int16x4_t val[2];
} int16x4x2_t;
typedef struct int16x8x2_t {
int16x8_t val[2];
} int16x8x2_t;
typedef struct int32x2x2_t {
int32x2_t val[2];
} int32x2x2_t;
typedef struct int32x4x2_t {
int32x4_t val[2];
} int32x4x2_t;
typedef struct int64x1x2_t {
int64x1_t val[2];
} int64x1x2_t;
typedef struct int64x2x2_t {
int64x2_t val[2];
} int64x2x2_t;
typedef struct uint8x8x2_t {
uint8x8_t val[2];
} uint8x8x2_t;
typedef struct uint8x16x2_t {
uint8x16_t val[2];
} uint8x16x2_t;
typedef struct uint16x4x2_t {
uint16x4_t val[2];
} uint16x4x2_t;
typedef struct uint16x8x2_t {
uint16x8_t val[2];
} uint16x8x2_t;
typedef struct uint32x2x2_t {
uint32x2_t val[2];
} uint32x2x2_t;
typedef struct uint32x4x2_t {
uint32x4_t val[2];
} uint32x4x2_t;
typedef struct uint64x1x2_t {
uint64x1_t val[2];
} uint64x1x2_t;
typedef struct uint64x2x2_t {
uint64x2_t val[2];
} uint64x2x2_t;
typedef struct float16x4x2_t {
float16x4_t val[2];
} float16x4x2_t;
typedef struct float16x8x2_t {
float16x8_t val[2];
} float16x8x2_t;
typedef struct float32x2x2_t {
float32x2_t val[2];
} float32x2x2_t;
typedef struct float32x4x2_t {
float32x4_t val[2];
} float32x4x2_t;
#ifdef __aarch64__
typedef struct float64x1x2_t {
float64x1_t val[2];
} float64x1x2_t;
typedef struct float64x2x2_t {
float64x2_t val[2];
} float64x2x2_t;
#endif
typedef struct poly8x8x2_t {
poly8x8_t val[2];
} poly8x8x2_t;
typedef struct poly8x16x2_t {
poly8x16_t val[2];
} poly8x16x2_t;
typedef struct poly16x4x2_t {
poly16x4_t val[2];
} poly16x4x2_t;
typedef struct poly16x8x2_t {
poly16x8_t val[2];
} poly16x8x2_t;
typedef struct poly64x1x2_t {
poly64x1_t val[2];
} poly64x1x2_t;
typedef struct poly64x2x2_t {
poly64x2_t val[2];
} poly64x2x2_t;
typedef struct int8x8x3_t {
int8x8_t val[3];
} int8x8x3_t;
typedef struct int8x16x3_t {
int8x16_t val[3];
} int8x16x3_t;
typedef struct int16x4x3_t {
int16x4_t val[3];
} int16x4x3_t;
typedef struct int16x8x3_t {
int16x8_t val[3];
} int16x8x3_t;
typedef struct int32x2x3_t {
int32x2_t val[3];
} int32x2x3_t;
typedef struct int32x4x3_t {
int32x4_t val[3];
} int32x4x3_t;
typedef struct int64x1x3_t {
int64x1_t val[3];
} int64x1x3_t;
typedef struct int64x2x3_t {
int64x2_t val[3];
} int64x2x3_t;
typedef struct uint8x8x3_t {
uint8x8_t val[3];
} uint8x8x3_t;
typedef struct uint8x16x3_t {
uint8x16_t val[3];
} uint8x16x3_t;
typedef struct uint16x4x3_t {
uint16x4_t val[3];
} uint16x4x3_t;
typedef struct uint16x8x3_t {
uint16x8_t val[3];
} uint16x8x3_t;
typedef struct uint32x2x3_t {
uint32x2_t val[3];
} uint32x2x3_t;
typedef struct uint32x4x3_t {
uint32x4_t val[3];
} uint32x4x3_t;
typedef struct uint64x1x3_t {
uint64x1_t val[3];
} uint64x1x3_t;
typedef struct uint64x2x3_t {
uint64x2_t val[3];
} uint64x2x3_t;
typedef struct float16x4x3_t {
float16x4_t val[3];
} float16x4x3_t;
typedef struct float16x8x3_t {
float16x8_t val[3];
} float16x8x3_t;
typedef struct float32x2x3_t {
float32x2_t val[3];
} float32x2x3_t;
typedef struct float32x4x3_t {
float32x4_t val[3];
} float32x4x3_t;
#ifdef __aarch64__
typedef struct float64x1x3_t {
float64x1_t val[3];
} float64x1x3_t;
typedef struct float64x2x3_t {
float64x2_t val[3];
} float64x2x3_t;
#endif
typedef struct poly8x8x3_t {
poly8x8_t val[3];
} poly8x8x3_t;
typedef struct poly8x16x3_t {
poly8x16_t val[3];
} poly8x16x3_t;
typedef struct poly16x4x3_t {
poly16x4_t val[3];
} poly16x4x3_t;
typedef struct poly16x8x3_t {
poly16x8_t val[3];
} poly16x8x3_t;
typedef struct poly64x1x3_t {
poly64x1_t val[3];
} poly64x1x3_t;
typedef struct poly64x2x3_t {
poly64x2_t val[3];
} poly64x2x3_t;
typedef struct int8x8x4_t {
int8x8_t val[4];
} int8x8x4_t;
typedef struct int8x16x4_t {
int8x16_t val[4];
} int8x16x4_t;
typedef struct int16x4x4_t {
int16x4_t val[4];
} int16x4x4_t;
typedef struct int16x8x4_t {
int16x8_t val[4];
} int16x8x4_t;
typedef struct int32x2x4_t {
int32x2_t val[4];
} int32x2x4_t;
typedef struct int32x4x4_t {
int32x4_t val
没有合适的资源?快使用搜索试试~ 我知道了~
Hikari-LLVM15.0.0.xctoolchain
共2000个文件
h:4896个
a:430个
def:226个
5星 · 超过95%的资源 需积分: 37 22 下载量 153 浏览量
2022-10-03
09:49:22
上传
评论 1
收藏 816.24MB ZIP 举报
温馨提示
Hikari_LLVM15.0.0.xctoolchain
资源详情
资源评论
资源推荐
收起资源包目录
Hikari-LLVM15.0.0.xctoolchain (2000个子文件)
ear.c 18KB
._ear.c 4KB
style.css 6KB
._scanview.css 4KB
._style.css 4KB
._scanview.css 4KB
scanview.css 1KB
scanview.css 1KB
arm_neon.h 2.43MB
arm_sve.h 1.51MB
arm_mve.h 1.48MB
opencl-c.h 874KB
altivec.h 696KB
Sema.h 614KB
avx512fintrin.h 382KB
hexagon_protos.h 374KB
vecintrin.h 361KB
OpenMPClause.h 325KB
avx512vlintrin.h 322KB
hvx_hexagon_protos.h 254KB
Type.h 253KB
ASTMatchers.h 250KB
Expr.h 241KB
StmtOpenMP.h 237KB
TargetLowering.h 216KB
Index.h 213KB
Instructions.h 203KB
Attributor.h 197KB
avxintrin.h 194KB
emmintrin.h 192KB
Decl.h 175KB
ExprCXX.h 174KB
ItaniumDemangle.h 167KB
DeclCXX.h 158KB
avx512fp16intrin.h 157KB
IntrinsicsHexagon.h 150KB
DebugInfoMetadata.h 143KB
Parser.h 141KB
Format.h 138KB
RecursiveASTVisitor.h 135KB
ASTContext.h 134KB
Core.h 133KB
IntrinsicsNVPTX.h 131KB
hexagon_types.h 130KB
DeclTemplate.h 127KB
TargetTransformInfo.h 121KB
Stmt.h 118KB
avx512vlbwintrin.h 111KB
SelectionDAGNodes.h 108KB
xmmintrin.h 107KB
IntrinsicsX86.h 106KB
SelectionDAG.h 102KB
DeclObjC.h 102KB
Preprocessor.h 101KB
ScalarEvolution.h 100KB
DeclSpec.h 100KB
IRBuilder.h 99KB
smmintrin.h 99KB
DeclBase.h 96KB
BasicTTIImpl.h 95KB
InstrTypes.h 95KB
IntrinsicsVE.h 93KB
TargetInstrInfo.h 92KB
PatternMatch.h 88KB
ASTReader.h 88KB
avx512vlfp16intrin.h 85KB
OMPIRBuilder.h 85KB
ASTMatchersInternal.h 81KB
MachineIRBuilder.h 81KB
STLExtras.h 79KB
TypeLoc.h 77KB
Core.h 77KB
MachineInstr.h 76KB
APInt.h 76KB
avx512bwintrin.h 75KB
IntervalMap.h 73KB
SourceManager.h 73KB
CommandLine.h 72KB
wasm_simd128.h 71KB
YAMLTraits.h 70KB
IntrinsicsAArch64.h 70KB
emmintrin.h 70KB
velintrin_gen.h 69KB
BlockFrequencyInfoImpl.h 68KB
Record.h 68KB
ELF.h 67KB
JITLink.h 65KB
IntrinsicsAMDGPU.h 65KB
ISDOpcodes.h 63KB
Diagnostic.h 63KB
xmmintrin.h 63KB
TargetInfo.h 62KB
ModuleSummaryIndex.h 62KB
GenericDomTreeConstruction.h 61KB
ASTBitCodes.h 59KB
MachO.h 59KB
ExprObjC.h 59KB
avx512dqintrin.h 59KB
FileSystem.h 58KB
AliasAnalysis.h 57KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
小黑猫成仙
- 粉丝: 65
- 资源: 103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5