diff options
| author | 2014-10-22 14:21:21 +0000 | |
|---|---|---|
| committer | 2014-10-22 14:21:21 +0000 | |
| commit | 7f7bf4ec461904961ddfb7deae8433c96a03f23e (patch) | |
| tree | c089affb5dc108c3e3372a0d500831f6c198167d /compiler/optimizing/builder.cc | |
| parent | 53093be1e375350cb34ec1ae607965f611a575cc (diff) | |
| parent | b5bfa96ff20e86316961327dec5c859239dab6a0 (diff) | |
Merge "Add multiplication for floats/doubles in optimizing compiler"
Diffstat (limited to 'compiler/optimizing/builder.cc')
| -rw-r--r-- | compiler/optimizing/builder.cc | 20 |
1 files changed, 20 insertions, 0 deletions
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<HMul>(instruction, Primitive::kPrimFloat); + break; + } + + case Instruction::MUL_DOUBLE: { + Binop_23x<HMul>(instruction, Primitive::kPrimDouble); + break; + } + case Instruction::ADD_LONG_2ADDR: { Binop_12x<HAdd>(instruction, Primitive::kPrimLong); break; @@ -828,6 +838,16 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32 break; } + case Instruction::MUL_FLOAT_2ADDR: { + Binop_12x<HMul>(instruction, Primitive::kPrimFloat); + break; + } + + case Instruction::MUL_DOUBLE_2ADDR: { + Binop_12x<HMul>(instruction, Primitive::kPrimDouble); + break; + } + case Instruction::ADD_INT_LIT16: { Binop_22s<HAdd>(instruction, false); break; |