summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/PowerPC/PowerPCInstrFormats.td')
-rw-r--r--llvm/lib/Target/PowerPC/PowerPCInstrFormats.td13
1 files changed, 5 insertions, 8 deletions
diff --git a/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td b/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td
index dfbbbe49e77..aaeb1eb01cd 100644
--- a/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td
+++ b/llvm/lib/Target/PowerPC/PowerPCInstrFormats.td
@@ -424,12 +424,15 @@ class XSForm_1<bits<6> opcode, bits<9> xo, dag OL, string asmstr>
}
// 1.7.11 XO-Form
-class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr>
+class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr,
+ list<dag> pattern>
: I<opcode, OL, asmstr> {
bits<5> RT;
bits<5> RA;
bits<5> RB;
+ let Pattern = pattern;
+
bit RC = 0; // set by isDOT
let Inst{6-10} = RT;
@@ -440,15 +443,9 @@ class XOForm_1<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr>
let Inst{31} = RC;
}
-class XOForm_1r<bits<6> opcode, bits<9> xo, bit oe, dag OL, string asmstr>
- : XOForm_1<opcode, xo, oe, OL, asmstr> {
- let Inst{11-15} = RB;
- let Inst{16-20} = RA;
-}
-
class XOForm_3<bits<6> opcode, bits<9> xo, bit oe,
dag OL, string asmstr>
- : XOForm_1<opcode, xo, oe, OL, asmstr> {
+ : XOForm_1<opcode, xo, oe, OL, asmstr, []> {
let RB = 0;
}
OpenPOWER on IntegriCloud