Fix a small bug (typo?) in the fixup for Thumb1 CBZ/CBNZ instructions.
authorOwen Anderson <resistor@mac.com>
Tue, 14 Dec 2010 19:42:53 +0000 (19:42 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 14 Dec 2010 19:42:53 +0000 (19:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121784 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMAsmBackend.cpp

index 63f6e14394cb68d208d18d49cbd5f6bdfccd1434..096d340a626a6cb1bac52146401b7e4643e69511 100644 (file)
@@ -238,7 +238,7 @@ static unsigned adjustFixupValue(unsigned Kind, uint64_t Value) {
   case ARM::fixup_arm_thumb_cb: {
     // Offset by 4 and don't encode the lower bit, which is always 0.
     uint32_t Binary = (Value - 4) >> 1;
-    return ((Binary & 0x20) << 9) | ((Binary & 0x1f) << 3);
+    return ((Binary & 0x20) << 4) | ((Binary & 0x1f) << 3);
   }
   case ARM::fixup_arm_thumb_br:
     // Offset by 4 and don't encode the lower bit, which is always 0.