Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [ARM] Fix incorrect mask bits in MSR encoding for write_register intrinsic | John Brawn | 2017-02-10 | 1 | -4/+4 |
| | | | | | | | | | | | 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. Differential Revision: https://reviews.llvm.org/D29828 llvm-svn: 294762 | ||||
* | [ARM] MSR instructions implicitly set CPSR | Oliver Stannard | 2016-06-08 | 1 | -0/+55 |
The MSR instructions can write to the CPSR, but we did not model this fact, so we could emit them in the middle of IT blocks, changing the condition flags for later instructions in the block. The tests use two calls to llvm.write_register.i32 because it is valid to use these instructions at the end of an IT block, which if conversion does do in some cases. With two calls, the first clobbers the flags, so a branch has to be used to make the second one conditional. Differential Revision: http://reviews.llvm.org/D21139 llvm-svn: 272154 |