This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug inline-asm/48347] The wrong assembler code is emitted for my architecture
- From: "normvcr at telus dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 30 Mar 2011 19:35:50 +0000
- Subject: [Bug inline-asm/48347] The wrong assembler code is emitted for my architecture
- Auto-submitted: auto-generated
- References: <bug-48347-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48347
--- Comment #4 from Norman Goldstein <normvcr at telus dot net> 2011-03-30 19:35:48 UTC ---
(In reply to comment #3)
> I'm sure that sete doesn't work with any general operand. Use proper
> constraints.
You are right. sete must operate on an 8-bit register or an 8-bit memory
location. GCC knows that the reference is to an 8-bit unsigned char, and GCC
does the right thing under the "-g -O2" flags, so why not under the "-g" flag?
I was not able to find a way to change the "=g" constraint to force GCC to use
an 8-bit register/memory location.