This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Enabling tree->rtl to generate (plus for asm() operands at O0


I'm trying to get:

void foo() {
  int rowfraclo[2];
  rowfraclo[1] = 42;
  asm ("movd mm6, %a0" : : "p" (rowfraclo+1));
}

to generate:

movd mm6, -4(%ebp)

at -O0. Currently we generate:

  leal    -8(%ebp), %eax
  addl    $4, %eax
  movd mm6, (%eax)

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?

Attachment: t.diffs.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]