Skip to content

JIT: Remove SSE2 CmpOp/BinOp emulation code#126266

Merged
tannergooding merged 2 commits into
dotnet:mainfrom
saucecontrol:binop-cleanup
Mar 30, 2026
Merged

JIT: Remove SSE2 CmpOp/BinOp emulation code#126266
tannergooding merged 2 commits into
dotnet:mainfrom
saucecontrol:binop-cleanup

Conversation

@saucecontrol

Copy link
Copy Markdown
Member

With the JIT baseline now at SSE4.2, these fallback implementations are no longer reachable.

Copilot AI review requested due to automatic review settings March 28, 2026 21:43
@github-actions github-actions Bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Mar 28, 2026
@dotnet-policy-service dotnet-policy-service Bot added the community-contribution Indicates that the PR has been added by a community member label Mar 28, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes now-unreachable SSE2-era emulation paths for SIMD integer comparison operations in the CoreCLR JIT, based on the updated xarch baseline (SSE4.2) making the direct hardware intrinsics consistently available.

Changes:

  • Removed SSE2 fallback/emulation implementations for Vector<long> equality and long greater/less-than comparisons.
  • Simplified unsigned GT_GT/GT_LT lowering by using EvaluateBroadcastInPlace for the bias constant vector.
  • Centralized xarch-only invariants as assertions (integral base type, non-EVEX path, and supported SIMD sizes).

@saucecontrol saucecontrol changed the title JIT: Remove SSE2 CmpOp emulation code JIT: Remove SSE2 CmpOp/BinOp emulation code Mar 29, 2026
@saucecontrol

Copy link
Copy Markdown
Member Author

cc @dotnet/jit-contrib

This just removes more dead code. No diffs.

@EgorBo

EgorBo commented Mar 29, 2026

Copy link
Copy Markdown
Member

/azp list

@azure-pipelines

This comment was marked as resolved.

@EgorBo

EgorBo commented Mar 29, 2026

Copy link
Copy Markdown
Member

/azp run runtime-coreclr jitstress-isas-x86

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@EgorBo EgorBo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Let's make sure the pipeline where we disable various ISAs doesn't regress

@tannergooding tannergooding merged commit da90921 into dotnet:main Mar 30, 2026
142 of 144 checks passed
@saucecontrol saucecontrol deleted the binop-cleanup branch March 30, 2026 17:25
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants