From b5bfa96ff20e86316961327dec5c859239dab6a0 Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Tue, 21 Oct 2014 18:02:24 +0100 Subject: Add multiplication for floats/doubles in optimizing compiler Change-Id: I61de8ce1d9e37e30db62e776979b3f22dc643894 --- compiler/optimizing/builder.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'compiler/optimizing/builder.cc') diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc index 1188ec0948..4d575cbdcf 100644 --- a/compiler/optimizing/builder.cc +++ b/compiler/optimizing/builder.cc @@ -793,6 +793,16 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32 break; } + case Instruction::MUL_FLOAT: { + Binop_23x(instruction, Primitive::kPrimFloat); + break; + } + + case Instruction::MUL_DOUBLE: { + Binop_23x(instruction, Primitive::kPrimDouble); + break; + } + case Instruction::ADD_LONG_2ADDR: { Binop_12x(instruction, Primitive::kPrimLong); break; @@ -828,6 +838,16 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32 break; } + case Instruction::MUL_FLOAT_2ADDR: { + Binop_12x(instruction, Primitive::kPrimFloat); + break; + } + + case Instruction::MUL_DOUBLE_2ADDR: { + Binop_12x(instruction, Primitive::kPrimDouble); + break; + } + case Instruction::ADD_INT_LIT16: { Binop_22s(instruction, false); break; -- cgit v1.2.3-59-g8ed1b