diff options
author | Hal Finkel <hfinkel@anl.gov> | 2016-09-02 23:41:54 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2016-09-02 23:41:54 +0000 |
commit | 277736eee618be1426034c7dee01b7fbad15d7f7 (patch) | |
tree | e5cf5ebd4ccfdc8444af576a7db54230cf045de4 /llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp | |
parent | 66c6506aaca087f2c5813f50ebe3e6956c24b841 (diff) | |
download | llvm-277736eee618be1426034c7dee01b7fbad15d7f7.zip llvm-277736eee618be1426034c7dee01b7fbad15d7f7.tar.gz llvm-277736eee618be1426034c7dee01b7fbad15d7f7.tar.bz2 |
[PowerPC] Add support for the extended dcbf form and mnemonics
dcbf has an optional hint-like field, add support for the extended form and the
associated mnemonics (dcbfl and dcbflp).
Partially fixes PR24796.
llvm-svn: 280559
Diffstat (limited to 'llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp index 48b1837..c7a871d 100644 --- a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp +++ b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp @@ -874,6 +874,23 @@ void PPCAsmParser::ProcessInstruction(MCInst &Inst, Inst = TmpInst; break; } + case PPC::DCBFx: + case PPC::DCBFL: + case PPC::DCBFLP: { + int L = 0; + if (Opcode == PPC::DCBFL) + L = 1; + else if (Opcode == PPC::DCBFLP) + L = 3; + + MCInst TmpInst; + TmpInst.setOpcode(PPC::DCBF); + TmpInst.addOperand(MCOperand::createImm(L)); + TmpInst.addOperand(Inst.getOperand(0)); + TmpInst.addOperand(Inst.getOperand(1)); + Inst = TmpInst; + break; + } case PPC::LAx: { MCInst TmpInst; TmpInst.setOpcode(PPC::LA); |