[PATCH, aarch64] Add prefetch support
Richard Henderson
rth@redhat.com
Mon Nov 17 13:31:00 GMT 2014
On 11/14/2014 09:11 PM, Gopalasubramanian, Ganesh wrote:
> + const char * pftype[2][10]
> + = { {"PLDL1STRM", "PLDL3KEEP", "PLDL2KEEP", "PLDL1KEEP"},
> + {"PSTL1STRM", "PSTL3KEEP", "PSTL2KEEP", "PSTL1KEEP"},
> + };
The array should be
static const char * const pftype[2][4]
I've no idea where you got that "10" from, espectially since...
> + gcc_assert (IN_RANGE (locality, 0, 3));
... you've constrained it right here.
> + sprintf (pattern, "prfm\\t%s, %%a0",
> + pftype[INTVAL(operands[1])][locality]);
There's no point in the buffer or the sprintf.
The text is short enough to repeat whole pattern in the array:
static const char * const pftype[2][4] = {
{
"prfm\\tPLDL1STRM, %a0",
...
},
{
"prfm\\tPSTL1STRM, %a0",
...
}
};
...
return pftype[INTVAL(operands[1])][INTVAL(operands[2])];
r~
More information about the Gcc-patches
mailing list