diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-05-27 22:08:38 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-05-27 22:08:38 +0000 |
commit | 3d3ee87d4e20204e3ebb69f5ad1a58c32b87c017 (patch) | |
tree | 561f2a4123d032993a9153d898e6beaf6b149fa7 /llvm/lib | |
parent | 9738f64bd9e996b50b996a66ee6a0f0d9b0082d0 (diff) | |
download | bcm5719-llvm-3d3ee87d4e20204e3ebb69f5ad1a58c32b87c017.tar.gz bcm5719-llvm-3d3ee87d4e20204e3ebb69f5ad1a58c32b87c017.zip |
llvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error.
llvm-svn: 104891
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp index 093f599a2b9..fc73938002d 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp @@ -1064,27 +1064,11 @@ bool ARMAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum, printOperand(MI, OpNum, O); return false; case 'Q': - // Print the least significant half of a register pair. - if (TM.getTargetData()->isBigEndian()) - break; - printOperand(MI, OpNum, O); - return false; case 'R': - // Print the most significant half of a register pair. - if (TM.getTargetData()->isLittleEndian()) - break; - printOperand(MI, OpNum, O); - return false; case 'H': - break; - } - // Print the second half of a register pair (for 'Q', 'R' or 'H'). - // Verify that this operand has two consecutive registers. - if (!MI->getOperand(OpNum).isReg() || - OpNum+1 == MI->getNumOperands() || - !MI->getOperand(OpNum+1).isReg()) + llvm_unreachable("llvm does not support 'Q', 'R', and 'H' modifiers!"); return true; - ++OpNum; + } } printOperand(MI, OpNum, O); |