TriCore
®
TC1.6P & TC1.6E
32-bit Unified Processor Core
Instruction Set
V1.0 2013-07
User Manual (Volume 2) 3-183
MADD
Multiply-Add
MADDS
Multiply-Add, Saturated
Description
Multiply two signed 32-bit integers, add the product to a signed 32-bit or 64-bit integer and put the result into a 32-
bit or 64-bit register. The value const9 is sign-extended before the multiplication is performed. The MADDS result
is saturated on overflow.
MADDD[c], D[d], D[a], const9 (RCR)
32 + (32 * K9)--> 32 signed
result = D[d] + (D[a] * sign_ext(const9));
D[c] = result[31:0];
MADDE[c], E[d], D[a], const9 (RCR)
64 + (32 * K9)--> 64 signed
result = E[d] + (D[a] * sign_ext(const9));
E[c] = result[63:0];
MADDD[c], D[d], D[a], D[b] (RRR2)
32 + (32 * 32)--> 32 signed
result = D[d] + (D[a] * D[b]);
D[c] = result[31:0];
MADDE[c], E[d], D[a], D[b] (RRR2)
64 + (32 * 32)--> 64 signed
result = E[d] + (D[a] * D[b]);
E[c] = result[63:0];
MADDSD[c], D[d], D[a], const9 (RCR)
32 + (32 * K9)--> 32 signed saturated
31
c
28 27
d
24 23
01
H
21 20
const9
12 11
a
8 7
13
H
0
31
c
28 27
d
24 23
03
H
21 20
const9
12 11
a
8 7
13
H
0
31
c
28 27
d
24 23
0A
H
16 15
b
12 11
a
8 7
03
H
0
31
c
28 27
d
24 23
6A
H
16 15
b
12 11
a
8 7
03
H
0