------- Comment #1 from ubizjak at gmail dot com 2008-12-14 11:18 ------- There were many problems with -masm=intel, that were fixed for gcc-4.3 and later by [1] and (many) followup patches. The change that you are looking for is (gcc/config/i386/i386.c):
@@ -9037,8 +9047,9 @@ print_operand (FILE *file, rtx x, int co else if (MEM_P (x)) { - /* No `byte ptr' prefix for call instructions. */ - if (ASSEMBLER_DIALECT == ASM_INTEL && code != 'X' && code != 'P') + /* No `byte ptr' prefix for call instructions or BLKmode operands. */ + if (ASSEMBLER_DIALECT == ASM_INTEL && code != 'X' && code != 'P' + && GET_MODE (x) != BLKmode) { const char * size; switch (GET_MODE_SIZE (GET_MODE (x))) However, this is just one of many changes to properly support -masm=intel, so my best advice is to use gcc-4.3.x. This won't be fixed for gcc-4.2. [1] http://gcc.gnu.org/ml/gcc-patches/2007-10/msg01254.html -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Known to work| |4.3.0 Resolution| |WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38521