]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Un-break arm64 isel following 22bae4b1544fc5d82f131ef8fde4cea7666112c2
authorJulian Seward <jseward@acm.org>
Tue, 13 Jul 2021 10:52:10 +0000 (12:52 +0200)
committerJulian Seward <jseward@acm.org>
Tue, 13 Jul 2021 10:52:10 +0000 (12:52 +0200)
22bae4b1544fc5d82f131ef8fde4cea7666112c2 introduced an iropt-level rewrite rule

  64to16( 32Uto64 ( x )) --> 32to16(x)

that creates Iop_32to16 nodes.  The arm64 isel apparently has never seen these
before and so asserts.  This is a 1-liner fix.

VEX/priv/host_arm64_isel.c

index 26b27f1f7c23359c21df3d8c5699075173972cce..4b1d8c8469e047609a079bdd469f8a2fb9260f3c 100644 (file)
@@ -2188,6 +2188,7 @@ static HReg iselIntExpr_R_wrk ( ISelEnv* env, IRExpr* e )
          case Iop_64to32:
          case Iop_64to16:
          case Iop_64to8:
+         case Iop_32to16:
             /* These are no-ops. */
             return iselIntExpr_R(env, e->Iex.Unop.arg);