Fix JIT encoding of conditional branches
authorNate Begeman <natebegeman@mac.com>
Fri, 26 Aug 2005 04:11:42 +0000 (04:11 +0000)
committerNate Begeman <natebegeman@mac.com>
Fri, 26 Aug 2005 04:11:42 +0000 (04:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23076 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCInstrFormats.td
lib/Target/PowerPC/PPCInstrInfo.td

index a52bda249adc0607a4d4146b5f5ce9dc420b493d..dfbbbe49e77e3391f7be75a3a57ff7482602b120 100644 (file)
@@ -66,28 +66,20 @@ class IForm<bits<6> opcode, bit aa, bit lk, dag OL, string asmstr>
 }
 
 // 1.7.2 B-Form
-class BForm<bits<6> opcode, bit aa, bit lk, dag OL, string asmstr>
-         : I<opcode, OL, asmstr> {
-  bits<5>  BO;
-  bits<3>  CRNum;
-  bits<2>  BICode;
+class BForm<bits<6> opcode, bit aa, bit lk, bits<5> bo, bits<2> bicode, dag OL, 
+            string asmstr>
+  : I<opcode, OL, asmstr> {
+  bits<3>  CR;
   bits<14> BD;
 
-  let Inst{6-10}  = BO;
-  let Inst{11-13} = CRNum;
-  let Inst{14-15} = BICode;
+  let Inst{6-10}  = bo;
+  let Inst{11-13} = CR;
+  let Inst{14-15} = bicode;
   let Inst{16-29} = BD;
   let Inst{30}    = aa;
   let Inst{31}    = lk;
 }
 
-class BForm_ext<bits<6> opcode, bit aa, bit lk, bits<5> bo, bits<2> bicode, 
-                dag OL, string asmstr>
-  : BForm<opcode, aa, lk, OL, asmstr> {
-  let BO = bo;
-  let BICode = bicode;
-}
-
 // 1.7.4 D-Form
 class DForm_base<bits<6> opcode, dag OL, string asmstr> : I<opcode, OL, asmstr>{
   bits<5>  A;
index cfcc2fcac71e2cc7b04f06424019968b8038d7b9..fc4566836ddd2af4d60a79eaced9d199510ca23b 100644 (file)
@@ -80,18 +80,18 @@ let isBranch = 1, isTerminator = 1 in {
 
   // FIXME: 4*CR# needs to be added to the BI field!
   // This will only work for CR0 as it stands now
-  def BLT : BForm_ext<16, 0, 0, 12, 0, (ops CRRC:$crS, target:$block),
-                      "blt $block">;
-  def BLE : BForm_ext<16, 0, 0, 4,  1, (ops CRRC:$crS, target:$block),
-                      "ble $block">;
-  def BEQ : BForm_ext<16, 0, 0, 12, 2, (ops CRRC:$crS, target:$block),
-                      "beq $block">;
-  def BGE : BForm_ext<16, 0, 0, 4,  0, (ops CRRC:$crS, target:$block),
-                      "bge $block">;
-  def BGT : BForm_ext<16, 0, 0, 12, 1, (ops CRRC:$crS, target:$block),
-                      "bgt $block">;
-  def BNE : BForm_ext<16, 0, 0, 4,  2, (ops CRRC:$crS, target:$block),
-                      "bne $block">;
+  def BLT : BForm<16, 0, 0, 12, 0, (ops CRRC:$crS, target:$block),
+                  "blt $block">;
+  def BLE : BForm<16, 0, 0, 4,  1, (ops CRRC:$crS, target:$block),
+                  "ble $block">;
+  def BEQ : BForm<16, 0, 0, 12, 2, (ops CRRC:$crS, target:$block),
+                  "beq $block">;
+  def BGE : BForm<16, 0, 0, 4,  0, (ops CRRC:$crS, target:$block),
+                  "bge $block">;
+  def BGT : BForm<16, 0, 0, 12, 1, (ops CRRC:$crS, target:$block),
+                  "bgt $block">;
+  def BNE : BForm<16, 0, 0, 4,  2, (ops CRRC:$crS, target:$block),
+                  "bne $block">;
 }
 
 let isCall = 1,