[Bug c++/55619] [4.8 Regression] Chromium build fails with: error: memory input is not directly addressable

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Dec 8 08:49:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55619

--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> 2012-12-08 08:49:35 UTC ---
Indeed I got it down to this code, which fails just the same with an int
instead of a vector. I didn't know it was forbidden to pass constants with the
"m" constraint, I thought gcc would manage that somehow. What is the
appropriate x86 constraint for a vector constant? "C" doesn't seem to work.

typedef unsigned __attribute__((vector_size(16))) uvec32;

static const uvec32 C = { 0x92d9e201, 0, 0, 0 };
//static const unsigned C = 0x92d9e201;

void f() {
  asm volatile ( "" : : "m"(C));
}



More information about the Gcc-bugs mailing list