arm neon 数据类型介绍
2017-08-07 20:52
1271 查看
arm neon 数据类型,定义在arm_neon.h
/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/lib/gcc/arm-eabi/4.8/nclude/arm_neon.h
数据类型格式:<类型><大小>x<向量线条数>x<数组长度>_t
例如
uint8x16_t 无符号的int8(8个bit,相当于一个字节),16向量线条数16,所以总的大小是 8 x 16 =128 bit,也就是16字节
uint8x16x2_t 无符号的int8(8个bit,相当于一个字节),16向量线条数16,数组长度2,所以总的大小是 8 x 16 x 2 =256bit,也就是32字节
/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/lib/gcc/arm-eabi/4.8/nclude/arm_neon.h
typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_hi int16x4_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_si int32x2_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_di int64x1_t; typedef __builtin_neon_sf float32x2_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_poly8 poly8x8_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_poly16 poly16x4_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_uqi uint8x8_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_uhi uint16x4_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_usi uint32x2_t __attribute__ ((__vector_size__ (8))); typedef __builtin_neon_udi uint64x1_t; typedef __builtin_neon_qi int8x16_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_hi int16x8_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_si int32x4_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_di int64x2_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_sf float32x4_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_poly16 poly16x8_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_uqi uint8x16_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_uhi uint16x8_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_usi uint32x4_t __attribute__ ((__vector_size__ (16))); typedef __builtin_neon_udi uint64x2_t __attribute__ ((__vector_size__ (16)));
数据类型格式:<类型><大小>x<向量线条数>x<数组长度>_t
例如
uint8x16_t 无符号的int8(8个bit,相当于一个字节),16向量线条数16,所以总的大小是 8 x 16 =128 bit,也就是16字节
uint8x16x2_t 无符号的int8(8个bit,相当于一个字节),16向量线条数16,数组长度2,所以总的大小是 8 x 16 x 2 =256bit,也就是32字节
typedef struct uint8x16x2_t { uint8x16_t val[2]; } uint8x16x2_t;
相关文章推荐
- hve 介绍2:数据类型与模型
- SQL Server数据库的数据类型详细介绍
- JVM中的数据类型、堆与栈介绍
- PostgreSQL 数据类型介绍(四)
- Redis的五种数据类型的简单介绍和使用
- 淘淘商城系列——Redis五种数据类型介绍
- 第三十一天 MySQL并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择
- mysql数据类型介绍(含text,longtext,mediumtext说明)
- as3数据类型检查写法(is/as/typeof/in/instanceof)用法介绍
- Kotlin入门篇(一),基本数据类型介绍、变量和常量的声明
- Python 数据分析之Pandas and Numpy (数据类型的介绍和数据处理的常用运算)
- 以太坊笔记 智能合约 Solidity 的常用数据类型介绍
- Redis五种数据类型介绍
- 数据类型/对象类型介绍(2)UINavigationController
- MySQL 中的数据类型介绍
- 数据传输对象(DTO)介绍及各类型实体比较
- PHP数据类型之布尔型的介绍
- 初学java--数据类型介绍
- PHP数据类型及简单介绍
- SQL Server 数据类型 Decimal介绍