E.3.7. 按对加

以下内在函数提供按对加运算。

按对加


int8x8_t    vpadd_s8(int8x8_t a, int8x8_t b);        // VPADD.I8 d0,d0,d0 

int16x4_t   vpadd_s16(int16x4_t a, int16x4_t b);     // VPADD.I16 d0,d0,d0

int32x2_t   vpadd_s32(int32x2_t a, int32x2_t b);     // VPADD.I32 d0,d0,d0

uint8x8_t   vpadd_u8(uint8x8_t a, uint8x8_t b);      // VPADD.I8 d0,d0,d0 

uint16x4_t  vpadd_u16(uint16x4_t a, uint16x4_t b);   // VPADD.I16 d0,d0,d0

uint32x2_t  vpadd_u32(uint32x2_t a, uint32x2_t b);   // VPADD.I32 d0,d0,d0

float32x2_t vpadd_f32(float32x2_t a, float32x2_t b); // VPADD.F32 d0,d0,d0

长型按对加


int16x4_t  vpaddl_s8(int8x8_t a);      // VPADDL.S8 d0,d0 

int32x2_t  vpaddl_s16(int16x4_t a);    // VPADDL.S16 d0,d0

int64x1_t  vpaddl_s32(int32x2_t a);    // VPADDL.S32 d0,d0

uint16x4_t vpaddl_u8(uint8x8_t a);     // VPADDL.U8 d0,d0 

uint32x2_t vpaddl_u16(uint16x4_t a);   // VPADDL.U16 d0,d0

uint64x1_t vpaddl_u32(uint32x2_t a);   // VPADDL.U32 d0,d0

int16x8_t  vpaddlq_s8(int8x16_t a);    // VPADDL.S8 q0,q0 

int32x4_t  vpaddlq_s16(int16x8_t a);   // VPADDL.S16 q0,q0

int64x2_t  vpaddlq_s32(int32x4_t a);   // VPADDL.S32 q0,q0

uint16x8_t vpaddlq_u8(uint8x16_t a);   // VPADDL.U8 q0,q0 

uint32x4_t vpaddlq_u16(uint16x8_t a);  // VPADDL.U16 q0,q0

uint64x2_t vpaddlq_u32(uint32x4_t a);  // VPADDL.U32 q0,q0

长型按对加并累加


int16x4_t  vpadal_s8(int16x4_t a, int8x8_t b);      // VPADAL.S8 d0,d0 

int32x2_t  vpadal_s16(int32x2_t a, int16x4_t b);    // VPADAL.S16 d0,d0

int64x1_t  vpadal_s32(int64x1_t a, int32x2_t b);    // VPADAL.S32 d0,d0

uint16x4_t vpadal_u8(uint16x4_t a, uint8x8_t b);    // VPADAL.U8 d0,d0 

uint32x2_t vpadal_u16(uint32x2_t a, uint16x4_t b);  // VPADAL.U16 d0,d0

uint64x1_t vpadal_u32(uint64x1_t a, uint32x2_t b);  // VPADAL.U32 d0,d0

int16x8_t  vpadalq_s8(int16x8_t a, int8x16_t b);    // VPADAL.S8 q0,q0 

int32x4_t  vpadalq_s16(int32x4_t a, int16x8_t b);   // VPADAL.S16 q0,q0

int64x2_t  vpadalq_s32(int64x2_t a, int32x4_t b);   // VPADAL.S32 q0,q0

uint16x8_t vpadalq_u8(uint16x8_t a, uint8x16_t b);  // VPADAL.U8 q0,q0 

uint32x4_t vpadalq_u16(uint32x4_t a, uint16x8_t b); // VPADAL.U16 q0,q0

uint64x2_t vpadalq_u32(uint64x2_t a, uint32x4_t b); // VPADAL.U32 q0,q0

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential