Date: Fri, 15 Dec 2000 13:35:43 +0200 From: Tuukka Toivonen X-Sender: tutoivon AT paju DOT oulu DOT fi To: pgcc AT delorie DOT com Subject: pgcc generates invalid asm code Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: pgcc AT delorie DOT com Problem: Pentium GCC generates assembly like the following: .L868: movl 120(%esp),%eax addl %edx,%eax movd %eax,%mm0 pslld $4,%mm0 <84>, movd %eax,%mm1 psubd %mm1,%mm0 movd %mm0,%edx sall $3,%edx testl %ebp,%ebp je .L938 and as you can see there are invalid characters there. And the assembler complains, of course (ie. there are ASCII characters #84, #AD and #FB). Most files in the program were compiled successfully, but this file produced the above string <84>, twice in the 7000 line asm file. It happened only when I tried using the -mmx switch. Programs I'm using: GNU assembler 2.9.5 774574 Nov 17 14:20 gcc-2.95.2-pgcc-2.95.3.diff 12885815 Dec 7 14:22 gcc-2.95.2.tar.gz Command line: -s -O3 -fomit-frame-pointer -Wall -mpentiumpro -march=pentiumpro -malign-functions=4 -funroll-loops -fexpensive-optimizations -malign-double -fschedule-insns2 -mwide-multiply -mmx Red Hat 6.2 equivalent system. By the way, the same happens also with Athlon GCC (which is patch against the pgcc).