compilers: add MSVC - #2
Open
maci0 wants to merge 4 commits into
Open
Conversation
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-operandimul [esp+4]from VC 10.0+), the four-way FP+1.0encoding (fld1 / VC 5.0 fsub-with-negated-constant / fadd / SSE2 handoff),rolfor rotates from VC 8.0+,cmovfor 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.