This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug inline-asm/23200] [4.0/4.1/4.2/4.3 regression] rejects "i"(&var + 1)
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Nov 2007 15:53:05 -0000
- Subject: [Bug inline-asm/23200] [4.0/4.1/4.2/4.3 regression] rejects "i"(&var + 1)
- References: <bug-23200-11104@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #32 from jakub at gcc dot gnu dot org 2007-11-22 15:52 -------
Or alternatively make sure to gimplify all inputs which allow reg or mem
first, then gimplify those that don't allow either, which for -O0 should
hopefully mean all such expressions stay in the same basic block as the asm
and then if (!optimize) in expand_gimple_basic_block look at asm inputs and
if some of them doesn't allow mem nor reg and is gimple register, walk back
to find definitions within the bb and reconstruct the expression (kind of very
lame TER alternative) and stop whenever some of the used gimple reg definitions
can't be found, or once it is not TREE_CONSTANT.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23200