| // RUN: llvm-tblgen -gen-dag-isel -instrument-coverage -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_EmitNode2None, TARGET_VAL(::INSTR) | 
 | // CHECK-NEXT: Results = #2 #3 | 
 | // CHECK-NEXT: OPC_Coverage, COVERAGE_IDX_VAL(0), | 
 | // CHECK-NEXT: 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))]; | 
 | } | 
 |  | 
 |  | 
 | // CHECK: getPatternForIndex(unsigned Index) | 
 | // CHECK: static const char *PATTERN_MATCH_TABLE[] | 
 | // CHECK: return StringRef(PATTERN_MATCH_TABLE[Index]); | 
 |  | 
 | // CHECK: getIncludePathForIndex(unsigned Index) | 
 | // CHECK: static const char *INCLUDE_PATH_TABLE[] | 
 | // CHECK: return StringRef(INCLUDE_PATH_TABLE[Index]); |