|
From: <sv...@va...> - 2017-01-10 16:05:21
|
Author: sewardj
Date: Tue Jan 10 16:05:14 2017
New Revision: 3289
Log:
Fix assertion failure in decode_V8_instruction. Fixes #372794.
Modified:
trunk/priv/guest_arm_toIR.c
Modified: trunk/priv/guest_arm_toIR.c
==============================================================================
--- trunk/priv/guest_arm_toIR.c (original)
+++ trunk/priv/guest_arm_toIR.c Tue Jan 10 16:05:14 2017
@@ -13348,12 +13348,14 @@
}
else /*NOTREACHED*/vassert(0);
}
- // Paranoia ..
- vassert(szBlg2 <= 3);
- if (szBlg2 < 3) { vassert(tt2 == 16/*invalid*/); }
- else { vassert(tt2 <= 14); }
- if (isLoad) { vassert(dd == 16/*invalid*/); }
- else { vassert(dd <= 14); }
+ if (gate) {
+ // Paranoia ..
+ vassert(szBlg2 <= 3);
+ if (szBlg2 < 3) { vassert(tt2 == 16/*invalid*/); }
+ else { vassert(tt2 <= 14); }
+ if (isLoad) { vassert(dd == 16/*invalid*/); }
+ else { vassert(dd <= 14); }
+ }
// If we're still good even after all that, generate the IR.
if (gate) {
/* First, go unconditional. Staying in-line is too complex. */
|