]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
fix the put optimization. It is ok to have F-types in the CC_*
authorChristian Borntraeger <borntraeger@de.ibm.com>
Wed, 8 Aug 2012 14:11:33 +0000 (14:11 +0000)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Wed, 8 Aug 2012 14:11:33 +0000 (14:11 +0000)
registers, dont assert, just use the slow path.

git-svn-id: svn://svn.valgrind.org/vex/trunk@2464

VEX/priv/host_s390_isel.c

index aacf4b453d8f07b302cd932acf362ab07ddd6599..6d019713ba8ee4c2723ab1778127414b1bf3b69f 100644 (file)
@@ -2297,10 +2297,11 @@ s390_isel_stmt(ISelEnv *env, IRStmt *stmt)
          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;