Allow early-writeback for the cases
   stp d, d, [sp,#-imm]!
   stp s, s, [sp,#-imm]!
as well as for the existing case
   stp q, q, [sp,#-imm]!



git-svn-id: svn://svn.valgrind.org/vex/trunk@2854 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/guest_arm64_toIR.c b/priv/guest_arm64_toIR.c
index a8e077c..55ca7e2 100644
--- a/priv/guest_arm64_toIR.c
+++ b/priv/guest_arm64_toIR.c
@@ -3702,8 +3702,10 @@
          }
 
          /* Normally rN would be updated after the transfer.  However, in
-            the special case typifed by
+            the special cases typifed by
                stp q0, q1, [sp,#-512]!
+               stp d0, d1, [sp,#-512]!
+               stp s0, s1, [sp,#-512]!
             it is necessary to update SP before the transfer, (1)
             because Memcheck will otherwise complain about a write
             below the stack pointer, and (2) because the segfault
@@ -3713,7 +3715,7 @@
             address to the next page.
          */
          Bool earlyWBack
-           = wBack && simm7 < 0 && szB == 16
+           = wBack && simm7 < 0
              && INSN(24,23) == BITS2(1,1) && nn == 31 && !isLD;
 
          if (wBack && earlyWBack)