28.2.39 __builtin_mulsu

Description

Computes the product p0 x p1. Function arguments are integers with mixed signs, and the function result is a signed long integer. The command-line option -Wconversions can be used to detect unexpected sign conversions. This function supports the full range of addressing modes of the instruction, including immediate mode for operand p1.

For example:

 volatile register int a asm("A");
 signed long result;
 const signed int p0, p1;
 const unsigned int p2, p3;
 result = __builtin_mulsu(p0,p2);
 a = __builtin_mulsu(p0,p2);

Prototype

signed long __builtin_mulsu(const signed int p0, const unsigned int p1);

Argument

p0 – multiplicand

p1 – multiplier

Return Value

Returns the signed long integer value of the product p0 x p1. The value can either be returned into a variable of type signed long or directly into an accumulator register.

Assembler Operator/ Machine Instruction

mul.su