commit cab6888d7e8d5d766a336670fe60f58dca657298
Author: Maxim Blumenthal <maxim.blumenthal@intel.com>
Date:   Tue Jul 14 19:40:13 2015 +0300

    Replaced FP comparisons with inequalities
    in libgomp tests.

diff --git a/libgomp/testsuite/libgomp.c/examples-4/simd-3.c b/libgomp/testsuite/libgomp.c/examples-4/simd-3.c
index 9f33713..9082e49 100644
--- a/libgomp/testsuite/libgomp.c/examples-4/simd-3.c
+++ b/libgomp/testsuite/libgomp.c/examples-4/simd-3.c
@@ -46,15 +46,16 @@ double work_ref( double *a, double *b, int n )
 
 int main ()
 {
-  double a[N], a_ref[N], b[N];
-  int res, ref;
+  double a[N], a_ref[N], b[N], res, ref, diff;
 
   init(a, a_ref, b, N);
 
   res = work(a, b, N);
   ref = work_ref(a_ref, b, N);
 
-  if (res != ref)
+  diff = res - ref;
+
+  if (diff > EPS || -diff > EPS)
     abort ();
 
   return 0;
diff --git a/libgomp/testsuite/libgomp.c/examples-4/simd-8.c b/libgomp/testsuite/libgomp.c/examples-4/simd-8.c
index 397e2a3..bbef778 100644
--- a/libgomp/testsuite/libgomp.c/examples-4/simd-8.c
+++ b/libgomp/testsuite/libgomp.c/examples-4/simd-8.c
@@ -5,6 +5,8 @@
 #include <stdlib.h>
 #include <math.h>
 
+#define EPS 0.005
+
 int   P[1000];
 float A[1000];
 
@@ -31,7 +33,7 @@ float do_work(float *arr)
 
 int main(void)
 {
-  float pri, arr[1000];
+  float pri, arr[1000], diff;
 
   for (int i = 0; i < 1000; ++i)
   {
@@ -42,7 +44,9 @@ int main(void)
 
   pri = do_work(&arr[0]);
 
-  if (pri != 8237.25)
+  diff = pri - 8237.25;
+
+  if (diff > EPS || -diff > EPS)
     abort ();
 
   return 0;
diff --git a/libgomp/testsuite/libgomp.fortran/examples-4/simd-3.f90 b/libgomp/testsuite/libgomp.fortran/examples-4/simd-3.f90
index f2e0047..2c02945 100644
--- a/libgomp/testsuite/libgomp.fortran/examples-4/simd-3.f90
+++ b/libgomp/testsuite/libgomp.fortran/examples-4/simd-3.f90
@@ -49,11 +49,14 @@ end module
 
 program SIMD3
   use SIMD3_mod
-  double precision :: a(128), b(128), sum, sum_ref
+  double precision :: a(128), b(128), sum, sum_ref, diff
+  double precision, parameter :: EPS = 0.0000000000000001
 
   call  work(a, b, 128, sum)
   call  work_ref(a, b, 128, sum_ref)
 
-  if (sum .ne. sum_ref) call abort
+  diff = sum - sum_ref
+
+  if (diff > EPS .or. -diff > EPS) call abort
 
 end program
diff --git a/libgomp/testsuite/libgomp.fortran/examples-4/simd-8.f90 b/libgomp/testsuite/libgomp.fortran/examples-4/simd-8.f90
index a580937..ba7b0f9 100644
--- a/libgomp/testsuite/libgomp.fortran/examples-4/simd-8.f90
+++ b/libgomp/testsuite/libgomp.fortran/examples-4/simd-8.f90
@@ -34,8 +34,9 @@ end module work
 program simd_8f
   use work
   implicit none
-  real :: pri, arr(1000)
+  real :: pri, arr(1000), diff
   integer :: i
+  integer, parameter :: EPS = 0.005
 
   do i = 1, 1000
      P(i)   = i
@@ -43,6 +44,9 @@ program simd_8f
      arr(i) = (i-1) * 1.8
   end do
   pri = do_work(arr)
-  if (pri .ne. 8237.25) call abort ()
+
+  diff = pri - 8237.25
+
+  if (diff > EPS .or. -diff > EPS) call abort
 
 end program
