On Jan 30, 2006, at 11:50 AM, Andrew Pinski wrote:
I'm trying to get:
void foo() {
int rowfraclo[2];
rowfraclo[1] = 42;
asm ("movd mm6, %a0" : : "p" (rowfraclo+1));
}
With the below patch (still running the testsuite) I can get the
compiler to generate that code. So, the question is how better can I
do this?
I don't know how better you can do but this actually fixes PR 23200.
I found an answer to my question. The solution is to use ARRAY_REF
to form the PLUS_EXPR as it survives untouched longer. I use wrap
with INDIRECT_REF and use "m" for the constraint and at -O0, I get
the code I want, and no additional registers are burned. :-)