This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

-O1 thru -O3 produce fatally bad code for System/390 using 2.95.2


 I tried mightily to submit this through GNATs; it wouldn't go (server seems to
be hung). I apologise for whatever work is required to deal with this Email but
I don't see what else I can do at this point.

 Here is a textual extraction from the form I painstakingly filled in.	

Reporter's Email loc@soliton.com
Category         Optimization
Synopsis         -O1 thru -O3 produce fatally bad code for System/390
Confidential     no
Severity         non-critical
Priority         medium
Class            sw-bug
Submittor-Id     unknown
Originator       Leigh Clayton
Release          gcc version 2.95.2 19991024 (release)
Environment      SUSE Linux running on System/390 partition (LPAR).
Description:       The gcc shipped with SUSE Linux for the System 390 generates
                 code that fails badly for (some?) floating point assignment.

                   I include the following files-
                      make.i.o3     --  the script I used to create the output
                      gcc.i.stderr  --  the stderr from  the gcc run
                                        (diagnostic O/P)
                      fragment.c    --  the (standalone) input file.
                      fragment.i    --  the processed input
                      fragment.s.o3 --  a demonstration of the bad output.


                  If you look in fragment.s.o3 you will see the following code:



                 .LM8:
                         L     4,0(5,4)
                         L     5,4(5,4)

                   This is clearly garbage, it overlays R4 and then uses it to
                 load R5.

                   Running at -O1 changes the output slightly, but it still has
                 the same basic flaw. -O0 generates good code.


File Attachments /local/loc/home/gccbug/gnat.tar.gz
How-to-repeat    Run the included script -- ./make.i.o3 -- on an S390 processor
Fix              Sorry, I don't know. A workaround is to run with -O0.

gnat.tar.gz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]