diff options
| author | Kevin Enderby <enderby@apple.com> | 2012-06-15 22:14:44 +0000 |
|---|---|---|
| committer | Kevin Enderby <enderby@apple.com> | 2012-06-15 22:14:44 +0000 |
| commit | 6c7279ec2e96d302c4fcf9d298be8cedb259ac45 (patch) | |
| tree | a533f6d04b5171ec0673c2a465f3fe001a5acd8b /llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp | |
| parent | be30245442a2a631a4f12607c22e2cb236722407 (diff) | |
| download | bcm5719-llvm-6c7279ec2e96d302c4fcf9d298be8cedb259ac45.tar.gz bcm5719-llvm-6c7279ec2e96d302c4fcf9d298be8cedb259ac45.zip | |
Fix the encoding of the armv7m (MClass) for MSR registers other than aspr,
iaspr, espr and xpsr which also needed to have 0b10 in their mask encoding bits.
llvm-svn: 158560
Diffstat (limited to 'llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp b/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp index 70e4317cef6..f0c7453cd08 100644 --- a/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp +++ b/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp @@ -671,16 +671,26 @@ void ARMInstPrinter::printMSRMaskOperand(const MCInst *MI, unsigned OpNum, case 0x803: O << "xpsr"; return; // with _nzcvq bits is an alias for xpsr case 0x403: O << "xpsr_g"; return; case 0xc03: O << "xpsr_nzcvqg"; return; - case 5: O << "ipsr"; return; - case 6: O << "epsr"; return; - case 7: O << "iepsr"; return; - case 8: O << "msp"; return; - case 9: O << "psp"; return; - case 16: O << "primask"; return; - case 17: O << "basepri"; return; - case 18: O << "basepri_max"; return; - case 19: O << "faultmask"; return; - case 20: O << "control"; return; + case 5: + case 0x805: O << "ipsr"; return; + case 6: + case 0x806: O << "epsr"; return; + case 7: + case 0x807: O << "iepsr"; return; + case 8: + case 0x808: O << "msp"; return; + case 9: + case 0x809: O << "psp"; return; + case 0x10: + case 0x810: O << "primask"; return; + case 0x11: + case 0x811: O << "basepri"; return; + case 0x12: + case 0x812: O << "basepri_max"; return; + case 0x13: + case 0x813: O << "faultmask"; return; + case 0x14: + case 0x814: O << "control"; return; } } |

