/*===---- 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.zip 支持Xcode14 混淆代码 防止破解 启用伪控制流: -mllvm -enable-bcfobf 启用控制流平坦化: -mllvm -enable-cffobf 启用指令替换: -mllvm -enable-subobf 启用反class-dump: -mllvm -enable-acdobf 启用基于寄存器的相对跳转,配合其他加固可以彻底破坏IDA/Hopper的伪代码(俗称F5): -mllvm -enable-indibran 启用字符串加密: -mllvm -enable-strcry 启用函数封装: -mllvm -enable-funcwra 启用基本块分割: -mllvm -enable-splitobf 依次性启用上述所有标记: -mllvm -enable-allobf 更多用法看原文档或者联系QQ咨询!
资源推荐
资源详情
资源评论
收起资源包目录
Hikari-LLVM15.0.0.zip 支持Xcode14 混淆代码 防止破解 (2000个子文件)
ear.c 18KB
style.css 6KB
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
Constants.h 57KB
__clang_cuda_device_functions.h 57KB
mmintrin.h 56KB
ThreadSafetyTIL.h 56KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
SpeedIDC系统
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页