| Index: runtime/vm/simulator_arm64.cc
|
| ===================================================================
|
| --- runtime/vm/simulator_arm64.cc (revision 35975)
|
| +++ runtime/vm/simulator_arm64.cc (working copy)
|
| @@ -2210,8 +2210,8 @@
|
| result = vn_val - vm_val;
|
| break;
|
| default:
|
| - // Unknown(instr);
|
| - break;
|
| + UnimplementedInstruction(instr);
|
| + return;
|
| }
|
|
|
| set_vregisterd(vd, bit_cast<int64_t, double>(result));
|
| @@ -2221,12 +2221,12 @@
|
| void Simulator::DecodeFPCompare(Instr* instr) {
|
| const VRegister vn = instr->VnField();
|
| const VRegister vm = instr->VmField();
|
| - const double vn_val = get_vregisterd(vn);
|
| + const double vn_val = bit_cast<double, int64_t>(get_vregisterd(vn));
|
| double vm_val;
|
|
|
| if ((instr->Bit(22) == 1) && (instr->Bits(3, 2) == 0)) {
|
| // Format(instr, "fcmpd 'vn, 'vm");
|
| - vm_val = get_vregisterd(vm);
|
| + vm_val = bit_cast<double, int64_t>(get_vregisterd(vm));
|
| } else if ((instr->Bit(22) == 1) && (instr->Bits(3, 2) == 1)) {
|
| if (instr->VmField() == V0) {
|
| // Format(instr, "fcmpd 'vn, #0.0");
|
|
|