public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "xyzzy at speakeasy dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug inline-asm/11203] source doesn't compile with -O0 but they compile with -O3
Date: Tue, 27 Feb 2007 19:36:00 -0000	[thread overview]
Message-ID: <20070227193606.20195.qmail@sourceware.org> (raw)
In-Reply-To: <bug-11203-1507@http.gcc.gnu.org/bugzilla/>



------- Comment #38 from xyzzy at speakeasy dot org  2007-02-27 19:36 -------
(In reply to comment #37)
> now if there is a unwritten rule that "m" operands and variations of them
> cannot be copied anywhere, then it would be very desireable to have a asm
> constraint like "m" without this restriction this would resolve this and
> several other bugs
> also it would be very nice if such a dont copy restriction on "m" if it does
> exist could be documented

Copying "m" operands onto the stack might not be such a great thing to wish
for.  Imagine if you used asm("movaps %xmm0, %0": "=m"(x[i]));  If x[i] is only
32-bits, and gcc copied it onto the stack, then writing 16 bytes with movaps
wouldn't also write to x[i+1] to x[i+3] as intended.  I know there is a plenty
of asm code in ffmpeg that overwrites or overreads memory operands and will
fail if gcc tried to move them onto the stack.  There is also alignment. 
movaps requires an aligned address, and maybe you have chosen x and i in such a
way that it will be aligned.  But when gcc copies the value onto the stack, how
is it supposed to know what alignment it needs?


-- 


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


  parent reply	other threads:[~2007-02-27 19:36 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-11203-1507@http.gcc.gnu.org/bugzilla/>
2005-12-02 17:44 ` pinskia at gcc dot gnu dot org
2005-12-02 17:46 ` pinskia at gcc dot gnu dot org
2006-01-19 12:38 ` pinskia at gcc dot gnu dot org
2006-04-21 15:56 ` langer_mann at web dot de
2006-04-21 15:59 ` langer_mann at web dot de
2006-11-08 20:03 ` xyzzy at speakeasy dot org
2006-11-08 20:45 ` michaelni at gmx dot at
2007-02-27 19:36 ` xyzzy at speakeasy dot org [this message]
2007-02-27 22:50 ` michaelni at gmx dot at
2009-10-18 19:56 ` astrange at ithinksw dot com
     [not found] <bug-11203-4@http.gcc.gnu.org/bugzilla/>
2014-02-16 10:01 ` jackie.rosen at hushmail dot com
2003-06-16  7:08 [Bug optimization/11203] New: " spigel@olvs.miee.ru
2003-06-16 14:32 ` [Bug inline-asm/11203] " bangerth@dealii.org
2003-07-09  4:28 ` neroden at gcc dot gnu dot org
2003-07-29  8:25 ` steven at gcc dot gnu dot org
2003-08-23  0:28 ` dhazeghi at yahoo dot com
2003-12-17  0:24 ` pinskia at gcc dot gnu dot org
2004-02-10  1:16 ` pinskia at gcc dot gnu dot org
2004-03-31  8:37 ` spigel at olvs dot miee dot ru
2004-08-06  7:01 ` pinskia at gcc dot gnu dot org
2004-08-15 11:00 ` pluto at pld-linux dot org
2004-09-02 18:26 ` pinskia at gcc dot gnu dot org
2005-01-01 17:15 ` stian at nixia dot no
2005-01-01 17:22 ` pinskia at gcc dot gnu dot org
2005-01-01 18:57 ` michaelni at gmx dot at
2005-01-01 22:50 ` steven at gcc dot gnu dot org
2005-01-01 23:05 ` steven at gcc dot gnu dot org
2005-01-20 21:04 ` pinskia at gcc dot gnu dot org
2005-01-21 12:39 ` drab at kepler dot fjfi dot cvut dot cz
2005-01-21 13:55 ` falk at debian dot org
2005-01-21 14:10 ` drab at kepler dot fjfi dot cvut dot cz
2005-01-21 15:15 ` pinskia at gcc dot gnu dot org
2005-01-21 15:51 ` drab at kepler dot fjfi dot cvut dot cz
2005-01-21 16:34 ` falk at debian dot org
2005-01-21 16:48 ` drab at kepler dot fjfi dot cvut dot cz
2005-01-22 12:14 ` steven at gcc dot gnu dot org
2005-01-22 15:58 ` stian at nixia dot no
2005-01-22 17:10 ` michaelni at gmx dot at
2005-01-22 17:20   ` Daniel Berlin
2005-01-22 17:21 ` dberlin at dberlin dot org
2005-01-24  6:45 ` spigel at olvs dot miee dot ru
2005-03-26  0:29 ` pinskia at gcc dot gnu dot org
2005-09-05 22:20 ` pinskia at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070227193606.20195.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).