28.2.69 __builtin_sftac

Description

Shifts accumulator by shift. The valid shift range is -32 to 32.

For example:

 volatile register int32_t result asm(“A”);
 int32_t i;

 result = __builtin_sftac(result,i);

Might generate:

 sftac A, w0

Prototype

int32_t __builtin_sftac(int32_t Accum, int32_t shift);

Arguments

Accum – Accumulator to shift.

shift – Amount to shift.

Return Value

Returns the shifted result to an accumulator.

Machine Instruction

sftac

Error Messages

An error message will be displayed if:
  • the result is not an accumulator register
  • Accum is not an accumulator register
  • the shift value is not a literal within range