fix the put optimization. It is ok to have F-types in the CC_*
registers, dont assert, just use the slow path.



git-svn-id: svn://svn.valgrind.org/vex/trunk@2464 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/host_s390_isel.c b/priv/host_s390_isel.c
index aacf4b4..6d01971 100644
--- a/priv/host_s390_isel.c
+++ b/priv/host_s390_isel.c
@@ -2297,10 +2297,11 @@
          goto not_special;
       }
 
-      /* OK. Necessary conditions are satisfied. */
+      /* We can only handle Ity_I64, but the CC_DEPS field can have floats */
+      if (tyd != Ity_I64)
+         goto not_special;
 
-      /* Get the old value and update it */
-      vassert(tyd == Ity_I64);
+      /* OK. Necessary conditions are satisfied. */
 
       old_value = env->old_value[guest_reg];
       new_value = stmt->Ist.Put.data->Iex.Const.con->Ico.U64;