forked from OSchip/llvm-project
				
			Add XLForm_1_ext template, patch by Nicolas Geoffray.
llvm-svn: 34573
This commit is contained in:
		
							parent
							
								
									249edb8b67
								
							
						
					
					
						commit
						b9bd34f54a
					
				| 
						 | 
					@ -349,21 +349,31 @@ class DSS_Form<bits<10> xo, dag OL, string asmstr,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 1.7.7 XL-Form
 | 
					// 1.7.7 XL-Form
 | 
				
			||||||
class XLForm_1<bits<6> opcode, bits<10> xo, dag OL, string asmstr,
 | 
					class XLForm_1<bits<6> opcode, bits<10> xo, dag OL, string asmstr,
 | 
				
			||||||
               InstrItinClass itin>
 | 
					               InstrItinClass itin, list<dag> pattern>
 | 
				
			||||||
    : I<opcode, OL, asmstr, itin> {
 | 
					    : I<opcode, OL, asmstr, itin> {
 | 
				
			||||||
  bits<3> CRD;
 | 
					  bits<5> CRD;
 | 
				
			||||||
  bits<2> CRDb;
 | 
					  bits<5> CRA;
 | 
				
			||||||
  bits<3> CRA;
 | 
					  bits<5> CRB;
 | 
				
			||||||
  bits<2> CRAb;
 | 
					 | 
				
			||||||
  bits<3> CRB;
 | 
					 | 
				
			||||||
  bits<2> CRBb;
 | 
					 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  let Inst{6-8}   = CRD;
 | 
					  let Pattern = pattern;
 | 
				
			||||||
  let Inst{9-10}  = CRDb;
 | 
					  
 | 
				
			||||||
  let Inst{11-13} = CRA;
 | 
					  let Inst{6-10}  = CRD;
 | 
				
			||||||
  let Inst{14-15} = CRAb;
 | 
					  let Inst{11-15} = CRA;
 | 
				
			||||||
  let Inst{16-18} = CRB;
 | 
					  let Inst{16-20} = CRB;
 | 
				
			||||||
  let Inst{19-20} = CRBb;
 | 
					  let Inst{21-30} = xo;
 | 
				
			||||||
 | 
					  let Inst{31}    = 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class XLForm_1_ext<bits<6> opcode, bits<10> xo, dag OL, string asmstr,
 | 
				
			||||||
 | 
					               InstrItinClass itin, list<dag> pattern>
 | 
				
			||||||
 | 
					    : I<opcode, OL, asmstr, itin> {
 | 
				
			||||||
 | 
					  bits<5> CRD;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  let Pattern = pattern;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  let Inst{6-10}  = CRD;
 | 
				
			||||||
 | 
					  let Inst{11-15} = CRD;
 | 
				
			||||||
 | 
					  let Inst{16-20} = CRD;
 | 
				
			||||||
  let Inst{21-30} = xo;
 | 
					  let Inst{21-30} = xo;
 | 
				
			||||||
  let Inst{31}    = 0;
 | 
					  let Inst{31}    = 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue