www.delorie.com/archives/browse.cgi   search  
Mail Archives: pgcc/2000/12/15/07:38:39

Date: Fri, 15 Dec 2000 13:35:43 +0200
From: Tuukka Toivonen <tutoivon AT mail DOT student DOT oulu DOT fi>
X-Sender: tutoivon AT paju DOT oulu DOT fi
To: pgcc AT delorie DOT com
Subject: pgcc generates invalid asm code
Message-ID: <Pine.SGI.4.21.0012151328430.8219194-100000@paju.oulu.fi>
MIME-Version: 1.0
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>,<AD><FB>
        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>,<AD><FB> 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).


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019