> 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. Which does: static char var; int main() { asm volatile ("" :: "i"(&var + 1)); return 0; } (which looks weird in the sense it is undefined code but still legal code). Thanks, Andrew Pinski