29.12.2014 Views

RealView Compilation Tools Compiler Reference Guide - ARM ...

RealView Compilation Tools Compiler Reference Guide - ARM ...

RealView Compilation Tools Compiler Reference Guide - ARM ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Using NEON Support<br />

void vst3_lane_f32(__transfersize(3) float32_t * ptr, float32x2x3_t val, __constrange(0,1) int lane);<br />

// VST3.32 {d0[0], d1[0], d2[0]}, [r0]<br />

void vst3_lane_p8(__transfersize(3) poly8_t * ptr, poly8x8x3_t val, __constrange(0,7) int lane);<br />

// VST3.8 {d0[0], d1[0], d2[0]}, [r0]<br />

void vst3_lane_p16(__transfersize(3) poly16_t * ptr, poly16x4x3_t val, __constrange(0,3) int lane);<br />

// VST3.16 {d0[0], d1[0], d2[0]}, [r0]<br />

void vst4q_lane_u16(__transfersize(4) uint16_t * ptr, uint16x8x4_t val, __constrange(0,7) int lane);<br />

// VST4.16 {d0[0], d2[0], d4[0], d6[0]}, [r0]<br />

void vst4q_lane_u32(__transfersize(4) uint32_t * ptr, uint32x4x4_t val, __constrange(0,3) int lane);<br />

// VST4.32 {d0[0], d2[0], d4[0], d6[0]}, [r0]<br />

void vst4q_lane_s16(__transfersize(4) int16_t * ptr, int16x8x4_t val, __constrange(0,7) int lane);<br />

// VST4.16 {d0[0], d2[0], d4[0], d6[0]}, [r0]<br />

void vst4q_lane_s32(__transfersize(4) int32_t * ptr, int32x4x4_t val, __constrange(0,3) int lane);<br />

// VST4.32 {d0[0], d2[0], d4[0], d6[0]}, [r0]<br />

void vst4q_lane_f32(__transfersize(4) float32_t * ptr, float32x4x4_t val, __constrange(0,3) int lane);<br />

// VST4.32 {d0[0], d2[0], d4[0], d6[0]}, [r0]<br />

void vst4q_lane_p16(__transfersize(4) poly16_t * ptr, poly16x8x4_t val, __constrange(0,7) int lane);<br />

// VST4.16 {d0[0], d2[0], d4[0], d6[0]}, [r0]<br />

void vst4_lane_u8(__transfersize(4) uint8_t * ptr, uint8x8x4_t val, __constrange(0,7) int lane);<br />

// VST4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_u16(__transfersize(4) uint16_t * ptr, uint16x4x4_t val, __constrange(0,3) int lane);<br />

// VST4.16 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_u32(__transfersize(4) uint32_t * ptr, uint32x2x4_t val, __constrange(0,1) int lane);<br />

// VST4.32 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_s8(__transfersize(4) int8_t * ptr, int8x8x4_t val, __constrange(0,7) int lane);<br />

// VST4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_s16(__transfersize(4) int16_t * ptr, int16x4x4_t val, __constrange(0,3) int lane);<br />

// VST4.16 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_s32(__transfersize(4) int32_t * ptr, int32x2x4_t val, __constrange(0,1) int lane);<br />

// VST4.32 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_f32(__transfersize(4) float32_t * ptr, float32x2x4_t val, __constrange(0,1) int lane);<br />

// VST4.32 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_p8(__transfersize(4) poly8_t * ptr, poly8x8x4_t val, __constrange(0,7) int lane);<br />

// VST4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

void vst4_lane_p16(__transfersize(4) poly16_t * ptr, poly16x4x4_t val, __constrange(0,3) int lane);<br />

// VST4.16 {d0[0], d1[0], d2[0], d3[0]}, [r0]<br />

E.3.16<br />

Extract lanes from a vector<br />

These intrinsics extract a single lane (element) from a vector.<br />

uint8_t vget_lane_u8(uint8x8_t vec, __constrange(0,7) int lane); // VMOV.U8 r0, d0[0]<br />

uint16_t vget_lane_u16(uint16x4_t vec, __constrange(0,3) int lane); // VMOV.U16 r0, d0[0]<br />

uint32_t vget_lane_u32(uint32x2_t vec, __constrange(0,1) int lane); // VMOV.32 r0, d0[0]<br />

int8_t vget_lane_s8(int8x8_t vec, __constrange(0,7) int lane); // VMOV.S8 r0, d0[0]<br />

int16_t vget_lane_s16(int16x4_t vec, __constrange(0,3) int lane); // VMOV.S16 r0, d0[0]<br />

int32_t vget_lane_s32(int32x2_t vec, __constrange(0,1) int lane); // VMOV.32 r0, d0[0]<br />

poly8_t vget_lane_p8(poly8x8_t vec, __constrange(0,7) int lane); // VMOV.U8 r0, d0[0]<br />

poly16_t vget_lane_p16(poly16x4_t vec, __constrange(0,3) int lane); // VMOV.U16 r0, d0[0]<br />

E-40 Copyright © 2007, 2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0348A<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!