E.3.21. 拆分向量

以下内在函数将一个 128 位向量拆分为 2 个 64 位向量。


int8x8_t    vget_high_s8(int8x16_t a);     // VMOV d0,d0

int16x4_t   vget_high_s16(int16x8_t a);    // VMOV d0,d0

int32x2_t   vget_high_s32(int32x4_t a);    // VMOV d0,d0

int64x1_t   vget_high_s64(int64x2_t a);    // VMOV d0,d0

float32x2_t vget_high_f32(float32x4_t a);  // VMOV d0,d0

uint8x8_t   vget_high_u8(uint8x16_t a);    // VMOV d0,d0

uint16x4_t  vget_high_u16(uint16x8_t a);   // VMOV d0,d0

uint32x2_t  vget_high_u32(uint32x4_t a);   // VMOV d0,d0

uint64x1_t  vget_high_u64(uint64x2_t a);   // VMOV d0,d0

poly8x8_t   vget_high_p8(poly8x16_t a);    // VMOV d0,d0

poly16x4_t  vget_high_p16(poly16x8_t a);   // VMOV d0,d0

int8x8_t    vget_low_s8(int8x16_t a);      // VMOV d0,d0

int16x4_t   vget_low_s16(int16x8_t a);     // VMOV d0,d0

int32x2_t   vget_low_s32(int32x4_t a);     // VMOV d0,d0

int64x1_t   vget_low_s64(int64x2_t a);     // VMOV d0,d0

float32x2_t vget_low_f32(float32x4_t a);   // VMOV d0,d0

uint8x8_t   vget_low_u8(uint8x16_t a);     // VMOV d0,d0

uint16x4_t  vget_low_u16(uint16x8_t a);    // VMOV d0,d0

uint32x2_t  vget_low_u32(uint32x4_t a);    // VMOV d0,d0

uint64x1_t  vget_low_u64(uint64x2_t a);    // VMOV d0,d0

poly8x8_t   vget_low_p8(poly8x16_t a);     // VMOV d0,d0

poly16x4_t  vget_low_p16(poly16x8_t a);    // VMOV d0,d0

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