[vm, compiler] Fix TestSmiInstr on X64 with compressed pointers.
Fixes various utf8 decoding tests.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/46468
Change-Id: I5ddc03cf72043da64a1107b59ef350f995e4a00b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206323
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
diff --git a/runtime/vm/compiler/assembler/assembler_x64.h b/runtime/vm/compiler/assembler/assembler_x64.h
index a8b539a..c9fb518 100644
--- a/runtime/vm/compiler/assembler/assembler_x64.h
+++ b/runtime/vm/compiler/assembler/assembler_x64.h
@@ -562,7 +562,9 @@
return CompareImmediate(reg, Immediate(immediate), width);
}
- void testl(Register reg, const Immediate& imm) { testq(reg, imm); }
+ void testl(Register reg, const Immediate& imm) {
+ testq(reg, Immediate(imm.value() & 0xFFFFFFFF));
+ }
void testb(const Address& address, const Immediate& imm);
void testb(const Address& address, Register reg);