DescriptionARM assembler: fix undefined behaviour in fits_shifter
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
Committed: https://crrev.com/721fdb56e0fc92c662c7d8b42be8a1d689c3b535
Cr-Commit-Position: refs/heads/master@{#26974}
Patch Set 1 #
Messages
Total messages: 13 (3 generated)
|