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

Create successful ePaper yourself

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

Assembler syntax<br />

VREV. , Encoded as Q = 1<br />

VREV. , Encoded as Q = 0<br />

where:<br />

Instruction Details<br />

The size of the regions in which the vector elements are reversed. It must be one of:<br />

16 encoded as op = 0b10<br />

32 encoded as op = 0b01<br />

64 encoded as op = 0b00.<br />

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

unconditional.<br />

The size of the vector elements. It must be one of:<br />

8 encoded as size = 0b00<br />

16 encoded as size = 0b01<br />

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

must specify a smaller size than .<br />

, The destination vector <strong>and</strong> the oper<strong>and</strong> vector, for a quadword operation.<br />

, The destination vector <strong>and</strong> the oper<strong>and</strong> vector, for a doubleword operation.<br />

If op + size >= 3, the instruction is reserved.<br />

Operation<br />

if ConditionPassed() then<br />

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

bits(64) dest;<br />

for r = 0 to regs-1<br />

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

// Calculate destination element index by bitwise EOR on source element index:<br />

e_bits = e; d_bits = e_bits EOR reverse_mask; d = UInt(d_bits);<br />

Elem[dest,d,esize] = Elem[D[m+r],e,esize];<br />

D[d+r] = dest;<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-733

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

Saved successfully!

Ooh no, something went wrong!