This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug inline-asm/33451] New: Collapsing of offsetable memory operands.
- From: "cschueler at gmx dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Sep 2007 23:55:17 -0000
- Subject: [Bug inline-asm/33451] New: Collapsing of offsetable memory operands.
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Consider the case when a class contains an aggregate member:
struct foo
{
struct bar
{
int one[256];
int two[256];
};
bar my_bar;
};
foo *fooptr;
The members "one" and "two" are clearly offsetable memory operands, yet gcc
does not accept them as operands to asm statements.
asm( "..." : : "o" (fooptr->my_bar.two) ) // ERROR "memory operand not directly
addressable".
The expected behaviour is to generate code like this:
mov fooptr, %eax
mov 256(%eax), ... // fooptr->my_bar.two
--
Summary: Collapsing of offsetable memory operands.
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: inline-asm
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cschueler at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33451