------- Comment #20 from kargl at gcc dot gnu dot org  2009-09-12 01:31 -------
AFAICT, this PR 323.

program VolatileTest

  implicit none

  real(8), volatile :: a
  real(8) uA, uB, b, c

  real(4), volatile :: ra
  real(4) ruA, ruB, rb, rc

  read(*,*) uA, uB, rua, ruB

  a = uA * uA
  b = uB * uB
  c = a - b

  ra = ruA * ruA
  rb = ruB * ruB
  rc = ra - rb

  write(*,'(3ES24.16)')  a,  b,  c
  write(*,'(Z16,1X,Z16,1X,Z16)')    a,  b,  c

  write(*,'(3ES15.7)')  ra, rb, rc
  write(*,'(Z8,1X,Z8,1X,Z8)')  ra, rb, rc

end program VolatileTest

My  test system,

CPU: Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz (1995.02-MHz 686-class
CPU)
  Origin = "GenuineIntel"  Id = 0x6fd  Stepping = 13
 
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0xe3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant

REMOVE:kargl[52] gfc4x -o z dd.f90
REMOVE:kargl[53] ./z
0.1 0.1 0.1 0.1
  1.0000000000000002E-02  1.0000000000000002E-02  0.0000000000000000E+00
3F847AE147AE147C 3F847AE147AE147C                0
  1.0000001E-02  1.0000001E-02  0.0000000E+00
3C23D70B 3C23D70B        0


REMOVE:kargl[54] gfc4x -o z -O2 dd.f90
REMOVE:kargl[55] ./z
0.1 0.1 0.1 0.1 0.1
  1.0000000000000002E-02  1.0000000000000002E-02  0.0000000000000000E+00
3F847AE147AE147C 3F847AE147AE147C                0
  1.0000001E-02  1.0000001E-02  4.0978193E-10
3C23D70B 3C23D70B 2FE147AE



REMOVE:kargl[56] gfc4x -o z -O2 -mfpmath=387 dd.f90
REMOVE:kargl[57] ./z
0.1 0.1 0.1 0.1
  1.0000000000000002E-02  1.0000000000000002E-02  0.0000000000000000E+00
3F847AE147AE147C 3F847AE147AE147C                0
  1.0000001E-02  1.0000001E-02  4.0978193E-10
3C23D70B 3C23D70B 2FE147AE



REMOVE:kargl[59] gfc4x -o z -O2 -mfpmath=387 -ffloat-store dd.f90
REMOVE:kargl[60] ./z
0.1 0.1 0.1 0.1
  1.0000000000000002E-02  1.0000000000000002E-02  0.0000000000000000E+00
3F847AE147AE147C 3F847AE147AE147C                0
  1.0000001E-02  1.0000001E-02  0.0000000E+00
3C23D70B 3C23D70B        0


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41335

Reply via email to