Closed Bug 1761850 Opened 5 months ago Closed 5 months ago

Inconsistent results (f64.abs or f64.lt) on Intel vs M1 Mac

Categories

(Core :: JavaScript: WebAssembly, defect, P1)

defect

Tracking

()

RESOLVED FIXED
100 Branch
Tracking Status
firefox-esr91 --- fixed
firefox99 --- fixed
firefox100 --- fixed

People

(Reporter: aswan, Assigned: yury)

Details

Attachments

(2 files)

Attached file wasm-opt.html

See attached test case -- the page displays "OK" on an Intel-based Mac and "Error: NaN" on an M1. Also running on M1 and setting a breakpoint in the wasm and then stepping through causes the page to display "OK", which suggests a bug in native code generation on M1?
All tests were with Firefox 98.0.2.

JSOpToCondition is applicable only to integer types. JSOpToDoubleCondition and
ConditionFromDoubleCondition sequence has to be used for float types.

Assignee: nobody → ydelendik
Status: NEW → ASSIGNED

I assume FF98, FF99, and even FF91ESR are affected; please investigate. Uplifts would be welcome for at least 91 and 99.

Severity: -- → S2
Priority: -- → P1

Looks like bug 1710024 is prerequisite for this bug, and it is present in esr91. I will check if the patch lands cleanly with all suggested versions.

Pushed by ydelendik@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/27d2bf526ea8
Fix wasm select on ARM64. r=jseward
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 100 Branch

Comment on attachment 9269769 [details]
Bug 1761850 - Fix wasm select on ARM64. r?jseward

Beta/Release Uplift Approval Request

  • User impact if declined: Some wasm application may not work properly on Aarch64 or Apple M1 hardware.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The changes only affect the code that produces the error, limited to the affected platform, and tests are provided.
  • String changes made/needed:

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Having the proper implementation of Wasm SIMD is somewhat important -- new application that use this technology are appearing on the market at this moment and could cause issues for ESRs.
  • User impact if declined: Some wasm application may not work properly on Aarch64 or Apple M1 hardware.
  • Fix Landed on Version: 100
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The changes only affect the code that produces the error, limited to the affected platform, and tests are provided.
Attachment #9269769 - Flags: approval-mozilla-release?
Attachment #9269769 - Flags: approval-mozilla-esr91?
Attachment #9269769 - Flags: approval-mozilla-beta?

Comment on attachment 9269769 [details]
Bug 1761850 - Fix wasm select on ARM64. r?jseward

This will be carried from Central to Beta with Merge Day

Attachment #9269769 - Flags: approval-mozilla-beta? → approval-mozilla-beta-

Comment on attachment 9269769 [details]
Bug 1761850 - Fix wasm select on ARM64. r?jseward

Important ARM64 WASM correctness fix with tests. Approved for 91.9esr.

Attachment #9269769 - Flags: approval-mozilla-esr91? → approval-mozilla-esr91+

Comment on attachment 9269769 [details]
Bug 1761850 - Fix wasm select on ARM64. r?jseward

Approved for 99.0.1.

Attachment #9269769 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.