6.6. Multiply and multiply accumulate

The multiply instructions use special hardware that implements integer multiplication with early termination. All cycles except the first are internal

The cycle timings are listed in the following tables:

In Table 6.5 to Table 6.8:

Table 6.5. Multiply instruction cycle operations

CycleAddressnRWMAS[1:0]DatanMREQSEQnOPC

1

pc+2L

0

i

(pc+2L)

1

0

0

2

pc+3L

0

i

-

1

0

1

pc+3L

0

i

-

1

0

1

m

pc+3L

0

i

-

1

0

1

m+1

pc+3L

0

i

-

0

1

1

pc+3L

Table 6.6. Multiply accumulate instruction cycle operations

CycleAddressnRWMAS[1:0]DatanMREQSEQnOPC

1

pc+8

0

2

(pc+8)

1

0

0

2

pc+8

0

2

-

1

0

1

pc+12

0

2

-

1

0

1

m

pc+12

0

2

-

1

0

1

m+1

pc+12

0

2

-

1

0

1

m+2

pc+12

0

2

-

0

1

1

pc+12

Table 6.7. Multiply long instruction cycle operations

CycleAddressnRWMAS[1:0]DatanMREQSEQnOPC

1

pc+8

0

i

(pc+8)

1

0

0

2

pc+12

0

i

-

1

0

1

pc+12

0

i

-

1

0

1

m

pc+12

0

i

-

1

0

1

m+1

pc+12

0

i

-

1

0

1

m+2

pc+12

0

i

-

0

1

1

pc+12

Table 6.8. Multiply accumulate long instruction cycle operations

CycleAddressnRWMAS[1:0]DatanMREQSEQnOPC

1

pc+8

0

2

(pc+8)

1

0

0

2

pc+8

0

2

-

1

0

1

pc+12

0

2

-

1

0

1

m

pc+12

0

2

-

1

0

1

m+1

pc+12

0

2

-

1

0

1

m+2

pc+12

0

2

-

1

0

1

m+3

pc+12

0

2

-

0

1

1

pc+12

Note

The multiply accumulate, multiply long, and multiply accumulate long operations are not available in Thumb state.

Copyright © 1994-2001. All rights reserved.ARM DDI 0029G
Non-Confidential