Skip to content
Snippets Groups Projects
Commit 130888ad authored by Chris Lattner's avatar Chris Lattner
Browse files

Fix a few more tests by encoding the extsb and other XForm11 instructions

correctly.

llvm-svn: 18200
parent 022e271d
No related branches found
No related tags found
No related merge requests found
...@@ -214,6 +214,23 @@ class XForm_base_r3xo<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, ...@@ -214,6 +214,23 @@ class XForm_base_r3xo<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
let Inst{31} = rc; let Inst{31} = rc;
} }
// This is the same as XForm_base_r3xo, but the first two operands are swapped
// when code is emitted.
class XForm_base_r3xo_swapped
<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr>
: I<opcode, ppc64, vmx, OL, asmstr> {
bits<5> A;
bits<5> RST;
bits<5> B;
let Inst{6-10} = RST;
let Inst{11-15} = A;
let Inst{16-20} = B;
let Inst{21-30} = xo;
let Inst{31} = rc;
}
class XForm_1<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx, class XForm_1<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr> dag OL, string asmstr>
...@@ -228,17 +245,7 @@ class XForm_5<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx, ...@@ -228,17 +245,7 @@ class XForm_5<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
class XForm_6<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, class XForm_6<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr> dag OL, string asmstr>
: I<opcode, ppc64, vmx, OL, asmstr> { : XForm_base_r3xo_swapped<opcode, xo, rc, ppc64, vmx, OL, asmstr>;
bits<5> A;
bits<5> RST;
bits<5> B;
let Inst{6-10} = RST;
let Inst{11-15} = A;
let Inst{16-20} = B;
let Inst{21-30} = xo;
let Inst{31} = rc;
}
class XForm_8<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx, class XForm_8<bits<6> opcode, bits<10> xo, bit ppc64, bit vmx,
dag OL, string asmstr> dag OL, string asmstr>
...@@ -251,7 +258,7 @@ class XForm_10<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, ...@@ -251,7 +258,7 @@ class XForm_10<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
class XForm_11<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx, class XForm_11<bits<6> opcode, bits<10> xo, bit rc, bit ppc64, bit vmx,
dag OL, string asmstr> dag OL, string asmstr>
: XForm_base_r3xo<opcode, xo, rc, ppc64, vmx, OL, asmstr> { : XForm_base_r3xo_swapped<opcode, xo, rc, ppc64, vmx, OL, asmstr> {
let B = 0; let B = 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment