Index: src/compiler/arm64/code-generator-arm64.cc |
diff --git a/src/compiler/arm64/code-generator-arm64.cc b/src/compiler/arm64/code-generator-arm64.cc |
index e22c3441f38f5048a74b7b212ce666cc997b1bfe..b4b8a2945f06304aa757688eb1cc8970d438cab8 100644 |
--- a/src/compiler/arm64/code-generator-arm64.cc |
+++ b/src/compiler/arm64/code-generator-arm64.cc |
@@ -1046,6 +1046,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ Fccmp(i.InputFloat32Register(0), i.InputFloat32Register(0), VFlag, |
vc); |
__ Cset(i.OutputRegister(1), vc); |
jbramley
2015/12/16 12:47:01
This can now be a simple "__ Mov(i.OutputRegister(
ahaas
2015/12/16 14:35:23
Done.
|
+ Label done; |
+ __ B(vc, &done); |
+ __ Fcmp(i.InputFloat32Register(0), -9223372036854775808.0f); |
jbramley
2015/12/16 12:47:01
Consider using "static_cast<float>(-INT64_MIN)" he
Michael Starzinger
2015/12/16 13:01:29
+1, magic number is being magic, please use a name
ahaas
2015/12/16 14:35:23
Done.
|
+ __ Cset(i.OutputRegister(1), eq); |
+ __ Bind(&done); |
} |
break; |
case kArm64Float64ToInt64: |
@@ -1055,6 +1060,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ Ccmp(i.OutputRegister(0), -1, VFlag, vc); |
__ Fccmp(i.InputDoubleRegister(0), i.InputDoubleRegister(0), VFlag, vc); |
__ Cset(i.OutputRegister(1), vc); |
+ Label done; |
+ __ B(vc, &done); |
+ __ Fcmp(i.InputDoubleRegister(0), -9223372036854775808.0f); |
jbramley
2015/12/16 12:47:01
Ditto. (Otherwise, remove the "f" since this is a
Michael Starzinger
2015/12/16 13:01:29
+1
ahaas
2015/12/16 14:35:23
Done.
|
+ __ Cset(i.OutputRegister(1), eq); |
+ __ Bind(&done); |
} |
break; |
case kArm64Float32ToUint64: |