Merge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"
diff --git a/compiler/optimizing/builder.cc b/compiler/optimizing/builder.cc
index f48f4c3..79cbd0e 100644
--- a/compiler/optimizing/builder.cc
+++ b/compiler/optimizing/builder.cc
@@ -783,6 +783,16 @@
       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 @@
       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 9279ce3..6822825 100644
--- a/test/Android.run-test.mk
+++ b/test/Android.run-test.mk
@@ -316,6 +316,7 @@
   411-optimizing-arith \
   412-new-array \
   413-regalloc-regression \
+  414-optimizing-arith-sub \
   700-LoadArgRegs \
   800-smali