28.2.20 __builtin_edac
Description
Squares sqr and sums with the nominated accumulator register, returning
it as the result. Also prefetches data for future square operation by computing
**xptr - **yptr and storing the result in
*distance.
xincr and yincr may be the literal values: -6, -4, -2,
0, 2, 4, 6 or an integer value.
For example:
volatile register int result asm("A");
int *xmemory, *ymemory;
int distance;
result = __builtin_ed(result, distance,
&xmemory, 2,
&ymemory, 2,
&distance);
might generate:
edac w4*w4, A, [w8]+=2, [W10]+=2, w4
Prototype
int __builtin_edac(int Accum, int sqr,
int **xptr, int xincr, int **yptr, int yincr,
int *distance);
Argument
Accum – Accumulator to sum.
sqr – Integer squared value.
xptr – Integer pointer to pointer to x prefetch.
xincr – Integer increment value of x prefetch.
yptr – Integer pointer to pointer to y prefetch.
yincr – Integer increment value of y prefetch.
distance – Integer pointer to distance.
Return Value
Returns the squared result to specified accumulator.
Assembler Operator/ Machine Instruction
edac
Error Messages
- the result is not an accumulator register
Accumis not an accumulator registerxptris nullyptris nulldistanceis null
