Title: [210412] branches/safari-603-branch

Diff

Modified: branches/safari-603-branch/JSTests/ChangeLog (210411 => 210412)


--- branches/safari-603-branch/JSTests/ChangeLog	2017-01-06 01:48:18 UTC (rev 210411)
+++ branches/safari-603-branch/JSTests/ChangeLog	2017-01-06 01:48:22 UTC (rev 210412)
@@ -1,5 +1,19 @@
 2017-01-05  Matthew Hanson  <[email protected]>
 
+        Merge r210127. rdar://problem/29795709
+
+    2016-12-22  Keith Miller  <[email protected]>
+
+            WebAssembly: Make spec-tests/f32.wast.js and spec-tests/f64.wast.js pass
+            https://bugs.webkit.org/show_bug.cgi?id=166447
+
+            Reviewed by Saam Barati.
+
+            * wasm.yaml:
+            * wasm/wasm.json:
+
+2017-01-05  Matthew Hanson  <[email protected]>
+
         Merge r210126. rdar://problem/29793949
 
     2016-12-22  Saam Barati  <[email protected]>

Modified: branches/safari-603-branch/JSTests/wasm/wasm.json (210411 => 210412)


--- branches/safari-603-branch/JSTests/wasm/wasm.json	2017-01-06 01:48:18 UTC (rev 210411)
+++ branches/safari-603-branch/JSTests/wasm/wasm.json	2017-01-06 01:48:22 UTC (rev 210412)
@@ -152,8 +152,8 @@
         "f32.sub":             { "category": "arithmetic", "value": 147, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Sub"          },
         "f32.mul":             { "category": "arithmetic", "value": 148, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Mul"          },
         "f32.div":             { "category": "arithmetic", "value": 149, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Div"          },
-        "f32.min":             { "category": "arithmetic", "value": 150, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @0, @1)" },
-        "f32.max":             { "category": "arithmetic", "value": 151, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @1, @0)" },
+        "f32.min":             { "category": "arithmetic", "value": 150, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1))" },
+        "f32.max":             { "category": "arithmetic", "value": 151, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0))" },
         "f32.abs":             { "category": "arithmetic", "value": 139, "return": ["f32"],      "parameter": ["f32"],                  "immediate": [], "b3op": "Abs"          },
         "f32.neg":             { "category": "arithmetic", "value": 140, "return": ["f32"],      "parameter": ["f32"],                  "immediate": [], "b3op": "Neg"          },
         "f32.copysign":        { "category": "arithmetic", "value": 152, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i32(0x80000000)), BitAnd(BitwiseCast(@0), i32(0x7fffffff))))" },
@@ -172,8 +172,8 @@
         "f64.sub":             { "category": "arithmetic", "value": 161, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Sub"          },
         "f64.mul":             { "category": "arithmetic", "value": 162, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Mul"          },
         "f64.div":             { "category": "arithmetic", "value": 163, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Div"          },
-        "f64.min":             { "category": "arithmetic", "value": 164, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @0, @1)" },
-        "f64.max":             { "category": "arithmetic", "value": 165, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @1, @0)" },
+        "f64.min":             { "category": "arithmetic", "value": 164, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1))" },
+        "f64.max":             { "category": "arithmetic", "value": 165, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0))" },
         "f64.abs":             { "category": "arithmetic", "value": 153, "return": ["f64"],      "parameter": ["f64"],                  "immediate": [], "b3op": "Abs"          },
         "f64.neg":             { "category": "arithmetic", "value": 154, "return": ["f64"],      "parameter": ["f64"],                  "immediate": [], "b3op": "Neg"          },
         "f64.copysign":        { "category": "arithmetic", "value": 166, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i64(0x8000000000000000)), BitAnd(BitwiseCast(@0), i64(0x7fffffffffffffff))))" },

Modified: branches/safari-603-branch/JSTests/wasm.yaml (210411 => 210412)


--- branches/safari-603-branch/JSTests/wasm.yaml	2017-01-06 01:48:18 UTC (rev 210411)
+++ branches/safari-603-branch/JSTests/wasm.yaml	2017-01-06 01:48:22 UTC (rev 210412)
@@ -71,13 +71,13 @@
   cmd: runWebAssemblySpecTest :skip
 
 - path: wasm/spec-tests/f32.wast.js
-  cmd: runWebAssemblySpecTest :skip
+  cmd: runWebAssemblySpecTest :normal
 
 - path: wasm/spec-tests/f32_cmp.wast.js
   cmd: runWebAssemblySpecTest :normal
 
 - path: wasm/spec-tests/f64.wast.js
-  cmd: runWebAssemblySpecTest :skip
+  cmd: runWebAssemblySpecTest :normal
 
 - path: wasm/spec-tests/f64_cmp.wast.js
   cmd: runWebAssemblySpecTest :normal

Modified: branches/safari-603-branch/Source/_javascript_Core/ChangeLog (210411 => 210412)


--- branches/safari-603-branch/Source/_javascript_Core/ChangeLog	2017-01-06 01:48:18 UTC (rev 210411)
+++ branches/safari-603-branch/Source/_javascript_Core/ChangeLog	2017-01-06 01:48:22 UTC (rev 210412)
@@ -1,5 +1,25 @@
 2017-01-05  Matthew Hanson  <[email protected]>
 
+        Merge r210127. rdar://problem/29795709
+
+    2016-12-22  Keith Miller  <[email protected]>
+
+            WebAssembly: Make spec-tests/f32.wast.js and spec-tests/f64.wast.js pass
+            https://bugs.webkit.org/show_bug.cgi?id=166447
+
+            Reviewed by Saam Barati.
+
+            We needed to treat -0.0 < 0.0 for floating point min/max. For min,
+            the algorithm works because if a == b then a and b are not NaNs so
+            either they are the same or they are some zero. When we or a and b
+            either we get the same number back or we get -0.0. Similarly for
+            max we use an and and the sign bit gets dropped if one is 0.0 and
+            the other is -0.0, otherwise, we get the same number back.
+
+            * wasm/wasm.json:
+
+2017-01-05  Matthew Hanson  <[email protected]>
+
         Merge r210126. rdar://problem/29793949
 
     2016-12-22  Saam Barati  <[email protected]>

Modified: branches/safari-603-branch/Source/_javascript_Core/wasm/wasm.json (210411 => 210412)


--- branches/safari-603-branch/Source/_javascript_Core/wasm/wasm.json	2017-01-06 01:48:18 UTC (rev 210411)
+++ branches/safari-603-branch/Source/_javascript_Core/wasm/wasm.json	2017-01-06 01:48:22 UTC (rev 210412)
@@ -152,8 +152,8 @@
         "f32.sub":             { "category": "arithmetic", "value": 147, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Sub"          },
         "f32.mul":             { "category": "arithmetic", "value": 148, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Mul"          },
         "f32.div":             { "category": "arithmetic", "value": 149, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Div"          },
-        "f32.min":             { "category": "arithmetic", "value": 150, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @0, @1)" },
-        "f32.max":             { "category": "arithmetic", "value": 151, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @1, @0)" },
+        "f32.min":             { "category": "arithmetic", "value": 150, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1))" },
+        "f32.max":             { "category": "arithmetic", "value": 151, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0))" },
         "f32.abs":             { "category": "arithmetic", "value": 139, "return": ["f32"],      "parameter": ["f32"],                  "immediate": [], "b3op": "Abs"          },
         "f32.neg":             { "category": "arithmetic", "value": 140, "return": ["f32"],      "parameter": ["f32"],                  "immediate": [], "b3op": "Neg"          },
         "f32.copysign":        { "category": "arithmetic", "value": 152, "return": ["f32"],      "parameter": ["f32", "f32"],           "immediate": [], "b3op": "BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i32(0x80000000)), BitAnd(BitwiseCast(@0), i32(0x7fffffff))))" },
@@ -172,8 +172,8 @@
         "f64.sub":             { "category": "arithmetic", "value": 161, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Sub"          },
         "f64.mul":             { "category": "arithmetic", "value": 162, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Mul"          },
         "f64.div":             { "category": "arithmetic", "value": 163, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Div"          },
-        "f64.min":             { "category": "arithmetic", "value": 164, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @0, @1)" },
-        "f64.max":             { "category": "arithmetic", "value": 165, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(LessThan(@0, @1), @1, @0)" },
+        "f64.min":             { "category": "arithmetic", "value": 164, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1))" },
+        "f64.max":             { "category": "arithmetic", "value": 165, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0))" },
         "f64.abs":             { "category": "arithmetic", "value": 153, "return": ["f64"],      "parameter": ["f64"],                  "immediate": [], "b3op": "Abs"          },
         "f64.neg":             { "category": "arithmetic", "value": 154, "return": ["f64"],      "parameter": ["f64"],                  "immediate": [], "b3op": "Neg"          },
         "f64.copysign":        { "category": "arithmetic", "value": 166, "return": ["f64"],      "parameter": ["f64", "f64"],           "immediate": [], "b3op": "BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i64(0x8000000000000000)), BitAnd(BitwiseCast(@0), i64(0x7fffffffffffffff))))" },
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to