OSDN Git Service

Fix x86_64 round intrinsic duplicate load
authorMark Mendell <mark.p.mendell@intel.com>
Fri, 18 Sep 2015 12:22:04 +0000 (08:22 -0400)
committerMark P Mendell <mark.p.mendell@intel.com>
Wed, 7 Oct 2015 17:06:51 +0000 (17:06 +0000)
When I changed the code to use Load64BitValue, I forgot to delete the
original load instruction(s).  Remove them now.

Change-Id: I76aeccf88576507f2fbcf463ae1e503827a20fe2
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
compiler/optimizing/intrinsics_x86_64.cc

index 1a13b69..098db4c 100644 (file)
@@ -620,7 +620,6 @@ void IntrinsicCodeGeneratorX86_64::VisitMathRoundFloat(HInvoke* invoke) {
   codegen_->Load64BitValue(out, kPrimIntMax);
 
   // if inPlusPointFive >= maxInt goto done
-  __ movl(out, Immediate(kPrimIntMax));
   __ comiss(inPlusPointFive, codegen_->LiteralFloatAddress(static_cast<float>(kPrimIntMax)));
   __ j(kAboveEqual, &done);
 
@@ -668,7 +667,6 @@ void IntrinsicCodeGeneratorX86_64::VisitMathRoundDouble(HInvoke* invoke) {
   codegen_->Load64BitValue(out, kPrimLongMax);
 
   // if inPlusPointFive >= maxLong goto done
-  __ movq(out, Immediate(kPrimLongMax));
   __ comisd(inPlusPointFive, codegen_->LiteralDoubleAddress(static_cast<double>(kPrimLongMax)));
   __ j(kAboveEqual, &done);