Instructions
www.ti.com
MACF32 R7H, R3H, mem32, *XAR7++
32-bit Floating-Point Multiply and Accumulate
Operands
R7H
floating-point destination register
R3H
floating-point destination register
mem32
pointer to a 32-bit source location
*XAR7
32-bit location pointed to by auxiliary register 7
Opcode
LSW: 1110 0010
0101 0000
MSW: 00bb baaa
mem32
Description
Perform an multiply and accumulate operation. When used as a stand-alone operation,
the MACF32 will perform a single multiply as shown below:
Cycle 1: R3H = R3H + R2H, R2H = [mem32] * [XAR7++]
This instruction is the only floating-point instruction that can be repeated using the single
repeat instruction (RPT ||). When repeated, the destination of the accumulate will
alternate between R3H and R7H on each cycle and R2H and R6H are used as
temporary storage for each multiply.
Cycle 1: R3H = R3H + R2H, R2H = [mem32] * [XAR7++]
Cycle 2: R7H = R7H + R6H, R6H = [mem32] * [XAR7++]
Cycle 3: R3H = R3H + R2H, R2H = [mem32] * [XAR7++]
Cycle 4: R7H = R7H + R6H, R6H = [mem32] * [XAR7++]
etc...
Restrictions
R2H and R6H will be used as temporary storage by this instruction.
Flags
This instruction modifies the following flags in the STF register:
Flag
TF
ZI
NI
ZF
NF
LUF
LVF
Modified
No
No
No
No
No
Yes
Yes
The STF register flags are modified as follows:
•
LUF = 1 if MACF32 generates an underflow condition.
•
LVF = 1 if MACF32 generates an overflow condition.
Pipeline
When repeated the MACF32 takes 3 + N cycles where N is the number of times the
instruction is repeated. When repeated, this instruction has the following pipeline
restrictions:
<instruction1>
; No restriction
<instruction2>
; Cannot be a 2p instruction that writes
; to R2H, R3H, R6H or R7H
RPT #(N-1)
; Execute N times, where N is even
|| MACF32 R7H, R3H, *XAR6++, *XAR7++
<instruction3>
; No restrictions.
; Can read R2H, R3H, R6H and R7H
Instruction Set
66
SPRUEO2A – June 2007 – Revised August 2008
Summary of Contents for TMS320C28 series
Page 2: ...2 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Page 12: ...Introduction 12 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Page 20: ...CPU Register Set 20 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...
Page 136: ...Instruction Set 136 SPRUEO2A June 2007 Revised August 2008 Submit Documentation Feedback ...