• Tobias Tebbi's avatar
    [turbofan][csa] optimize Smi untagging better · ff22ae80
    Tobias Tebbi authored
    - Introduce new operator variants for signed right-shifts with the
      additional information that they always shift out zeros.
    - Use these new operators for Smi untagging.
    - Merge left-shifts with a preceding Smi-untagging shift.
    - Optimize comparisons of Smi-untagging shifts to operate on the
      unshifted word.
    - Optimize 64bit comparisons of values expanded from 32bit to use
      a 32bit comparison instead.
    - Change CodeStubAssembler::UntagSmi to first sign-extend and then
      right-shift to enable better address computations for Smi indices.
    
    Bug: v8:9962
    Change-Id: If91300f365e8f01457aebf0bd43bdf88b305c460
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135734
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67378}
    ff22ae80
machine-operator-reducer-unittest.cc 101 KB