#include <stdio.h>
#include <stdint.h>
typedef int8x8_t __attribute__ ((__vector_size__ (8)));
typedef int8x8_t __attribute__ ((__vector_size__ (8)));
typedef int16x4_t __attribute__ ((__vector_size__ (8)));
typedef int32x2_t __attribute__ ((__vector_size__ (8)));
typedef float32x2_t __attribute__ ((__vector_size__ (8)));
typedef poly8x8_t __attribute__ ((__vector_size__ (8)));
typedef poly16x4_t __attribute__ ((__vector_size__ (8)));
typedef uint8x8_t __attribute__ ((__vector_size__ (8)));
typedef uint16x4_t __attribute__ ((__vector_size__ (8)));
typedef uint32x2_t __attribute__ ((__vector_size__ (8)));
typedef int8x16_t __attribute__ ((__vector_size__ (16)));
typedef int16x8_t __attribute__ ((__vector_size__ (16)));
typedef int32x4_t __attribute__ ((__vector_size__ (16)));
typedef int64x2_t __attribute__ ((__vector_size__ (16)));
typedef float32x4_t __attribute__ ((__vector_size__ (16)));
typedef poly8x16_t __attribute__ ((__vector_size__ (16)));
typedef poly16x8_t __attribute__ ((__vector_size__ (16)));
typedef uint8x16_t __attribute__ ((__vector_size__ (16)));
typedef uint16x8_t __attribute__ ((__vector_size__ (16)));
typedef uint32x4_t __attribute__ ((__vector_size__ (16)));
typedef uint64x2_t __attribute__ ((__vector_size__ (16)));
typedef int64x1_t;
typedef uint64x1_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 float32x2x2_t
{
float32x2_t val[2];
} float32x2x2_t;
typedef struct float32x4x2_t
{
float32x4_t val[2];
} float32x4x2_t;
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 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 float32x2x3_t
{
float32x2_t val[3];
} float32x2x3_t;
typedef struct float32x4x3_t
{
float32x4_t val[3];
} float32x4x3_t;
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 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[4];
} int32x4x4_t;
typedef struct int64x1x4_t
{
int64x1_t val[4];
} int64x1x4_t;
typedef struct int64x2x4_t
{
int64x2_t val[4];
} int64x2x4_t;
typedef struct uint8x8x4_t
{
uint8x8_t val[4];
} uint8x8x4_t;
typedef struct uint8x16x4_t
{
uint8x16_t val[4];
} uint8x16x4_t;
typedef struct uint16x4x4_t
{
uint16x4_t val[4];
} uint16x4x4_t;
typedef struct uint16x8x4_t
{
uint16x8_t val[4];
} uint16x8x4_t;
typedef struct uint32x2x4_t
{
uint32x2_t val[4];
} uint32x2x4_t;
typedef struct uint32x4x4_t
{
uint32x4_t val[4];
} uint32x4x4_t;
typedef struct uint64x1x4_t
{
uint64x1_t val[4];
} uint64x1x4_t;
typedef struct uint64x2x4_t
{
uint64x2_t val[4];
} uint64x2x4_t;
typedef struct float32x2x4_t
{
float32x2_t val[4];
} float32x2x4_t;
typedef struct float32x4x4_t
{
float32x4_t val[4];
} float32x4x4_t;
typedef struct poly8x8x4_t
{
poly8x8_t val[4];
} poly8x8x4_t;
typedef struct poly8x16x4_t
{
poly8x16_t val[4];
} poly8x16x4_t;
typedef struct poly16x4x4_t
{
poly16x4_t val[4];
} poly16x4x4_t;
typedef struct poly16x8x4_t
{
poly16x8_t val[4];
} poly16x8x4_t;
int main()
{
printf("sizeof int8x8_t is %d\n",sizeof(int8x8_t));
printf("sizeof int16x4_t is %d\n",sizeof(int16x4_t));
printf("sizeof int32x2_t is %d\n",sizeof(int32x2_t));
printf("sizeof float32x2_t is %d\n",sizeof(float32x2_t));
printf("sizeof poly8x8_t is %d\n",sizeof(poly8x8_t));
printf("sizeof poly16x4_t is %d\n",sizeof(poly16x4_t));
printf("sizeof uint8x8_t is %d\n",sizeof(uint8x8_t));
printf("sizeof uint16x4_t is %d\n",sizeof(uint16x4_t));
printf("sizeof uint32x2_t is %d\n",sizeof(uint32x2_t));
printf("sizeof int8x16_t is %d\n",sizeof(int8x16_t));
printf("sizeof int16x8_t is %d\n",sizeof(int16x8_t));
printf("sizeof int32x4_t is %d\n",sizeof(int32x4_t));
printf("sizeof int64x2_t is %d\n",sizeof(int64x2_t));
printf("sizeof float32x4_t is %d\n",sizeof(float32x4_t));
printf("sizeof poly8x16_t is %d\n",sizeof(poly8x16_t));
printf("sizeof poly16x8_t is %d\n",sizeof(poly16x8_t));
printf("sizeof uint8x16_t is %d\n",sizeof(uint8x16_t));
printf("sizeof uint16x8_t is %d\n",sizeof(uint16x8_t));
printf("sizeof uint32x4_t is %d\n",sizeof(uint32x4_t));
printf("sizeof uint64x2_t is %d\n",sizeof(uint64x2_t));
printf("sizeof uint8x8x3_t is %d\n",sizeof(uint8x8x3_t));
printf("sizeof uint16x8x2_t is %d\n",sizeof(uint16x8x2_t));
return 0;
}
/*
打印如下:
sizeof int8x8_t is 8
sizeof int16x4_t is 8
sizeof int32x2_t is 8
sizeof float32x2_t is 8
sizeof poly8x8_t is 8
sizeof poly16x4_t is 8
sizeof uint8x8_t is 8
sizeof uint16x4_t is 8
sizeof uint32x2_t is 8
sizeof int8x16_t is 16
sizeof int16x8_t is 16
sizeof int32x4_t is 16
sizeof int64x2_t is 16
sizeof float32x4_t is 16
sizeof poly8x16_t is 16
sizeof poly16x8_t is 16
sizeof uint8x16_t is 16
sizeof uint16x8_t is 16
sizeof uint32x4_t is 16
sizeof uint64x2_t is 16
说明:
举例:int32x2_t:
int32表示 矢量中的数据类型,x2表示这个矢量是两个元素,这样sizeof(int32x2_t)的占用字节数 8个
uint16x8x2_t:
uint16表示矢量中的数据类型, x8表示矢量中的元素个数,x2表示 uint16x8_t这样的矢量类型有两个,这是个矢量数组。
*/
#include <stdint.h>
typedef int8x8_t __attribute__ ((__vector_size__ (8)));
typedef int8x8_t __attribute__ ((__vector_size__ (8)));
typedef int16x4_t __attribute__ ((__vector_size__ (8)));
typedef int32x2_t __attribute__ ((__vector_size__ (8)));
typedef float32x2_t __attribute__ ((__vector_size__ (8)));
typedef poly8x8_t __attribute__ ((__vector_size__ (8)));
typedef poly16x4_t __attribute__ ((__vector_size__ (8)));
typedef uint8x8_t __attribute__ ((__vector_size__ (8)));
typedef uint16x4_t __attribute__ ((__vector_size__ (8)));
typedef uint32x2_t __attribute__ ((__vector_size__ (8)));
typedef int8x16_t __attribute__ ((__vector_size__ (16)));
typedef int16x8_t __attribute__ ((__vector_size__ (16)));
typedef int32x4_t __attribute__ ((__vector_size__ (16)));
typedef int64x2_t __attribute__ ((__vector_size__ (16)));
typedef float32x4_t __attribute__ ((__vector_size__ (16)));
typedef poly8x16_t __attribute__ ((__vector_size__ (16)));
typedef poly16x8_t __attribute__ ((__vector_size__ (16)));
typedef uint8x16_t __attribute__ ((__vector_size__ (16)));
typedef uint16x8_t __attribute__ ((__vector_size__ (16)));
typedef uint32x4_t __attribute__ ((__vector_size__ (16)));
typedef uint64x2_t __attribute__ ((__vector_size__ (16)));
typedef int64x1_t;
typedef uint64x1_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 float32x2x2_t
{
float32x2_t val[2];
} float32x2x2_t;
typedef struct float32x4x2_t
{
float32x4_t val[2];
} float32x4x2_t;
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 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 float32x2x3_t
{
float32x2_t val[3];
} float32x2x3_t;
typedef struct float32x4x3_t
{
float32x4_t val[3];
} float32x4x3_t;
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 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[4];
} int32x4x4_t;
typedef struct int64x1x4_t
{
int64x1_t val[4];
} int64x1x4_t;
typedef struct int64x2x4_t
{
int64x2_t val[4];
} int64x2x4_t;
typedef struct uint8x8x4_t
{
uint8x8_t val[4];
} uint8x8x4_t;
typedef struct uint8x16x4_t
{
uint8x16_t val[4];
} uint8x16x4_t;
typedef struct uint16x4x4_t
{
uint16x4_t val[4];
} uint16x4x4_t;
typedef struct uint16x8x4_t
{
uint16x8_t val[4];
} uint16x8x4_t;
typedef struct uint32x2x4_t
{
uint32x2_t val[4];
} uint32x2x4_t;
typedef struct uint32x4x4_t
{
uint32x4_t val[4];
} uint32x4x4_t;
typedef struct uint64x1x4_t
{
uint64x1_t val[4];
} uint64x1x4_t;
typedef struct uint64x2x4_t
{
uint64x2_t val[4];
} uint64x2x4_t;
typedef struct float32x2x4_t
{
float32x2_t val[4];
} float32x2x4_t;
typedef struct float32x4x4_t
{
float32x4_t val[4];
} float32x4x4_t;
typedef struct poly8x8x4_t
{
poly8x8_t val[4];
} poly8x8x4_t;
typedef struct poly8x16x4_t
{
poly8x16_t val[4];
} poly8x16x4_t;
typedef struct poly16x4x4_t
{
poly16x4_t val[4];
} poly16x4x4_t;
typedef struct poly16x8x4_t
{
poly16x8_t val[4];
} poly16x8x4_t;
int main()
{
printf("sizeof int8x8_t is %d\n",sizeof(int8x8_t));
printf("sizeof int16x4_t is %d\n",sizeof(int16x4_t));
printf("sizeof int32x2_t is %d\n",sizeof(int32x2_t));
printf("sizeof float32x2_t is %d\n",sizeof(float32x2_t));
printf("sizeof poly8x8_t is %d\n",sizeof(poly8x8_t));
printf("sizeof poly16x4_t is %d\n",sizeof(poly16x4_t));
printf("sizeof uint8x8_t is %d\n",sizeof(uint8x8_t));
printf("sizeof uint16x4_t is %d\n",sizeof(uint16x4_t));
printf("sizeof uint32x2_t is %d\n",sizeof(uint32x2_t));
printf("sizeof int8x16_t is %d\n",sizeof(int8x16_t));
printf("sizeof int16x8_t is %d\n",sizeof(int16x8_t));
printf("sizeof int32x4_t is %d\n",sizeof(int32x4_t));
printf("sizeof int64x2_t is %d\n",sizeof(int64x2_t));
printf("sizeof float32x4_t is %d\n",sizeof(float32x4_t));
printf("sizeof poly8x16_t is %d\n",sizeof(poly8x16_t));
printf("sizeof poly16x8_t is %d\n",sizeof(poly16x8_t));
printf("sizeof uint8x16_t is %d\n",sizeof(uint8x16_t));
printf("sizeof uint16x8_t is %d\n",sizeof(uint16x8_t));
printf("sizeof uint32x4_t is %d\n",sizeof(uint32x4_t));
printf("sizeof uint64x2_t is %d\n",sizeof(uint64x2_t));
printf("sizeof uint8x8x3_t is %d\n",sizeof(uint8x8x3_t));
printf("sizeof uint16x8x2_t is %d\n",sizeof(uint16x8x2_t));
return 0;
}
/*
打印如下:
sizeof int8x8_t is 8
sizeof int16x4_t is 8
sizeof int32x2_t is 8
sizeof float32x2_t is 8
sizeof poly8x8_t is 8
sizeof poly16x4_t is 8
sizeof uint8x8_t is 8
sizeof uint16x4_t is 8
sizeof uint32x2_t is 8
sizeof int8x16_t is 16
sizeof int16x8_t is 16
sizeof int32x4_t is 16
sizeof int64x2_t is 16
sizeof float32x4_t is 16
sizeof poly8x16_t is 16
sizeof poly16x8_t is 16
sizeof uint8x16_t is 16
sizeof uint16x8_t is 16
sizeof uint32x4_t is 16
sizeof uint64x2_t is 16
说明:
举例:int32x2_t:
int32表示 矢量中的数据类型,x2表示这个矢量是两个元素,这样sizeof(int32x2_t)的占用字节数 8个
uint16x8x2_t:
uint16表示矢量中的数据类型, x8表示矢量中的元素个数,x2表示 uint16x8_t这样的矢量类型有两个,这是个矢量数组。
*/