@@ -120,8 +120,10 @@ class VXForm_VRTAB5<bits<11> xo, dag OOL, dag IOL, string asmstr,
120120  let Inst{21...31} = xo;
121121}
122122
123- class XX3Form_XTAB6<bits<8> xo, dag OOL, dag IOL, string asmstr,
124-                     list<dag> pattern> : I<60, OOL, IOL, asmstr, NoItinerary> {
123+ class XX3Form_XTAB6<bits<6> opcode, bits<8> xo, dag OOL, dag IOL, string asmstr,
124+                     list<dag> pattern>
125+     : I<opcode, OOL, IOL, asmstr, NoItinerary> {
126+ 
125127  bits<6> XT;
126128  bits<6> XA;
127129  bits<6> XB;
@@ -137,7 +139,6 @@ class XX3Form_XTAB6<bits<8> xo, dag OOL, dag IOL, string asmstr,
137139  let Inst{31} = XT{5};
138140}
139141
140- 
141142//-------------------------- Instruction definitions -------------------------//
142143
143144// Predicate combinations available:
@@ -217,24 +218,24 @@ let Predicates = [HasVSX, IsISAFuture] in {
217218                      "vucmprlh $VRT, $VRA, $VRB", []>;
218219
219220  // VSX Vector Integer Arithmetic Instructions
220-   def XVADDUWM : XX3Form_XTAB6<131, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
221+   def XVADDUWM : XX3Form_XTAB6<60,  131, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
221222                               "xvadduwm $XT, $XA, $XB", []>;
222-   def XVADDUHM : XX3Form_XTAB6<139, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
223+   def XVADDUHM : XX3Form_XTAB6<60,  139, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
223224                               "xvadduhm $XT, $XA, $XB", []>;
224-   def XVSUBUWM: XX3Form_XTAB6<147, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
225+   def XVSUBUWM: XX3Form_XTAB6<60,  147, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
225226                              "xvsubuwm $XT, $XA, $XB", []>;
226-   def XVSUBUHM: XX3Form_XTAB6<155, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
227+   def XVSUBUHM: XX3Form_XTAB6<60,  155, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
227228                              "xvsubuhm $XT, $XA, $XB", []>;
228-   def XVMULUWM: XX3Form_XTAB6<163, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
229+   def XVMULUWM: XX3Form_XTAB6<60,  163, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
229230                              "xvmuluwm $XT, $XA, $XB", []>;
230-   def XVMULUHM: XX3Form_XTAB6<171, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
231+   def XVMULUHM: XX3Form_XTAB6<60,  171, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
231232                              "xvmuluhm $XT, $XA, $XB", []>;
232-   def XVMULHSW: XX3Form_XTAB6<179, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
233+   def XVMULHSW: XX3Form_XTAB6<60,  179, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
233234                              "xvmulhsw $XT, $XA, $XB", []>;
234-   def XVMULHSH: XX3Form_XTAB6<187, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
235+   def XVMULHSH: XX3Form_XTAB6<60,  187, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
235236                              "xvmulhsh $XT, $XA, $XB", []>;
236-   def XVMULHUW: XX3Form_XTAB6<114, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
237+   def XVMULHUW: XX3Form_XTAB6<60,  114, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
237238                              "xvmulhuw $XT, $XA, $XB", []>;
238-   def XVMULHUH: XX3Form_XTAB6<122, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
239+   def XVMULHUH: XX3Form_XTAB6<60,  122, (outs vsrc:$XT), (ins vsrc:$XA, vsrc:$XB),
239240                              "xvmulhuh $XT, $XA, $XB", []>;
240241}
0 commit comments