This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug inline-asm/31386] wrong registers used in cmov instruction
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Mar 2007 21:49:22 -0000
- Subject: [Bug inline-asm/31386] wrong registers used in cmov instruction
- References: <bug-31386-14331@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from pinskia at gcc dot gnu dot org 2007-03-28 22:49 -------
Actually I think the inline-asm should be:
#define CMOV_COMBO( val1, val2 ) \
asm volatile ( \
"cmpl %0, %3\n\t" \
"cmovl %3, %0\n\t" \
"cmovl %4, %1\n\t" \
"cmovl %5, %2\n\t" \
: "+&r" (dmin), "+&r" (dx), "+&r" (dy) \
: "r" (d), "r" (val1), "r" (val2) \
)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31386