Explorar o código

Fix equal check in AOT XIP float cmp intrinsic (#1847)

Huang Qi %!s(int64=3) %!d(string=hai) anos
pai
achega
41eb938a95
Modificáronse 2 ficheiros con 2 adicións e 7 borrados
  1. 2 2
      core/iwasm/aot/aot_intrinsic.c
  2. 0 5
      core/shared/utils/bh_platform.h

+ 2 - 2
core/iwasm/aot/aot_intrinsic.c

@@ -442,7 +442,7 @@ aot_intrinsic_f32_cmp(AOTFloatCond cond, float32 lhs, float32 rhs)
 {
     switch (cond) {
         case FLOAT_EQ:
-            return (float32)fabs(lhs - rhs) <= WA_FLT_EPSILON ? 1 : 0;
+            return lhs == rhs ? 1 : 0;
 
         case FLOAT_LT:
             return lhs < rhs ? 1 : 0;
@@ -473,7 +473,7 @@ aot_intrinsic_f64_cmp(AOTFloatCond cond, float64 lhs, float64 rhs)
 {
     switch (cond) {
         case FLOAT_EQ:
-            return fabs(lhs - rhs) <= WA_DBL_EPSILON ? 1 : 0;
+            return lhs == rhs ? 1 : 0;
 
         case FLOAT_LT:
             return lhs < rhs ? 1 : 0;

+ 0 - 5
core/shared/utils/bh_platform.h

@@ -35,9 +35,4 @@
 #define WA_FREE wasm_runtime_free
 #endif
 
-/* The epsilon value is from https://www.cplusplus.com/reference/cfloat/ */
-
-#define WA_FLT_EPSILON 1e-5f
-#define WA_DBL_EPSILON 1e-9
-
 #endif /* #ifndef _BH_PLATFORM_H */