• Milad Farazmand's avatar
    s390: Check for zero-extended phi inputs during instruction selection · db89a34a
    Milad Farazmand authored
    Port 5c0f7219
    
    Original Commit Message:
    
        The 64-bit instruction selectors check whether the input value to
        a ChangeUint32ToUint64 node was produced by a node that sets the upper
        32 bits to zero, and if so, they avoid emitting an extra instruction to
        clear the upper bits. This change:
    
        1. Extends that existing mechanism to also include phi values: if all of
           the inputs to a phi value guarantee that the upper 32 bits are zero,
           then the phi value does too.
        2. Updates x64 to include non-negative int32 constants in the list of
           nodes that always clear the upper bits. I didn't add this to any
           other architecture because I'm less certain of how they resolve moves
           from constants.
    
        This change improves the speed of the Mono interpreter on x64 by about
        5%.
    
    R=seth.brenith@microsoft.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Ic515a254025b518c767fb64c5b1282cdf226f5ff
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2393742Reviewed-by: 's avatarSeth Brenith <seth.brenith@microsoft.com>
    Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#69710}
    db89a34a
instruction-selector-s390.cc 114 KB