llvm/llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td

// RUN: llvm-tblgen -gen-global-isel -I %p/../../include -I %p/Common %s | FileCheck %s

include "llvm/Target/Target.td"
include "GlobalISelEmitterCommon.td"

// CHECK:      constexpr static uint8_t MatchTable0[] = {
// CHECK-NEXT:   GIM_Try,
// CHECK-NEXT:     GIM_CheckOpcode{{.*}}GIMT_Encode2(TargetOpcode::G_ANYEXT),
// CHECK-NEXT:     GIM_RootCheckType{{.*}}/*Type*/GILLT_s32,
// CHECK-NEXT:     GIM_RootCheckType{{.*}}/*Type*/GILLT_s8,
// CHECK-NEXT:     GIM_RootCheckRegBankForClass{{.*}}/*RC*/GIMT_Encode2(MyTarget::GPR32RegClassID),
// CHECK-NEXT:     // (anyext:{{.*}}=>{{.*}}(SELECT_I4:
// CHECK:          GIR_EraseRootFromParent_Done,
// CHECK-NEXT:   // Label 0:
// CHECK-NEXT:   GIM_Reject,
// CHECK-NEXT:   };

def SELECT_I4 : I<(outs GPR32:$dst), (ins GPR8:$cond, GPR32:$T, GPR32:$F), []>;
def LI : I<(outs GPR32:$dst), (ins i32imm:$src), []>;

def : Pat<(i32 (anyext i8:$in)), (SELECT_I4 $in, (LI 1), (LI 0))>;