This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/43782] Erroneous expansion of __asm__() directive
- 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: 19 Apr 2010 14:56:36 -0000
- Subject: [Bug c/43782] Erroneous expansion of __asm__() directive
- References: <bug-43782-611@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from jakub at gcc dot gnu dot org 2010-04-19 14:56 -------
Nobody changed the order of arguments, in AT&T syntax always the result is the
last, in Intel syntax (not the default on Linux unless -masm=intel) the result
is the first.
Perhaps you were lucky and both the input and output got the same register and
so it didn't matter (say sqrtsd %xmm0, %xmm0).
You can also write the asm using
"sqrtsd {%1, %0|%0, %1}"
and then it will work with both the default AT&T syntax and -masm=intel.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43782