Commit 1b690be2 authored by Pierre Langlois's avatar Pierre Langlois Committed by Commit Bot

[arm64] Add missing DCHECKs in the assembler for movi.

NEONModifiedImmShiftLsl and NEONModifiedImmShiftMsl will also have a
DCHECK(is_uint8(imm)), however by that time we may have truncated the
uint64_t integer with a static_cast<int>.

Bug: v8:11033
Change-Id: Id0786e6525e385294748af6c77bdee4ca6db106c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2520901Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#71019}
parent 452ca36b
......@@ -3210,9 +3210,11 @@ void Assembler::movi(const VRegister& vd, const uint64_t imm, Shift shift,
Emit(q | NEONModImmOp(1) | NEONModifiedImmediate_MOVI |
ImmNEONabcdefgh(imm8) | NEONCmode(0xE) | Rd(vd));
} else if (shift == LSL) {
DCHECK(is_uint8(imm));
NEONModifiedImmShiftLsl(vd, static_cast<int>(imm), shift_amount,
NEONModifiedImmediate_MOVI);
} else {
DCHECK(is_uint8(imm));
NEONModifiedImmShiftMsl(vd, static_cast<int>(imm), shift_amount,
NEONModifiedImmediate_MOVI);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment