aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/PowerPC/PPCInstrFormats.td22
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.td24
2 files changed, 19 insertions, 27 deletions
diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td
index a52bda249a..dfbbbe49e7 100644
--- a/lib/Target/PowerPC/PPCInstrFormats.td
+++ b/lib/Target/PowerPC/PPCInstrFormats.td
@@ -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;
diff --git a/lib/Target/PowerPC/PPCInstrInfo.td b/lib/Target/PowerPC/PPCInstrInfo.td
index cfcc2fcac7..fc4566836d 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/lib/Target/PowerPC/PPCInstrInfo.td
@@ -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,