]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix bogus register constraints for ARM mode LDREX and STREX.
authorJulian Seward <jseward@acm.org>
Mon, 11 Oct 2010 18:03:13 +0000 (18:03 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 11 Oct 2010 18:03:13 +0000 (18:03 +0000)
Derived from a patch by Rodrigo Belem <rodrigo.belem@openbossa.org>
Partially fixes #253636.

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

VEX/priv/guest_arm_toIR.c

index 64a059d686d93ea0e7dba39a25f5b40fa3709ae9..4e1d740d51ec09e788dc3dd1ce47a0b16381c63a 100644 (file)
@@ -13287,7 +13287,7 @@ DisResult disInstr_ARM_WRK (
    if (0x01900F9F == (insn & 0x0FF00FFF)) {
       UInt rT = INSN(15,12);
       UInt rN = INSN(19,16);
-      if (rT == 15 || rN == 15 || rT == 14 /* || (rT & 1)*/) {
+      if (rT == 15 || rN == 15) {
          /* undecodable; fall through */
       } else {
          IRTemp res;
@@ -13313,8 +13313,7 @@ DisResult disInstr_ARM_WRK (
       UInt rN = INSN(19,16);
       UInt rD = INSN(15,12);
       if (rT == 15 || rN == 15 || rD == 15
-          || rT == 14 /* || (rT & 1)*/
-          || rD == rT || rN == rT) {
+          || rD == rT || rD == rN) {
          /* undecodable; fall through */
       } else {
          IRTemp resSC1, resSC32;