Instruction Set 9-137
nmaclhw
Negative Multiply Accumulate Low Halfword to Word Modulo Signed
nmaclhw
Negative Multiply Accumulate Low Halfword to Word Modulo Signed
nprod
0:31
← –((RA)
16:31
x (RB)
16:31
) signed
temp
0:32
← nprod
0:31
+ (RT)
(RT)
← temp
1:32
The low-order halfword of RA is multiplied by the low-order halfword of RB. The negated signed
product is summed with the contents of RT and the sum is stored in a 33-bit temporary register. The
contents of RT are replaced by the low-order 32 bits of the temporary register.
Registers Altered
•RT
• CR[CR0]
LT, GT, EQ, SO
if Rc contains 1
• XER[SO, OV] if OE contains 1
Architecture Note
This instruction is part of the Multiply-Accumulate instruction set extensions and complies with the
architectural requirements for APUs of the IBM PowerPC Embedded Environment. As such, it is not
part of the PowerPC Architecture, nor is it part of the IBM PowerPC Embedded Environment.
Programs that use this instruction may not be portable to other implementations.
nmaclhw RT, RA, RB OE=0, Rc=0
nmaclhw. RT, RA, RB OE=0, Rc=1
nmaclhwo RT, RA, RB OE=1, Rc=0
nmachlwo. RT, RA, RB OE=1, Rc=1
4 RT RA RB OE 430 Rc
0 6 11 16 21 22 31