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

VADDL. , , Encoded as op = 0<br />

VADDW. {,} , Encoded as op = 1<br />

where:<br />

Instruction Details<br />

See St<strong>and</strong>ard assembler syntax fields on page A8-7. An <strong>ARM</strong> VADDL or VADDW instruction<br />

must be unconditional.<br />

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

S8 encoded as size = 0b00, U = 0<br />

S16 encoded as size = 0b01, U = 0<br />

S32 encoded as size = 0b10, U = 0<br />

U8 encoded as size = 0b00, U = 1<br />

U16 encoded as size = 0b01, U = 1<br />

U32 encoded as size = 0b10, U = 1.<br />

The destination register. If this register is omitted in a VADDW instruction, it is the same<br />

register as .<br />

, The first <strong>and</strong> second oper<strong>and</strong> registers for a VADDW instruction.<br />

, The first <strong>and</strong> second oper<strong>and</strong> registers for a VADDL instruction.<br />

Operation<br />

if ConditionPassed() then<br />

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

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

if is_vaddw then<br />

op1 = Int(Elem[Q[n>>1],e,2*esize], unsigned);<br />

else<br />

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

result = op1 + Int(Elem[D[m],e,esize],unsigned);<br />

Elem[Q[d>>1],e,2*esize] = result;<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-543

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

Saved successfully!

Ooh no, something went wrong!