The Thumb2 BXJ instruction (Branch and Exchange Jazelle) is not defined for v7M or v8A. It is defined for all other Thumb2-supporting architectures (v6T2, v7A and v7R).
Details
Diff Detail
Event Timeline
test/MC/ARM/thumb2-bxj.s | ||
---|---|---|
10 | this error message is misleading |
test/MC/ARM/thumb2-bxj.s | ||
---|---|---|
10 | There are many other instructions that give this error, for example "adds r0, #0x100" gives it when assembling for v6M, despite the fact that the instruction is also allowed by v7M. The set of missing features comes from TableGen'd code (near the end of AsmMatcherEmitter.cpp), which reports the missing feature set for the instruction which has the fewest missing features (or the last one found in case of ties). Maybe this could be improved to report multiple instructions that were rejected because of missing target features, but that is well outside the scope of this patch. |
test/MC/ARM/thumb2-bxj.s | ||
---|---|---|
10 | Good point. Can you create a low priority bug regarding this? Not necessarily critical, but a good FIXME case for newcomers. LGTM. Thanks! |
Thanks. I have committed this as r218445, and opened http://llvm.org/bugs/show_bug.cgi?id=21066 to cover improving the error messages.
this error message is misleading