28.2.49 __builtin_mulus

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.

For example:

 volatile register int16_t a asm("A");
 int32_t result;
 const int16_t p0, p1;
 const uint16_t p2, p3;

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

Prototype

int32_t __builtin_mulus(const uint16_t p0, const int16_t 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.us