MULL — Multiply Low

Instruction Word

Slot
Inst
6
3
6
2
6
1
6
0
5
9
5
8
5
7
5
6
5
5
5
4
5
3
5
2
5
1
5
0
4
9
4
8
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9876543210
Format x24 - 24 bit(s) 0
MULL 10000010 0000
r 3210
s 3210
t 3210

Assembler Syntax

MULL ar, as, at

C Syntax

#include <xtensa/tie/xt_mul.h>

extern int XT_MULL(int s, int t);

Description

(please consult the Xtensa ® Instruction Set Architecture Reference Manual for any cross references and additional information)

MULL performs a 32-bit multiplication of the contents of address registers as and at, and writes the least significant 32 bits of the product to address register ar. Because the least significant product bits are unaffected by the multiplicand and multiplier sign, MULL is useful for both signed and unsigned multiplication.

Operation

AR[r] ← AR[s] \* AR[t]

Exceptions

EveryInstR Group (see EveryInstR Group:)

Protos that use MULL

proto MULL { out int32 r, in int32 s, in int32 t }{}{
MULL r, s, t;
}