OK, this does wonders for broken stuff
[oota-llvm.git] / lib / Target / Alpha / AlphaInstrFormats.td
index 1bebd78ee0ec8be82fb505eef980cea66989567e..cf7df80085c3a0531b3fe562fc5e445810b76c73 100644 (file)
@@ -102,6 +102,7 @@ class BForm<bits<6> opcode, string asmstr>
   let Inst{25-21} = Ra;
   let Inst{20-0} = disp;
 }
+let isBranch = 1, isTerminator = 1 in
 class BFormD<bits<6> opcode, string asmstr> 
     : InstAlpha<opcode, (ops s21imm:$DISP), asmstr> {
   bits<5> Ra = 31;
@@ -155,23 +156,7 @@ class OForm2<bits<6> opcode, bits<7> fun, string asmstr, list<dag> pattern>
   let Inst{4-0} = Rc;
 }
 
-class OForm4<bits<6> opcode, bits<7> fun, string asmstr> 
-        : InstAlpha<opcode, (ops GPRC:$RDEST, GPRC:$RSRC2, GPRC:$RSRC, GPRC:$RCOND), asmstr> {
-  bits<5> Rc;
-  bits<5> Rb;
-  bits<5> Ra;
-  bits<7> Function = fun;
-
-  let isTwoAddress = 1;
-  let Inst{25-21} = Ra;
-  let Inst{20-16} = Rb;
-  let Inst{15-13} = 0;
-  let Inst{12} = 0;
-  let Inst{11-5} = Function;
-  let Inst{4-0} = Rc;
-}
-
-class OForm4A<bits<6> opcode, bits<7> fun, string asmstr, list<dag> pattern> 
+class OForm4<bits<6> opcode, bits<7> fun, string asmstr, list<dag> pattern> 
         : InstAlphaAlt<opcode, asmstr> {
   let Pattern = pattern;