summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/builder.cc
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2014-10-23 17:01:13 +0100
committerCalin Juravle <calin@google.com>2014-10-23 17:01:13 +0100
commit096cc029451f4d48a79361ec206b6a7f3f58dd7c (patch)
treecf6b316e3a9500355fbb32b89befddcdde8a1e72 /compiler/optimizing/builder.cc
parent46de37a6a314368cc5fc52743095e48a864ed9b5 (diff)
downloadandroid_art-096cc029451f4d48a79361ec206b6a7f3f58dd7c.tar.gz
android_art-096cc029451f4d48a79361ec206b6a7f3f58dd7c.tar.bz2
android_art-096cc029451f4d48a79361ec206b6a7f3f58dd7c.zip
[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes
Also add 414-optimizing-arith-sub to TEST_ART_BROKEN_OPTIMIZING_ARM64_RUN_TESTS. Change-Id: Ia1b7ff7857bc0e488b9b8ed8a36efb1a3a9bad36
Diffstat (limited to 'compiler/optimizing/builder.cc')
-rw-r--r--compiler/optimizing/builder.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc
index f48f4c3990..79cbd0ee21 100644
--- a/compiler/optimizing/builder.cc
+++ b/compiler/optimizing/builder.cc
@@ -783,6 +783,16 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32
break;
}
+ case Instruction::SUB_FLOAT: {
+ Binop_23x<HSub>(instruction, Primitive::kPrimFloat);
+ break;
+ }
+
+ case Instruction::SUB_DOUBLE: {
+ Binop_23x<HSub>(instruction, Primitive::kPrimDouble);
+ break;
+ }
+
case Instruction::ADD_INT_2ADDR: {
Binop_12x<HAdd>(instruction, Primitive::kPrimInt);
break;
@@ -833,6 +843,16 @@ bool HGraphBuilder::AnalyzeDexInstruction(const Instruction& instruction, uint32
break;
}
+ case Instruction::SUB_FLOAT_2ADDR: {
+ Binop_12x<HSub>(instruction, Primitive::kPrimFloat);
+ break;
+ }
+
+ case Instruction::SUB_DOUBLE_2ADDR: {
+ Binop_12x<HSub>(instruction, Primitive::kPrimDouble);
+ break;
+ }
+
case Instruction::MUL_INT_2ADDR: {
Binop_12x<HMul>(instruction, Primitive::kPrimInt);
break;