Skip to content

compilers: add MSVC - #2

Open
maci0 wants to merge 4 commits into
decompals:mainfrom
maci0:compilers/msvc
Open

compilers: add MSVC#2
maci0 wants to merge 4 commits into
decompals:mainfrom
maci0:compilers/msvc

Conversation

@maci0

@maci0 maci0 commented Aug 20, 2026

Copy link
Copy Markdown

Updated again: the codegen-by-version section now carries the probe-2 verified markers — division-tail discriminators (VC 5.0/6.0 mov eax,edx-then-shift vs VC 7.0+ shr edx,N-first, the signed-div ECX round-trip, memory-operand imul [esp+4] from VC 10.0+), the four-way FP +1.0 encoding (fld1 / VC 5.0 fsub-with-negated-constant / fadd / SSE2 handoff), rol for rotates from VC 8.0+, cmov for min/max/clamp in VC 11.0, cdq-abs in VC 10.0+, and the proven non-discriminators (VC 6.0 SP levels and VC 4.x codegen-identical; 64-bit arithmetic stays helper calls). All verified by compiling probe #2 through every preserved CL.EXE plus all six VC 6.0 SP images.

maci0 and others added 3 commits August 21, 2026 11:56
Expands the codegen-detection section with the probe-verified fingerprint
matrix (division magic, loop-alignment nops, SSE2 FPU, rep string ops,
stack probes, /GS, 16-bit line) compiled through every preserved CL.EXE
at /O1 and /O2.
Expands the codegen-by-version section with the second probe's verified
findings: division-tail discriminators (mov eax,edx-then-shift for
VC 5.0/6.0 vs shr-edx-first for 7.0+, signed-div ECX round-trip,
memory-operand imul from VC 10.0+), the FP +1.0 encoding split (fld1 /
VC 5.0 fsub-with-negated-constant / fadd / SSE2 handoff), rol for
rotates from VC 8.0+, cmov for min/max/clamp in VC 11.0, cdq-abs in
VC 10.0+, and the proven non-discriminators (VC 6.0 SP levels and
VC 4.x are codegen-identical; 64-bit arithmetic stays helper calls).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant