summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Calin Juravle <calin@google.com> 2014-10-23 16:04:25 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-10-23 16:04:25 +0000
commite2b2cbf8bffdf9ee3ece487fde9ac78652b4abaf (patch)
treea66582c2cb6026be2f59ba66ff437429b67bbe44
parentb1bcf57e9fcaa95447fc3b9dfd7d0068e6106cca (diff)
parent096cc029451f4d48a79361ec206b6a7f3f58dd7c (diff)
Merge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"
-rw-r--r--compiler/optimizing/builder.cc20
-rw-r--r--test/Android.run-test.mk1
2 files changed, 21 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;
diff --git a/test/Android.run-test.mk b/test/Android.run-test.mk
index 9279ce38b5..682282532b 100644
--- a/test/Android.run-test.mk
+++ b/test/Android.run-test.mk
@@ -316,6 +316,7 @@ TEST_ART_BROKEN_OPTIMIZING_ARM64_RUN_TESTS := \
411-optimizing-arith \
412-new-array \
413-regalloc-regression \
+ 414-optimizing-arith-sub \
700-LoadArgRegs \
800-smali