This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: other/8311: Legal intel instructions being flagged as illegal
- From: zack at gcc dot gnu dot org
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, tpalmer at widevine dot com
- Date: 22 Oct 2002 20:20:43 -0000
- Subject: Re: other/8311: Legal intel instructions being flagged as illegal
- Reply-to: zack at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, tpalmer at widevine dot com, gcc-gnats at gcc dot gnu dot org
Synopsis: Legal intel instructions being flagged as illegal
State-Changed-From-To: open->closed
State-Changed-By: zack
State-Changed-When: Tue Oct 22 13:20:42 2002
State-Changed-Why:
GCC does not attempt to interpret the text of an asm() statement, beyond processing %-substitutions for operands. The error message you quoted came from the assembler.
The instruction mnemonics "pushfd" and "popfd" are valid only in Intel syntax. In its default mode, GAS uses AT&T syntax, in which these opcodes are spelled "pushf" and "popf" respectively. You can either change your code to use these, or (with sufficiently recent versions of GCC and GAS) you can use the -masm=intel command line switch.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8311