28.2.56 __builtin_sftac

Description

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

For example:

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

 result = __builtin_sftac(result,i);

Might generate:

sftac A, w0

Prototype

int __builtin_sftac(int Accum, int shift);

Argument

Accum – Accumulator to shift.

shift – Amount to shift.

Return Value

Returns the shifted result to an accumulator.

Assembler Operator/ 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