OSDN Git Service

[ARM] Fix incorrect mask bits in MSR encoding for write_register intrinsic
authorJohn Brawn <john.brawn@arm.com>
Fri, 10 Feb 2017 17:41:08 +0000 (17:41 +0000)
committerJohn Brawn <john.brawn@arm.com>
Fri, 10 Feb 2017 17:41:08 +0000 (17:41 +0000)
commitb0221e3835d836665ff719b5853b9f41ed36260f
tree55154d51e85f99dbcb665a1a3ee6632431afa852
parent4bf44e4313da42a37d0ddc245727c1b547c0c696
[ARM] Fix incorrect mask bits in MSR encoding for write_register intrinsic

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294762 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelDAGToDAG.cpp
test/CodeGen/ARM/msr-it-block.ll
test/CodeGen/ARM/special-reg-mcore.ll
test/CodeGen/ARM/special-reg-v8m-main.ll