// RUN: llvm-tblgen -gen-dag-isel -I %p/../../include %s 2>&1 | FileCheck %s

include "llvm/Target/Target.td"

// Minimal Target definition
def DemoInstrInfo : InstrInfo;
def Demo : Target {
  let InstructionSet = DemoInstrInfo;
}

// Some registers which can hold ints or floats
foreach i = 0-7 in
  def "R" # i: Register<"r" # i>;
def GPR : RegisterClass<"Demo", [i32, f32], 32, (sequence "R%u", 0, 7)>;

// Instruction to convert an int to a float
def i2f : Instruction {
  let Size = 2;
  let OutOperandList = (outs GPR:$dst);
  let InOperandList = (ins GPR:$src);
  let AsmString = "i2f $dst, $src";
}

// Some kind of special type-conversion node supported by this target
def specialconvert : SDNode<"TEST_TARGET_ISD::SPECIAL_CONVERT", SDTUnaryOp>;

// A PatFrags that matches either bitconvert or the special version
def anyconvert : PatFrags<(ops node:$src),
                          [(bitconvert node:$src),
                           (specialconvert node:$src)]>;

// And a rule that matches that PatFrag and turns it into i2f
def : Pat<(f32 (anyconvert (i32 GPR:$val))), (i2f GPR:$val)>;

// CHECK: SwitchOpcode{{.*}}ISD::BITCAST
// CHECK: MorphNodeTo1{{.*}}i2f
// CHECK: SwitchOpcode{{.*}}TEST_TARGET_ISD::SPECIAL_CONVERT
// CHECK: MorphNodeTo1{{.*}}i2f
