H.J. Lu wrote:

On Thu, Mar 12, 2009 at 8:58 AM, H.J. Lu <hjl.to...@gmail.com> wrote:
Index: i386.md
===================================================================
--- i386.md     (revision 144796)
+++ i386.md     (working copy)
@@ -20813,7 +20813,7 @@
                     [(match_dup 0)
                      (match_operand:SI 2 "memory_operand" "")]))
              (clobber (reg:CC FLAGS_REG))])]
-  "operands[0] != operands[1]
+  "REGNO (operands[0]) != REGNO (operands[1])
   && GENERAL_REGNO_P (REGNO (operands[0]))
   && GENERAL_REGNO_P (REGNO (operands[1]))"
  [(set (match_dup 0) (match_dup 4))
@@ -20829,7 +20829,7 @@
                   (match_operator 3 "commutative_operator"
                     [(match_dup 0)
                      (match_operand 2 "memory_operand" "")]))]
-  "operands[0] != operands[1]
+  "REGNO (operands[0]) != REGNO (operands[1])
   && ((MMX_REG_P (operands[0]) && MMX_REG_P (operands[1]))
       || (SSE_REG_P (operands[0]) && SSE_REG_P (operands[1])))"
  [(set (match_dup 0) (match_dup 2))

now.


It is revision 144817.


Thanks. I just rebuilt GCC using revision 144821 and rebuilt HIRLAM with that compiler.

It doesn't exhibit the Infinity's anymore.  A typical time step output is:

NSTEP 3 BEGINS HERE:

1800s into the forecast; valid on 20090312 at 09:30:00



  -------------------------------
 ABS(DPS)/3H =   1.351563 MB
 MAXWIND     =  76.612305 M/S IN (X,Y,LEV)=  27  34  10
 STPS        =            10072.463867187500
 STQ         =                4.852974414825
 STS         =                0.014612672850
 STPE        =       2496469248.000000000000
 STKE        =          1680526.000000000000
 STTE        =       2498149888.000000000000

 TOTAL RAIN RATE(mm/d)=                0.171960353851
 STRATIFORM PRECIP RATE=                0.169621527195
 CONVECTIVE PRECIP RATE=                0.002338820370
 CWPATH =                0.016851592809
 COV2D =                0.151605650783
 HIGH CLOUDS =                0.079861477017
 MEDIUM CLOUDS =                0.041859772056
 LOW CLOUDS =                0.073108613491
 LOWEST LEVEL CLOUDS/FOG =                0.007746003568
 AVERAGED CLOUD BASE=              625.465087890625
 AVERAGED CLOUD TOP=             1203.065795898438
 SENF =              -35.196342468262
 LATF =              -99.297454833984
 MOMF =                0.244225323200

Thanks go out to Paolo Bonzini and H.J. Lu for quickly identifying the problem (i.e., beyond the "OMG it's full of NaNs" that I displayed).

My concern was that a regression would go out in the wild because not enough people are testing floating point intensive programs (SPEC not withstanding).

Fortunately, Paolo and H.J. took my anger in stride and produced a fix within 24 hours.

Wherefore thanks and kudo's.

Cheers,

--
Toon Moene - e-mail: t...@moene.org (*NEW*) - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.4/changes.html

Reply via email to