23 lines
		
	
	
		
			664 B
		
	
	
	
		
			TableGen
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			664 B
		
	
	
	
		
			TableGen
		
	
	
	
// RUN: llvm-tblgen -gen-dag-isel -I %p/../../include %s | FileCheck %s
 | 
						|
 | 
						|
include "llvm/Target/Target.td"
 | 
						|
 | 
						|
def TestTargetInstrInfo : InstrInfo;
 | 
						|
 | 
						|
def TestTarget : Target {
 | 
						|
  let InstructionSet = TestTargetInstrInfo;
 | 
						|
}
 | 
						|
 | 
						|
def REG : Register<"REG">;
 | 
						|
def GPR : RegisterClass<"TestTarget", [i32], 32, (add REG)>;
 | 
						|
 | 
						|
// CHECK-LABEL: OPC_CheckOpcode, TARGET_VAL(ISD::UDIVREM)
 | 
						|
// CHECK: OPC_EmitNode2, TARGET_VAL(::INSTR)
 | 
						|
// CHECK: Results = #2 #3
 | 
						|
// CHECK: OPC_CompleteMatch, 2, 3, 2
 | 
						|
def INSTR : Instruction {
 | 
						|
  let OutOperandList = (outs GPR:$r1, GPR:$r0);
 | 
						|
  let InOperandList = (ins GPR:$t0, GPR:$t1);
 | 
						|
  let Pattern = [(set i32:$r0, i32:$r1, (udivrem i32:$t0, i32:$t1))];
 | 
						|
}
 |