From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21576 invoked by alias); 21 May 2002 00:06:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 21556 invoked by uid 71); 21 May 2002 00:06:00 -0000 Resent-Date: 21 May 2002 00:06:00 -0000 Resent-Message-ID: <20020521000600.21555.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, p.van-hoof@qub.ac.uk Received:(qmail 17828 invoked from network); 20 May 2002 23:58:43 -0000 Received: from unknown (HELO mailhub2.qub.ac.uk) (143.117.14.29) by sources.redhat.com with SMTP; 20 May 2002 23:58:43 -0000 Received: from drusilla.pst.qub.ac.uk by mailhub2.qub.ac.uk with SMTP-QUB (XT-PP); Mon, 20 May 2002 23:58:41 +0000 Received: from tpol.pst.qub.ac.uk (tpol [143.117.54.133]) by drusilla.pst.qub.ac.uk (Postfix) with ESMTP id 7D4724140E5 for ; Tue, 21 May 2002 00:58:35 +0100 (BST) Received: by tpol.pst.qub.ac.uk (Postfix, from userid 359) id 2B8D22F99E; Tue, 21 May 2002 00:55:01 +0100 (BST) Message-Id:<20020520235501.2B8D22F99E@tpol.pst.qub.ac.uk> Date: Mon, 20 May 2002 17:06:00 -0000 From: p.van-hoof@qub.ac.uk Reply-To: p.van-hoof@qub.ac.uk To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: target/6753: gcc 3.1 produces wrong code when optimizing for pentium4 X-SW-Source: 2002-05/txt/msg00637.txt.bz2 List-Id: >Number: 6753 >Category: target >Synopsis: gcc 3.1 produces wrong code when optimizing for pentium4 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Mon May 20 17:06:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Peter van Hoof >Release: 3.1 >Organization: Queen's University Belfast >Environment: System: Linux tpol.pst.qub.ac.uk 2.4.2-2 #1 Sun Apr 8 20:41:30 EDT 2001 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.1/configure --prefix=/usr/local/gcc3 >Description: gcc 3.1 produces wrong code when optimizing for a pentium4 target. The bug can only be reproduced with the following combination of options: -march=pentium4 -O2 -ffast-math. The generated code for comparing two floating point numbers is wrong and results in an illegal float (nan). >How-To-Repeat: tpol.pst.qub.ac.uk> gcc -v -save-temps -march=pentium4 -O2 -ffast-math bug.c Reading specs from /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs Configured with: ../gcc-3.1/configure --prefix=/usr/local/gcc3 Thread model: single gcc version 3.1 /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/cpp0 -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__FAST_MATH__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__pentium4 -D__pentium4__ -D__tune_pentium4__ -D__SSE__ -D__MMX__ -D__SSE2__ bug.c bug.i GNU CPP version 3.1 (cpplib) (i386 Linux/ELF) ignoring nonexistent directory "/usr/local/gcc3/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /usr/local/gcc3/include /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/include /usr/include End of search list. /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/cc1 -fpreprocessed bug.i -quiet -dumpbase bug.c -march=pentium4 -O2 -version -ffast-math -o bug.s GNU CPP version 3.1 (cpplib) (i386 Linux/ELF) GNU C version 3.1 (i686-pc-linux-gnu) compiled by GNU C version 3.1. as --traditional-format -V -Qy -o bug.o bug.s GNU assembler version 2.10.91 (i386-redhat-linux) using BFD version 2.10.91.0.2 /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/crtbegin.o -L/usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1 -L/usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../.. bug.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /usr/local/gcc3/lib/gcc-lib/i686-pc-linux-gnu/3.1/crtend.o /usr/lib/crtn.o tpol.pst.qub.ac.uk> a.out result: nan The correct output would be: tpol.pst.qub.ac.uk> a.out result: 1.0000e+00 begin 644 bug.i.bz2 M0EIH.3%!629360)_#3<`!I!_@'P4_EM_?___O^_?+K____I@$_P`]S4 MOL=SS[*OOAB4],C0T``K8&"V#"128J8:3Q4_233 M1Z)H])H&C0T:&@&@`!H!ZF#4`-,B!%/29$QJ8F@&AH`-&(```````#0TIJAI MH#0`T`-#3(#0P@```8AD:``A2(I&335/-4S4;4&U#)ZFC0/4T:!H````!IH' MZH(HII&B;5&TTGDF@T-````;4:`T#0:`TT&FC0(DB:!`@"9#4Q%/"CQ0VB`! M^I`R'J`:``&G"';"14TA1+(M$D4@@^R!Z]0#W,+AF"P0&2M!GF,[I.).&,H( M8H@I:N//FHHI*2HWB8\->9B"@J)):"H(FDJ***DS#"ME86.8%88S9AD69 M5B65%692&456&%8\F$NLM&69$89)A%%$E!$36$85A18TV&%9.:_7>`O$AMP[ M5!/Q@_-=E]4]49T%ML;F>`J2*,#OL13TYH1)%Y()OI0UNDGB`,C;#)R*`5:Q.'97 MCU?5N7+@?3ZBVMJJ!)VPJU-9!E5[F610%QA@WL0;G9BS*B@J.OL`\3V1]L]P1]D4WB/X=9]_$3%?$)B!YC(H*:"J2:Q5B$O%%8 MA5OB*;>[C=C9V:84NAC,FC@%S@.[O[YX9^<+![72ASB?D(;DDVGSVI+2[$CE MD#9,036`_#G\Q8P'PXZ&\+QZ,#4FR MVR)KOCMPE@(V[!RR!J+^$GY>T30<0P:`<&VI(&F5[7D+R@,.(.SB"E00C%G@ M26@(("B`.H`>!(0%4!F<+&W6LSC'=HXUJHY:ZFB$Y$UDTF]3T?O:AY9KG.%)@1"] M1$'.ZW9A'L0J?BB*Y#MS^-DT@$"371/ MY__M"X8^SR*ILC&&RX`@#)E:V2\1;-VIU]*UJ*>9)@7ZVQTE]C8V4RP3E%62AFW<,58U MD9Z?3?GV6L6[<^X#M#=BI:+"2,C(R"M,B1``S'ZLD_Q^KL["=-^?0ME:B]SB M6+4!GKL[M>]N=JKHU&`#:Q#K+&M%8FB=EN)4W"_(F$X$(6:M*ESMHO))>7;X M"VD'\'J\T#W`)M@`3N`(Y8E-*P!'PTUH&*RBNSP-03ZRC:1'G14YC.8%2Z$, MI4%49F5G+%P0B")76$41!!8?*;H"9%2D)_`$X0"2D@)8JEH"1#H`EQ:`3`TI M(C"`$SJD\0`:*@_1CN^/[6T[P^@\SP+PT_?Q^Q`-(EX;1RBXSK>"-IY@)MK; M7.4/_;VZ::4:7N%]:4Y8`.O/&O7MB^AE*C4QMO?3?@`FF= MLM`]J^WFU/&>[3!]8";!SWHYY%\<#!38!,9:E\2&.(G#RF&WVEK8I9NJNG4` M.FZNO)@XHIM!8!`L15(E!AG0EM2"0--D6J;Q3=@="JF7,N:N`7;8L$(&8P\F M!Y&&Y=IR;%:H&R@]H3&B.-$ZKNMT8BBC.4Y4GH;,1I'=F603<"N7/%QRF26- M\X<.$=&&021-YL3+/5O9`T(''MP+M!(1,2A/3JHWZ=AV0\;61NTVW\,:N>,- ME'S(!Q\ZJR*-M`,63?>_^:."(+RPX-Q13+.6"RF6DAKYA[#M'EO*S"4F`V(D M:I)"J:"D8C#`(:'UB!_S"'NHJ&"2*77P-V430)&:<,!9>%1US&+!='3D/V27T_B6^WC7!S#R2#G]]'\,3W0T/N6@4^E M@?AGKF\OR8515%3,(`1@V(A>>9,B-9,(`APH[2=X=P3*$[Y`6NX)56HU/CBR MIS]AQI&A%Q#@\/LY5;OER?E/L,!:0D$\\I:R'0+WTNEYCET(O=\4YWU5ZG14D'EF.^?.<*8T*URVV+\_RVG';++V=8:D. M)(,A(14\Y('EQTJ=/R5>^]B@UH\.O[ML)WQH\C%%H%DX1:,S:`YJ!U)L36D1 MH&@7(`;'Q3^UTTF9,*@XUNYLW`$Y]E&+=MR:H+*`N:8"X!2J.LD#9Y]>I!Y& MH9=2=ST;HY"]BG'3V2\79,O,S#K`$Y3"VH7[@#<]_=C22'5HFW=PR3%RB&L[ M55JY*T/>VM:AB`3&`D`)FU:-+JYH$20",`GZP!%!;26T7`T0$ND81$]\=!I$>0R/4!H MHT#F:WOEPGI3L?>O'>W,1VYB9F-*4FK(G\^&6K4;G M_5Q)`U.NUMNVFBO`:'I>KHT`]!5\#(N_!KB?%&N+O-IA+U4-]5'8=WTJ#+'0 M$3-$,]:O.%KU).=CC;+45/O`36P'N":=H`/R5+1%7X6T`Q@E,PO`)!JI3BJJ M85OP(,Z!Q(%#NW]6??Z97#O7`J17(U=SL]$D[IQ+]0`/;N?N:B2'TT/1SB7@ MG.':J_.#%DH@A/KX9)YI`R3+<`'JZQ1U+OQE551UC>06Z0$NOQ#$1!2S"141 MF3Y'>G/.^78.@F89*]VH!7DDFRB6-;>D/*!4==:+6"D30,%+@*^JV#%2$V03 MG#R"'M-2+SXZ&QZLA\@$\P$^:A=>?0ZA._NJP!*T*[5Q9M#"XL`"7V_6F&1) M@2YU)B)I<>*I*;*=O5)8`'?IZPP6P0D$7!,C\!HU+2^M>)`ZT8&(F%P7L9CD M:%@>JN=0W+NV#1?#&89A<07\^YK&3(I*UCJ,+S')L&-H5C"`-'&,B40;'`O1 M<7Y!4N0\M@SP'"Z8%N:)7=@IT95KRG(!D@ETPJF6!%3K8&1%IHJ[%=4!PWL` MEU$G/LA0J5U$HJ%$[TV(@GS04..76/%(/`?/1#.,CH`DX!#KT[&/`"]*9@L0 M!^">%9].'=LVCM2/K7"NSH&8&YSG?')2;CJ)#M(./M>@X36>P!.73+S14RH+ M60TN]\"G3YO$\,GG&`>&TU/$O]^'J)FQ8GM"@#:6Q4^>6J25"P..GE"WL$0N M0=$]52#;*A;I7;060Y``Y8ER=>IB>&5\48Q1>H34SI;@$.'F<(,8R!$E0+H+ M7$F1NF`1^W)?F('!<`:(+[%?8K?CD&IQLC?="`0@HD@!P;C2-UQJJ-B&?H9- M@T:N&1)*E0D"H4Z3WQ3UY@&-#;7AX=1H36!)<.PG$XDUE'3N\#GD.X: M&G4E4ZY.5-:M2%7)9(:ZE=10%"4%+I/4\%];NY\,1/=]KN]SNX.Z"9[54??Q M*KH`#5D\!Z*I`H/2'K2/BIISSTF:D`J;(*45LW[*"Z`@W!)A-."(^C?-C6=\ M-87P;-F%44=7>.\9H]8ZA+V)<'A;,+P&@Q2"#6$QVIB8:80RPHH'"%,UK#68 MM44D3A&-!53F$F9BF.)!!&`PS'QH35-DX6@V"&`VL")(AVW$H;B6B3@"XJUK M6NUK@V9B^?,,WLYYT6E*R^]UD1*"]OLJUKB8AK>E3:&(9S&-CO[\0DE!C-"9 M"VVT5FFLH)(P(,(0LBNN`NM(TDGR=VZ8&\0W.%T4:^&K2!\H)PY'/CORX/%K M##74`^5DN`806EB"/,X&9L@;*91+`R%[KVK\\5[X2`ST8Z]%B^2*'/+&-EBN MB'U_4HHO&@F%0[8G,Q4`R*CD0!KTE;O-@EB"!R>!H[Z?BQIS:!-#W%@^,#XQ M+#!#ZPQ^@>_K0.`2[SYW.T`'03T!ZU^5IPJ!Z0'53;/Y#PI.>4F*.C)($"21 M6#ZJ>B9:YH2&UGI.:&=%_*R8OW1&0GR`)^8.AHPBHNZ<(=?5Fix: Using -march=athlon-tbird, -O1, or omitting -ffast-math works around the bug. >Release-Note: >Audit-Trail: >Unformatted: