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.

<strong>ARM</strong> Instruction Set Encoding<br />

A5.2.6 Saturating addition <strong>and</strong> subtraction<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 />

cond 0 0 0 1 0 op 0 0 1 0 1<br />

Table A5-8 shows the allocation of encodings in this space. These encodings are all available in <strong>ARM</strong>v5TE<br />

<strong>and</strong> above, <strong>and</strong> are UNDEFINED in earlier variants of the architecture.<br />

A5.2.7 Halfword multiply <strong>and</strong> multiply-accumulate<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 />

cond 0 0 0 1 0 op1 0 1 op 0<br />

Table A5-9 shows the allocation of encodings in this space.<br />

Table A5-8 Saturating addition <strong>and</strong> subtraction instructions<br />

op Instruction See<br />

00 Saturating Add QADD on page A8-250<br />

01 Saturating Subtract QSUB on page A8-264<br />

10 Saturating Double <strong>and</strong> Add QDADD on page A8-258<br />

11 Saturating Double <strong>and</strong> Subtract QDSUB on page A8-260<br />

These encodings are signed multiply (SMUL) <strong>and</strong> signed multiply-accumulate (SMLA) instructions, operating<br />

on 16-bit values, or mixed 16-bit <strong>and</strong> 32-bit values. The results <strong>and</strong> accumulators are 32-bit or 64-bit.<br />

These encodings are all available in <strong>ARM</strong>v5TE <strong>and</strong> above, <strong>and</strong> are UNDEFINED in earlier variants of the<br />

architecture.<br />

op1 op Instruction See<br />

Table A5-9 Halfword multiply <strong>and</strong> multiply-accumulate instructions<br />

00 - Signed 16-bit multiply, 32-bit accumulate SMLABB, SMLABT, SMLATB, SMLATT on<br />

page A8-330<br />

01 0 Signed 16-bit x 32-bit multiply, 32-bit accumulate SMLAWB, SMLAWT on page A8-340<br />

01 1 Signed 16-bit x 32-bit multiply, 32-bit result SMULWB, SMULWT on page A8-358<br />

10 - Signed 16-bit multiply, 64-bit accumulate SMLALBB, SMLALBT, SMLALTB, SMLALTT<br />

on page A8-336<br />

11 - Signed 16-bit multiply, 32-bit result SMULBB, SMULBT, SMULTB, SMULTT on<br />

page A8-354<br />

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

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

Saved successfully!

Ooh no, something went wrong!