RealView Compilation Tools Compiler Reference Guide - ARM ...
RealView Compilation Tools Compiler Reference Guide - ARM ...
RealView Compilation Tools Compiler Reference Guide - ARM ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Using NEON Support<br />
Vector multiply subtract with scalar<br />
int16x4_t vmls_lane_s16(int16x4_t a, int16x4_t b, int16x4_t v, __constrange(0,3) int l);<br />
// VMLS.I16 d0, d0, d0[0]<br />
int32x2_t vmls_lane_s32(int32x2_t a, int32x2_t b, int32x2_t v, __constrange(0,1) int l);<br />
// VMLS.I32 d0, d0, d0[0]<br />
uint16x4_t vmls_lane_u16(uint16x4_t a, uint16x4_t b, uint16x4_t v, __constrange(0,3) int l);<br />
// VMLS.I16 d0, d0, d0[0]<br />
uint32x2_t vmls_lane_u32(uint32x2_t a, uint32x2_t b, uint32x2_t v, __constrange(0,1) int l);<br />
// VMLS.I32 d0, d0, d0[0]<br />
float32x2_t vmls_lane_f32(float32x2_t a, float32x2_t b, float32x2_t v, __constrange(0,1) int l);<br />
// VMLS.F32 d0, d0, d0[0]<br />
int16x8_t vmlsq_lane_s16(int16x8_t a, int16x8_t b, int16x4_t v, __constrange(0,3) int l);<br />
// VMLS.I16 q0, q0, d0[0]<br />
int32x4_t vmlsq_lane_s32(int32x4_t a, int32x4_t b, int32x2_t v, __constrange(0,1) int l);<br />
// VMLS.I32 q0, q0, d0[0]<br />
uint16x8_t vmlsq_lane_u16(uint16x8_t a, uint16x8_t b, uint16x4_t v, __constrange(0,3) int l);<br />
// VMLS.I16 q0, q0, d0[0]<br />
uint32x4_t vmlsq_lane_u32(uint32x4_t a, uint32x4_t b, uint32x2_t v, __constrange(0,1) int l);<br />
// VMLS.I32 q0, q0, d0[0]<br />
float32x4_t vmlsq_lane_f32(float32x4_t a, float32x4_t b, float32x2_t v, __constrange(0,1) int l);<br />
// VMLS.F32 q0, q0, d0[0]<br />
Vector widening multiply subtract with scalar<br />
int32x4_t vmlsl_lane_s16(int32x4_t a, int16x4_t b, int16x4_t v, __constrange(0,3) int l);<br />
// VMLSL.S16 q0, d0, d0[0]<br />
int64x2_t vmlsl_lane_s32(int64x2_t a, int32x2_t b, int32x2_t v, __constrange(0,1) int l);<br />
// VMLSL.S32 q0, d0, d0[0]<br />
uint32x4_t vmlsl_lane_u16(uint32x4_t a, uint16x4_t b, uint16x4_t v, __constrange(0,3) int l);<br />
// VMLSL.U16 q0, d0, d0[0]<br />
uint64x2_t vmlsl_lane_u32(uint64x2_t a, uint32x2_t b, uint32x2_t v, __constrange(0,1) int l);<br />
// VMLSL.U32 q0, d0, d0[0]<br />
Vector widening saturating doubling multiply subtract with scalar<br />
int32x4_t<br />
int64x2_t<br />
vqdmlsl_lane_s16(int32x4_t a, int16x4_t b, int16x4_t v, __constrange(0,3) int l);<br />
// VQDMLSL.S16 q0, d0, d0[0]<br />
vqdmlsl_lane_s32(int64x2_t a, int32x2_t b, int32x2_t v, __constrange(0,1) int l);<br />
// VQDMLSL.S32 q0, d0, d0[0]<br />
Vector multiply by scalar<br />
int16x4_t vmul_n_s16(int16x4_t a, int16_t b); // VMUL.I16 d0,d0,d0[0]<br />
int32x2_t vmul_n_s32(int32x2_t a, int32_t b); // VMUL.I32 d0,d0,d0[0]<br />
float32x2_t vmul_n_f32(float32x2_t a, float32_t b); // VMUL.F32 d0,d0,d0[0]<br />
uint16x4_t vmul_n_u16(uint16x4_t a, uint16_t b); // VMUL.I16 d0,d0,d0[0]<br />
uint32x2_t vmul_n_u32(uint32x2_t a, uint32_t b); // VMUL.I32 d0,d0,d0[0]<br />
E-48 Copyright © 2007, 2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0348A<br />
Non-Confidential