public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* target/6753: gcc 3.1 produces wrong code when optimizing for pentium4
@ 2002-05-20 17:06 p.van-hoof
  0 siblings, 0 replies; 3+ messages in thread
From: p.van-hoof @ 2002-05-20 17:06 UTC (permalink / raw)
  To: gcc-gnats


>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`]<Z?<>S4
MOL=SS[*OO<![TV[[==NZ&]**='MGB>AB4],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\->9<S56%="OT)7<4[FBMNIB=<V!JHI<R,::#*RE,*
M,K'&BC(_I[Q_;0<AP0E'JAX#>B"@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*,#OL13TY<HDI2@&AH\D)V'H]I]IRZ=E]HAR
M'C;#A1FEQ$T)12:VFE69AVJ#4;:@AIEJSG%;3BLJ!Z(4JD4;6E06`EF[FF$,
MK#V@E@:E]]!-KP7*,B,MZ@WMV.G.1%[O[HG*&69!DW=U)RQNZ,B4+&#2Z+'(
M!D;8:%77O"%&%XM%U]UKP@XJ*D76>H1)%Y()OI0UNDGB`,C;#)R*`5:Q.'97
MCU?5N7+@?3ZBVMJJ!)VPJU-9!E5[F610%QA@WL0;G9<LH6!QH*8'69#FKG:@
M;XS>BS*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&\+Q<GD0+1+1'_5<[--*T$6V3D2XGOR'5/5K$Z`TH
M0TT+E%J(?0Q#1G(FT!X1#3(TLB].DR#F3'O$&YZ9R!Z2#&[&("C3G>Z,#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<ZP*"P,X\).
M<<0$3U<NC4[\^&JCDT%FMZH=&D"C.,-FPV6W<AH(:30,>?O:AY9KG.%)@1"]
M1$'.ZW9A'L0J?BB*Y#MS^-DT@$"37<L#;A0(E$)(D"'80H%D95#"(E_9X>1/
MY__M"X8^SR*ILC&&RX`@#)E:V2\1;-<GG%8)@C,X52DI$8SK/F4AI2+7)Y&E
M$#.%A"!3BH12#AD4RPHV=>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/_</:$#RECX-;:9[E=.7*7S5*XUG!O&1-S?=R"X`/&M_QUO^/;C;0_O`3
MW@)2]00-([$TWM*WUK>;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&+!='3<O+/@
M&2/B7G_0N/"U7PB)UOJJ9&)HZ;:D+56IRUZZPNSLH=K"])"IV-;B;&WJX8HY
M6-'-,=[L]XST"H5:ZM/*TO/&A<1;("D@ZJX0)*@KW+M5;QT"(8!UHB?62!*(
M-,@R_M@8U.Y3D<D]`^/F;(]80^VPGA)-#`49"5E405,9,ADB-ZU#@$IY=^B#
M_$)$@B#;8VMP&08!HRDFP:H*5JDJ8.D]W]VD0XE(+BHI"(68)B(PDR"%2JBI
M(6@:&J(&E**`L`B,P*&(1/N>D/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<K%AHB(0@GV7K=D-Z1[$O4C4`QG75V?%#4]_?EH6S-4@V<J4YQ2X$`756A
MY@<3U(SS4$!C;.B'A!K$7N))\#Q@(F<,2C6!;4D"%PE9EGD$DF^]PY1*R$'A
M#QBMS>]AQ<REM-Z1/M>I&A%Q#@\/LY5;OER?E/L,!:0D$\\I:R'0+WTNEY<V
MP:*T97ZD4`>CET(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$N<V#&VF(_-$
M#)#*9!-@.:[B0B+'!@X^5;@`\SUPEE[8]Y%T(JR`&W4"]T1L'&!`[1.B`.'P
M$+@IF.2,0..!`8D.OD\XFV7KDR'LG%#1!B#!"9#B228USU[."V^E&&9EI6&P
MF-YC$<7C3&Q6?607*D+)L`#Q4P6(JIYH;9F9A-!H!);.^^0&AHF#VYAIPY20
M&GJ7/5F'^C%C3DLFS```U)RM"K2`Y:;Z*&1ZZ\+J'3C8)-9O%T9$2,7C59SA
M;H(I@ZDX:GYS5/%$N*GH9<:MD%,.0=2*EC?(,R\,*@\,TF)D'!M'3L3C!+.$
M\_\OT\'60UP`5T:.?7S.I.62J.E\2N6ISJC;J[LW6&>D81$]\=!I$>0R/4!H
MHT#F:WOEPGI3L?>O'>W,1VYB9F-*4FK(G\^&6K4;G<NR,S!B34Y&HH.P[W?N
MQ^%KQ9MU4"I/!%2OAB1Q+H4!1:7(63(Y/I$3T^"8O?A6<M:LU<J*8Y[KW'$>
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@&-#;7A<JJ\>X=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<(=?5<A84'D]GN43J
7YA&020&0'W2&%2-?_%W)%.%"0`G\--P`
`
end

>Fix:
Using -march=athlon-tbird, -O1, or omitting -ffast-math works
around the bug.
>Release-Note:
>Audit-Trail:
>Unformatted:


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: target/6753: gcc 3.1 produces wrong code when optimizing for pentium4
@ 2002-05-23  5:23 jakub
  0 siblings, 0 replies; 3+ messages in thread
From: jakub @ 2002-05-23  5:23 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, jakub, p.van-hoof

Synopsis: gcc 3.1 produces wrong code when optimizing for pentium4

State-Changed-From-To: open->closed
State-Changed-By: jakub
State-Changed-When: Thu May 23 05:23:26 2002
State-Changed-Why:
    Fixed.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6753


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: target/6753: gcc 3.1 produces wrong code when optimizing for pentium4
@ 2002-05-22  6:47 jakub
  0 siblings, 0 replies; 3+ messages in thread
From: jakub @ 2002-05-22  6:47 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, jakub, nobody, p.van-hoof

Synopsis: gcc 3.1 produces wrong code when optimizing for pentium4

Responsible-Changed-From-To: unassigned->jakub
Responsible-Changed-By: jakub
Responsible-Changed-When: Wed May 22 06:47:42 2002
Responsible-Changed-Why:
    Mine.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6753


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-05-23 12:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-20 17:06 target/6753: gcc 3.1 produces wrong code when optimizing for pentium4 p.van-hoof
2002-05-22  6:47 jakub
2002-05-23  5:23 jakub

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).