https://bugs.kde.org/show_bug.cgi?id=404406

--- Comment #5 from Julian Seward <jsew...@acm.org> ---
(In reply to Andreas Arnez from comment #4)
> (In reply to Ilya Leoshkevich from comment #3)

Andreas, Ilya, thanks for the fixes.

regarding this:

--- a/VEX/priv/host_s390_isel.c
+++ b/VEX/priv/host_s390_isel.c
@@ -1018,6 +1018,7 @@ s390_isel_int128_expr_wrk(HReg *dst_hi, HReg *dst_lo,
ISelEnv *env,
          goto do_multiply64;

       case Iop_MullS64:
+         vassert(env->hwcaps & VEX_HWCAPS_S390X_MI2);
          is_signed_multiply = True;
          goto do_multiply64;

Hmm, sorry. I should have been more precise.  Two changes instead of the above
assertion:

(1) At the end of s390_isel_int128_expr_wrk(), add a label "irreducible:" and
two
lines following it.  Copy them from the same at the end of
s390_isel_int_expr_wrk.

(2) Where your diff above has an assert, remove it and instead add
if (!(env->hwcaps & VEX_HWCAPS_S390X_MI2))) goto irreducible;

That's generally how the instruction selectors deal with trees that they can't
reduce.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to