In the encoding of system registers in the M-class MSR instruction the mask bits should be 2 for registers that don't take a _<bits> qualifier (the instruction is unpredictable otherwise), and should also be 2 if the register takes a _<bits> qualifier but it's not present as no _<bits> is an alias for _nzcvq.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
test/CodeGen/ARM/special-reg-mcore.ll | ||
---|---|---|
27 ↗ | (On Diff #88001) | If you're looking for the encoding bytes, you should use --show-encoding on llvm-mc instead of objdump. |
test/CodeGen/ARM/special-reg-mcore.ll | ||
---|---|---|
27 ↗ | (On Diff #88001) | Using llvm-mc means going through assembly, and the bug disappears if you do that (the asm parser gets the encoding of these registers right). It looks like llc has a --show-mc-encoding option though so I'll use that. |