jit: Suppress i_mul_add optimization when adding squares
The i_mul_add instruction did not handle X * X + X * X correctly because both source registers for the addition was the same as the destination register for X * X. While the LHS was correctly set to X * X, the RHS was read before the computation of X * X, reading a stale value that could result in anything.
Fixes #10454
CT Test Results
3 files 143 suites 49m 53s ⏱️ 1 604 tests 1 555 ✅ 49 💤 0 ❌ 2 350 runs 2 276 ✅ 74 💤 0 ❌
Results for commit 8ee15070.
:recycle: This comment has been updated with latest results.
To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.
See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.
Artifacts
// Erlang/OTP Github Action Bot