28.2.48 __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 int16_t a asm("A");
 int32_t result;
 const int16_t p0, p1;
 const uint16_t p2, p3;

 result = __builtin_mulsu(p0,p2);
 a = __builtin_mulsu(p0,p2);

Prototype

int32_t __builtin_mulsu(const int16_t p0, const uint16_t int p1);

Arguments

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.

Machine Instruction

mul.su