[llvm] [ARM] Verify that disassembled instruction is correct (PR #157360)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 21 14:00:29 PDT 2025


s-barannikov wrote:

Sorry to hear that.
`tBcc` has three operands, a branch target and a (two-operand) predicate.
My guess is the predicate is added twice: first by the generated decoding function, and then by `AddThumbPredicate`. This function has a special case for `tBcc` that should avoid adding the predicate the second time
```
      if (ITBlock.instrInITBlock())
        S = SoftFail;
      else
        return Success;
```
but it looks like it can still add it if the branch is in an IT block. Is that the case?

Are you disassembling a third-party binary or a just built one? If it is the latter, a source assembly snippet would be very helpful.

https://github.com/llvm/llvm-project/pull/157360


More information about the llvm-commits mailing list