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.

Instruction Details<br />

A8.6.366 VQSHL (register)<br />

Vector Saturating Shift Left (register) takes each element in a vector, shifts them by a value from the least<br />

significant byte of the corresponding element of a second vector, <strong>and</strong> places the results in the destination<br />

vector. If the shift value is positive, the operation is a left shift. Otherwise, it is a right shift.<br />

The results are truncated. For rounded results, see VQRSHL on page A8-714.<br />

The first oper<strong>and</strong> <strong>and</strong> result elements are the same data type, <strong>and</strong> can be any one of:<br />

8-bit, 16-bit, 32-bit, or 64-bit signed integers<br />

8-bit, 16-bit, 32-bit, or 64-bit unsigned integers.<br />

The second oper<strong>and</strong> is a signed integer of the same size.<br />

If any of the results overflow, they are saturated. The cumulative saturation flag, QC, is set if saturation<br />

occurs. For details see Pseudocode details of saturation on page A2-9.<br />

Encoding T1 / A1 Advanced SIMD<br />

VQSHL. ,,<br />

VQSHL. ,,<br />

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

1 1 1 U 1 1 1 1 0 D size Vn Vd 0 1 0 0 N Q M 1 Vm<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

1 1 1 1 0 0 1 U 0 D size Vn Vd 0 1 0 0 N Q M 1 Vm<br />

if Q == ‘1’ && (Vd == ‘1’ || Vm == ‘1’ || Vn == ‘1’) then UNDEFINED;<br />

unsigned = (U == ‘1’);<br />

esize = 8

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

Saved successfully!

Ooh no, something went wrong!