Skip to content

[wasm] Bump chrome for testing - linux: 127.0.6533.88, windows: 127.0.6533.89#55

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
update-chrome-version-10231941963
Open

[wasm] Bump chrome for testing - linux: 127.0.6533.88, windows: 127.0.6533.89#55
github-actions[bot] wants to merge 1 commit into
mainfrom
update-chrome-version-10231941963

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 4, 2024

Copy link
Copy Markdown

No description provided.

SamMonoRT pushed a commit that referenced this pull request Jun 15, 2026
…#129188)

In Lowering::IsContainableUnaryOrBinaryOp, the maximum shift amount
permitted for a contained shift (LSH/RSH/RSZ) was computed from the
parent node's type. For comparison parents (GT_EQ/GT_NE/GT_LT/etc. and
GT_TEST_EQ/GT_TEST_NE) the parent's type is TYP_INT regardless of
operand width, so any shift amount in 32..63 fed into a 64-bit
comparison would fail containment. As a result, we emitted

    lsl  x1, x1, #55
    cmp  x0, x1

instead of the optimized

    cmp  x0, x1, LSL #55

and similarly for ANDS-feeding patterns like (a & (b >> 38)) != 0.

Use the shift node's own type to derive maxShift; for binary parents
where parent and child types agree this is unchanged, and for compares
it gives the correct operand width (31 for int, 63 for long).

Update the existing FileCheck tests in Cmp.cs and And.cs that documented
the old buggy codegen, and add CmpLargeShift64BitSwap to cover the
swapped-operand long-compare path.

Fixes dotnet#111889

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants