Message-Id: <199904131823.DAA09506@mail.itjit.ne.jp> To: pgcc AT delorie DOT com Subject: Confusion between stack-align-double and mmx Date: Wed, 14 Apr 1999 03:23:00 +0900 From: "NISHIGAMI.S" Reply-To: pgcc AT delorie DOT com Hello, I reported this before, but the mailinglist was down at that time. Now, I get snapshot (pgcc-cvs-990413.tar.bz2) from ftp://ftp.tardis.ed.ac.uk/users/broonie , and the problem is still there. Anyway, thank you for broonie. I'm using pgcc-2.92.25 (19981130) with a classic Pentium/P54C without MMX, and fail to build recent snapshots. Making pgcc with `-mstack-align-double' switch causes this: ----------------------------------------------------------- [snip] {standard input}: Assembler messages: {standard input}:476: Error: no such 386 instruction: `movq' {standard input}:491: Error: no such 386 instruction: `movq' {standard input}:493: Error: no such 386 instruction: `movq' {standard input}:521: Error: no such 386 instruction: `movd' {standard input}:522: Error: no such 386 instruction: `movd' {standard input}:527: Error: no such 386 instruction: `movq' {standard input}:593: Error: no such 386 instruction: `movd' {standard input}:594: Error: no such 386 instruction: `movd' {standard input}:595: Error: no such 386 instruction: `psrld' {standard input}:596: Error: no such 386 instruction: `movd' {standard input}:601: Error: no such 386 instruction: `movq' {standard input}:605: Error: no such 386 instruction: `movq' {standard input}:618: Error: no such 386 instruction: `movq' {standard input}:626: Error: no such 386 instruction: `movq' {standard input}:635: Error: no such 386 instruction: `movq' {standard input}:637: Error: no such 386 instruction: `movq' {standard input}:644: Error: no such 386 instruction: `emms' {standard input}:646: Error: no such 386 instruction: `emms' gmake[2]: *** [libgcc2.a] Error 1 gmake[2]: Leaving directory `/tmp/tmp.viper/pgcc/gcc' gmake[1]: *** [bootstrap] Error 2 gmake[1]: Leaving directory `/tmp/tmp.viper/pgcc/gcc' gmake: *** [bootstrap] Error 2 ----------------------------------------------------------- Such instructions are used only for MMX? I think this is a problem in gcc/config/i386/i386.h . ----------------------------------------------------------- [snip] #define MASK_STACK_ALIGN_DOUBLE 000200000000 #define MASK_ARG_ALIGN_DOUBLE 000400000000 [snip] #define MASK_MMX 000200000000 #define MASK_MMX_ONLY 000400000000 [snip] ----------------------------------------------------------- There is confusion of masks for `-mstack-align-double' and `-mmmx'. Also about `-marg-align-double' and `-mmmx-only'. I try to change MASK_MMX and MASK_MMX_ONLY, then make bootstrap can go further steps. My slow machine needs long time to get final result... This only appears in snapshots with MMX enhancement, but release like 1.1.2 . Thank you! --- nsh AT itjit DOT ne DOT jp