• ahaas's avatar
    [arm64][turbofan] Fix add+shr for big shift values. · ed6e28d2
    ahaas authored
    Arm64 compiles "x +_64 (y >> shift)" into a single instruction if
    "shift" is a constant. The code generator expects that "shift" is a
    32 bit constant. however, TurboFan can also pass in a 64 bit constant,
    which caused a crash in the code generator.
    
    With this CL we cast the constant of TurboFan to an int in the
    instruction selector and thereby satisfy the assumption of the code
    generator. This should be correct since the code generator anyways cast
    the "shift" to an int5 or int6 eventually.
    
    R=v8-arm-ports@googlegroups.com
    BUG=v8:5923
    
    Review-Url: https://codereview.chromium.org/2669203005
    Cr-Commit-Position: refs/heads/master@{#43036}
    ed6e28d2
test-run-machops.cc 208 KB