diff --git a/runtime/vm/flow_graph_compiler_arm.cc b/runtime/vm/flow_graph_compiler_arm.cc
index c6993f1..03aae79 100644
--- a/runtime/vm/flow_graph_compiler_arm.cc
+++ b/runtime/vm/flow_graph_compiler_arm.cc
@@ -1689,11 +1689,19 @@
     Exchange(source.base_reg(), source.ToStackSlotOffset(),
              destination.base_reg(), destination.ToStackSlotOffset());
   } else if (source.IsFpuRegister() && destination.IsFpuRegister()) {
-    const DRegister dst = EvenDRegisterOf(destination.fpu_reg());
-    DRegister src = EvenDRegisterOf(source.fpu_reg());
-    __ vmovd(DTMP, src);
-    __ vmovd(src, dst);
-    __ vmovd(dst, DTMP);
+    if (TargetCPUFeatures::neon_supported()) {
+      const QRegister dst = destination.fpu_reg();
+      const QRegister src = source.fpu_reg();
+      __ vmovq(QTMP, src);
+      __ vmovq(src, dst);
+      __ vmovq(dst, QTMP);
+    } else {
+      const DRegister dst = EvenDRegisterOf(destination.fpu_reg());
+      const DRegister src = EvenDRegisterOf(source.fpu_reg());
+      __ vmovd(DTMP, src);
+      __ vmovd(src, dst);
+      __ vmovd(dst, DTMP);
+    }
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
     ASSERT(destination.IsDoubleStackSlot() ||
            destination.IsQuadStackSlot() ||
diff --git a/runtime/vm/flow_graph_compiler_arm64.cc b/runtime/vm/flow_graph_compiler_arm64.cc
index efe6b32..1ade094 100644
--- a/runtime/vm/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/flow_graph_compiler_arm64.cc
@@ -1670,9 +1670,9 @@
   } else if (source.IsFpuRegister() && destination.IsFpuRegister()) {
     const VRegister dst = destination.fpu_reg();
     const VRegister src = source.fpu_reg();
-    __ fmovdd(VTMP, src);
-    __ fmovdd(src, dst);
-    __ fmovdd(dst, VTMP);
+    __ vmov(VTMP, src);
+    __ vmov(src, dst);
+    __ vmov(dst, VTMP);
   } else if (source.IsFpuRegister() || destination.IsFpuRegister()) {
     ASSERT(destination.IsDoubleStackSlot() ||
            destination.IsQuadStackSlot() ||
@@ -1696,7 +1696,7 @@
     } else {
       __ LoadQFromOffset(VTMP, base_reg, slot_offset, PP);
       __ StoreQToOffset(reg, base_reg, slot_offset, PP);
-      __ fmovdd(reg, VTMP);
+      __ vmov(reg, VTMP);
     }
   } else if (source.IsDoubleStackSlot() && destination.IsDoubleStackSlot()) {
     const intptr_t source_offset = source.ToStackSlotOffset();
diff --git a/tools/VERSION b/tools/VERSION
index 2b04169..b02fbca 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -26,6 +26,6 @@
 CHANNEL stable
 MAJOR 1
 MINOR 8
-PATCH 3
+PATCH 4
 PRERELEASE 0
 PRERELEASE_PATCH 0
