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 />

int16x8_t vmulq_n_s16(int16x8_t a, int16_t b); // VMUL.I16 q0,q0,d0[0]<br />

int32x4_t vmulq_n_s32(int32x4_t a, int32_t b); // VMUL.I32 q0,q0,d0[0]<br />

float32x4_t vmulq_n_f32(float32x4_t a, float32_t b); // VMUL.F32 q0,q0,d0[0]<br />

uint16x8_t vmulq_n_u16(uint16x8_t a, uint16_t b); // VMUL.I16 q0,q0,d0[0]<br />

uint32x4_t vmulq_n_u32(uint32x4_t a, uint32_t b); // VMUL.I32 q0,q0,d0[0]<br />

Vector long multiply with scalar<br />

int32x4_t vmull_n_s16(int16x4_t vec1, int16_t val2); // VMULL.S16 q0,d0,d0[0]<br />

int64x2_t vmull_n_s32(int32x2_t vec1, int32_t val2); // VMULL.S32 q0,d0,d0[0]<br />

uint32x4_t vmull_n_u16(uint16x4_t vec1, uint16_t val2); // VMULL.U16 q0,d0,d0[0]<br />

uint64x2_t vmull_n_u32(uint32x2_t vec1, uint32_t val2); // VMULL.U32 q0,d0,d0[0]<br />

Vector long multiply by scalar<br />

int32x4_t vmull_lane_s16(int16x4_t vec1, int16x4_t val2, __constrange(0, 3) int val3);<br />

// VMULL.S16 q0,d0,d0[0]<br />

int64x2_t vmull_lane_s32(int32x2_t vec1, int32x2_t val2, __constrange(0, 1) int val3);<br />

// VMULL.S32 q0,d0,d0[0]<br />

uint32x4_t vmull_lane_u16(uint16x4_t vec1, uint16x4_t val2, __constrange(0, 3) int val3);<br />

// VMULL.U16 q0,d0,d0[0]<br />

uint64x2_t vmull_lane_u32(uint32x2_t vec1, uint32x2_t val2, __constrange(0, 1) int val3);<br />

// VMULL.U32 q0,d0,d0[0]<br />

Vector saturating doubling long multiply with scalar<br />

int32x4_t vqdmull_n_s16(int16x4_t vec1, int16_t val2);<br />

int64x2_t vqdmull_n_s32(int32x2_t vec1, int32_t val2);<br />

// VQDMULL.S16 q0,d0,d0[0]<br />

// VQDMULL.S32 q0,d0,d0[0]<br />

Vector saturating doubling long multiply by scalar<br />

int32x4_t vqdmull_lane_s16(int16x4_t vec1, int16x4_t val2, __constrange(0, 3) int val3);<br />

// VQDMULL.S16 q0,d0,d0[0]<br />

int64x2_t vqdmull_lane_s32(int32x2_t vec1, int32x2_t val2, __constrange(0, 1) int val3);<br />

// VQDMULL.S32 q0,d0,d0[0]<br />

Vector saturating doubling multiply high with scalar<br />

int16x4_t vqdmulh_n_s16(int16x4_t vec1, int16_t val2);<br />

int32x2_t vqdmulh_n_s32(int32x2_t vec1, int32_t val2);<br />

int16x8_t vqdmulhq_n_s16(int16x8_t vec1, int16_t val2);<br />

int32x4_t vqdmulhq_n_s32(int32x4_t vec1, int32_t val2);<br />

// VQDMULH.S16 d0,d0,d0[0]<br />

// VQDMULH.S32 d0,d0,d0[0]<br />

// VQDMULH.S16 q0,q0,d0[0]<br />

// VQDMULH.S32 q0,q0,d0[0]<br />

Vector saturating doubling multiply high by scalar<br />

int16x4_t vqdmulh_lane_s16(int16x4_t vec1, int16x4_t val2, __constrange(0, 3) int val3);<br />

// VQDMULH.S16 d0,d0,d0[0]<br />

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

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!