mad - Multiply and add

mad - Multiply and add

Calling Format

mad     dest, src0, src1, src2

Operands

Name Registers
dest An output register or temporary register.
src0 A temporary register or input register.
src1 A temporary register, input register, or floating-point constant register.
src2 A temporary register, input register, or floating-point constant register.

You cannot specify a floating-point constant register for both src1 and src2.
You cannot specify input registers with different indices for src0, src1, and src2 at the same time.

Overview

Adds src2 to the product of src0 and src1 and then stores the result in dest.

Operation

dest.x = src0.x * src1.x + src2.x
dest.y = src0.y * src1.y + src2.y
dest.z = src0.z * src1.z + src2.z
dest.w = src0.w * src1.w + src2.w

Code Example

mad     r0,     r1,     c1,     v2

Timetable

12345
mad read MUL ADD post write

Revision History

2011/12/20
Initial version.

CONFIDENTIAL