1 //===- Sparc.td - Target Description for Sparc V9 Target --------*- C++ -*-===//
3 //===----------------------------------------------------------------------===//
5 //===----------------------------------------------------------------------===//
8 class F2 : InstV9 { // Format 2 instructions
11 set Inst{24-22} = op2;
14 // Format 2.1 instructions
15 class F2_1<string name> : F2 {
24 class F2_br : F2 { // Format 2 Branch instruction
25 set isBranch = 1; // All instances are branch instructions
28 class F2_2<bits<4> cond, string name> : F2_br { // Format 2.2 instructions
34 set Inst{28-25} = cond;
35 set Inst{21-0} = disp;
38 class F2_3<bits<4> cond, string name> : F2_br { // Format 2.3 instructions
46 set Inst{28-25} = cond;
48 set Inst{19} = 1; // predict;
49 set Inst{18-0} = disp;
52 class F2_4<bits<3> rcond, string name> : F2_br { // Format 2.4 instructions
61 set Inst{27-25} = rcond;
62 set Inst{21-20} = disp{15-14};
63 set Inst{19} = 1; // predict;
64 set Inst{18-14} = rs1;
65 set Inst{13-0 } = disp{13-0};