• bmeurer's avatar
    [turbofan] Improve typing rule for modulus. · 17a7f583
    bmeurer authored
    Infer a more precise type even in case where NaN and/or -0 is a possible
    outcome of the operation, and use this more precise type to improve code
    generation for the modulus itself by trying harder to stick to Word32
    operations instead of going to Float64, and also optimize the pattern
    where we compare the output of x % y to some non-zero integer constant
    K, in which case we can truncate the output of x % y to Word32 if the
    type of x % y is Signed32/Unsigned32 \/ NaN \/ MinusZero, as NaN and
    MinusZero will both be truncated to zero, which cannot match the non
    zero constant K.
    
    R=jarin@chromium.org
    
    Review-Url: https://codereview.chromium.org/2202413002
    Cr-Commit-Position: refs/heads/master@{#38267}
    17a7f583
types.h 32.2 KB