https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87064
--- Comment #3 from seurer at gcc dot gnu.org --- First off I know little about Fortran. I looked at some articles about how to write out values and changed the code to this (sorry if this offends any Fortran enthusiasts): WRITE(*,'(L1,L2,F8.2,F8.2,F8.2)') rg, vresult, abs (rg - 0.0), abs (vresult - 0.0), abs (rg - vresult) if (abs (rg - vresult) .ge. e) STOP 9 WRITE(*,'(L1,L2,F8.2,F8.2,F8.2)') rw, vresult, abs (rw - 0.0), abs (vresult - 0.0), abs (rw - vresult) if (abs (rw - vresult) .ge. e) STOP 10 WRITE(*,'(L1,L2,F8.2,F8.2,F8.2)') rv, vresult, abs (rv - 0.0), abs (vresult - 0.0), abs (rv - vresult) if (abs (rv - vresult) .ge. e) STOP 11 if (abs (rc - vresult) .ge. e) STOP 12 When I run it with r263751 I get: T T 10.00 10.00 0.00 T T 10.00 10.00 0.00 T T 9.00 10.00 1.00 STOP 11 FAIL: libgomp.oacc-fortran/reduction-3.f90 -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -O1 execution test With r263750 I get: T T 10.00 10.00 0.00 T T 10.00 10.00 0.00 T T 10.00 10.00 0.00 PASS: libgomp.oacc-fortran/reduction-3.f90 -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -O1 execution test