05.02.2013 Views

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Assembler syntax<br />

VQDMULL. , , <br />

VQDMULL. , , <br />

where:<br />

Instruction Details<br />

See St<strong>and</strong>ard assembler syntax fields on page A8-7. An <strong>ARM</strong> VQDMULL instruction must be<br />

unconditional.<br />

The data type for the elements of the oper<strong>and</strong>s. It must be one of:<br />

S16 encoded as size = 0b01<br />

S32 encoded as size = 0b10.<br />

, The destination vector <strong>and</strong> the first oper<strong>and</strong> vector.<br />

The second oper<strong>and</strong> vector, for an all vector operation.<br />

The scalar for a scalar operation. If is S16, Dm is restricted to D0-D7. If is S32, Dm is<br />

restricted to D0-D15.<br />

Operation<br />

if ConditionPassed() then<br />

EncodingSpecificOperations(); CheckAdvSIMDEnabled();<br />

if scalar_form then op2 = SInt(Elem[D[m],index,esize]);<br />

for e = 0 to elements-1<br />

if !scalar_form then op2 = SInt(Elem[D[m],e,esize]);<br />

op1 = SInt(Elem[D[n],e,esize]);<br />

// The following only saturates if both op1 <strong>and</strong> op2 equal -(2^(esize-1))<br />

(product, sat) = SignedSatQ(2*op1*op2, 2*esize);<br />

Elem[Q[d>>1],e,2*esize] = product;<br />

if sat then FPSCR.QC = ‘1’;<br />

Exceptions<br />

Undefined Instruction.<br />

<strong>ARM</strong> DDI 0406B Copyright © 1996-1998, 2000, 2004-2008 <strong>ARM</strong> Limited. All rights reserved. A8-707

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

Saved successfully!

Ooh no, something went wrong!