• hans's avatar
    ARM assembler: fix undefined behaviour in fits_shifter · 721fdb56
    hans authored
    Bit-shifts have undefined behaviour if the shift amount is greater
    or equal to the width of the type.
    
    In this case the code would do imm32 >> 32 when rot == 0.
    
    A newer version of Clang unrolled the loop, optimized the first
    iteration away, causing the test suite to fail with:
    
      #
      # Fatal error in ../src/arm/assembler-arm.cc, line 1212
      # Check failed: !rn.is(ip).
      #
    
    as well as crashing when running Chromium tests on Android (at least
    we think this was the cause, see the bug).
    
    BUG=463436, 444089
    LOG=Y
    
    Review URL: https://codereview.chromium.org/979633002
    
    Cr-Commit-Position: refs/heads/master@{#26974}
    721fdb56
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...